Instagram Info API

وب‌سرویس اینفو اینستاگرام — دو فلو: اینفو پیج و اینفو پست. سشنِ خودتان را می‌دهید، اینفو می‌گیرید.

احراز هویت — هر درخواست به /api/* نیاز به توکن دارد: هدر X-API-Key: igk_... یا پارامتر ?key=igk_.... توکن را ادمین با ADMIN_TOKEN می‌سازد.
🛠️ مدیریت سشن‌ها: صفحهٔ /panel — دیدنِ وضعیت هر سشن (سالم/خراب)، تستِ سلامت، و حذف سشن‌های خراب.

۱) اینفو پیج GET

GET /api/userinfo/{username}

اطلاعات کامل یک پروفایل با یوزرنیم (فالوور، فالووینگ، بیو، تعداد پست، وریفای، بیزینس، ...).

به‌صورت پیش‌فرض کلِ فلوِ واقعیِ بازکردنِ پروفایل زده می‌شود — یعنی همان ۷ درخواستِ ثابتی که اپِ اینستاگرام هنگام باز کردنِ یک پروفایل می‌فرستد (usernameinfo_stream + discover/chaining + friendships/show + quick_promotion + highlights_tray + timeline_grid + story). این کار سشن را زنده و طبیعی نگه می‌دارد. وضعیتِ این درخواست‌ها در فیلد flow برمی‌گردد.

curl -H "X-API-Key: igk_xxx" \
  https://YOUR_HOST/api/userinfo/instagram
پارامترتوضیح
usernameیوزرنیم هدف (با یا بدون @)
flow=falseفقط تک‌درخواستِ اینفو (بدون فلوِ زنده‌نگه‌داری)
raw=trueافزودن پاسخ خام اینستاگرام
{
  "ok": true,
  "via": "session-rashid61722",
  "user": {
    "pk": "8151863364",
    "username": "sh.homayni",
    "full_name": "Sh.homayni",
    "biography": "",
    "follower_count": 123,
    "following_count": 88,
    "media_count": 12,
    "is_private": false,
    "is_verified": false,
    "is_business": false,
    "profile_pic_url": "https://...",
    "external_url": null
  },
  "flow": {
    "discover_chaining": 200, "friendships_show": 200, "quick_promotion": 200,
    "highlights_tray": 200, "timeline_grid": 200, "user_story": 200
  }
}

۲) اینفو پست GET

GET /api/mediainfo?url={link}

اطلاعات یک پست/ریل با لینک، shortcode یا media_id عددی.

curl -H "X-API-Key: igk_xxx" \
  "https://YOUR_HOST/api/mediainfo?url=https://www.instagram.com/p/Dapa9ZdsCSF/"
پارامترتوضیح
urlلینک پست/ریل، یا shortcode خام، یا media_id عددی
raw=trueافزودن پاسخ خام اینستاگرام
{
  "ok": true,
  "via": "session-rashid61722",
  "media": {
    "media_id": "3938797917551207557",
    "shortcode": "Dapa9ZdsCSF",
    "type": "photo",
    "caption": "…",
    "like_count": 3,
    "comment_count": 0,
    "image_url": "https://...",
    "author": { "username": "…", "pk": "…" }
  }
}

وضعیت

GET /api/health — تعداد سشن‌های سالم (بدون توکن)

GET /api/sessions — وضعیت هر سشن (با توکن)

مدیریت توکن (ادمین)

curl -X POST -H "X-Admin-Token: ADMIN_SECRET" \
  "https://YOUR_HOST/admin/keys?name=client1"

GET /admin/keys لیست · DELETE /admin/keys/{token} ابطال

خطاها

کدمعنی
404 not_foundیوزرنیم/پست پیدا نشد
429 rate_limitedمحدودیت نرخِ اینستاگرام روی همه سشن‌ها
401توکن نامعتبر
503هیچ سشن سالمی موجود نیست

Instagram Info API · Python / FastAPI