jsonscraper

Гайд по IG

Як парсити IG за допомогою Python

Оновлено 5 березня 2026 р. 3 хв читання 15 переглядів

У цьому посібнику показано перший робочий процес обробки даних IG з використанням карти кінцевих точок jsonscraper із реальними зразками відповідей і практичними виборами архітектури.

Для виробничих робочих навантажень ключовою перевагою є глибина кінцевої точки та підтримка cache_timeout на важливих маршрутах, що допомагає зменшити повторювані виклики та спалювання квоти.

Що ви отримаєте

Швидкий старт у Postman

Почніть з офіційної IG-колекції, один раз вкажіть license_key і запустіть запити за кілька кліків до написання коду.

Крок 1

Вилка

Використовуйте колекцію IG або TikTok Postman як базову лінію робочого простору.

Крок 2

Встановити ключ

Configure license_key once in an environment variable.

Крок 3

Автоматизувати

Експортуйте фрагменти або запускайте робочі процеси AI-agent поверх готових запитів.

Усі API-запити

Повна карта endpoint-ів із колекції. Розкрийте клас і натисніть маршрут, щоб переглянути параметри та приклади відповідей.

Користувач Медіа Історія Хайлайт Локація Хештег Пошук Пошук FB Аудіо (Музика) Веб API (GraphQL)
User (30 endpoints)
Media (18 endpoints)
Story (6 endpoints)
Highlight (3 endpoints)
Location (6 endpoints)
Hashtag (8 endpoints)
Search (11 endpoints)
FB Search (2 endpoints)
Audio (Music) (2 endpoints)
Web API (GraphQL) (11 endpoints)
Переглянути повний список кінцевих точок у Postman

Приклади Python з колекції

Ці приклади використовують ту саму модель авторизації, що й у Postman: license_key у query-параметрах.

Example 1: get user by username (GET /v1/user/by/username)

import requests

BASE_URL = "https://ig.jsonscraper.com"
LICENSE_KEY = "YOUR_LICENSE_KEY"

params = {
    "license_key": LICENSE_KEY,
    "username": "apple",
    "cache_timeout": 0,
}

r = requests.get(f"{BASE_URL}/v1/user/by/username", params=params, timeout=30)
r.raise_for_status()
data = r.json()

print(data["status"], data["ig"]["username"], data["ig"]["pk"])
{
  "status": "ok",
  "limits_info": {"requests_count": 7098, "requests_limit": 2000300},
  "rate_limit_reached": false,
  "ig": {"pk": 5821462185, "username": "apple", "full_name": "apple"}
}

Example 2: get user stories by username (GET /v1/user/stories/by/username)

import requests

BASE_URL = "https://ig.jsonscraper.com"
LICENSE_KEY = "YOUR_LICENSE_KEY"

params = {
    "license_key": LICENSE_KEY,
    "username": "applemusic",
    "cache_timeout": 0,
}

r = requests.get(f"{BASE_URL}/v1/user/stories/by/username", params=params, timeout=30)
r.raise_for_status()
data = r.json()

stories = data.get("ig", [])
print("stories:", len(stories))

Шаблон Python-запитів (license key + пагінація)

Використовуйте спільний helper для запитів, щоб підпис і пагінація були стабільними для всіх endpoint-ів.

import requests

BASE_URL = "https://ig.jsonscraper.com"
LICENSE_KEY = "YOUR_LICENSE_KEY"

def call(endpoint: str, **params):
    q = {"license_key": LICENSE_KEY, "cache_timeout": 0, **params}
    res = requests.get(f"{BASE_URL}{endpoint}", params=q, timeout=30)
    res.raise_for_status()
    return res.json()

page1 = call("/v1/user/medias/chunk", user_id="5821462185")
next_max_id = page1.get("next_max_id")
if next_max_id:
    page2 = call("/v1/user/medias/chunk", user_id="5821462185", max_id=next_max_id)

Практичні нотатки

  • Завжди передавайте license_key у кожному запиті.
  • Явно задавайте cache_timeout для повторних перевірок.
  • Зберігайте поля курсорів разом із контекстом запиту.
  • Розширюйте покриття маршрутів по класах після перевірки базового потоку.

Готові запустити робочий процес API?

Оберіть API, протестуйте endpoint'и в Postman і запустіть workflow за хвилини.