jsonscraper

IGエンジニアリングガイド

PythonでIGをスクレイピングする方法

2026 年 3 月 5 日更新 3分で読めます 15 回表示

このガイドでは、jsonscraper エンドポイント マップを使用した実稼働ファーストの IG データ ワークフローを、実際の応答サンプルと実用的なアーキテクチャの選択とともに示します。

実稼働ワークロードの主な利点は、エンドポイントの深さに加えて、重要なルートでのcache_timeoutのサポートであり、これにより重複呼び出しとクォータの消費が軽減されます。

構築するもの

Postmanですぐに開始

公式IGコレクションから開始し、license_keyを一度設定して、コーディング前に数クリックでリクエストを実行します。

ステップ1

フォーク

IG または TikTok Postman コレクションをワークスペースのベースラインとして使用します。

ステップ2

キーを設定する

Configure license_key once in an environment variable.

ステップ3

自動化する

スニペットをエクスポートするか、準備ができたリクエストに基づいて AI エージェント ワークフローを実行します。

すべてのAPIリクエスト

コレクションの完全なエンドポイントマップです。各クラスを展開し、ルートをクリックしてパラメータとレスポンス例を確認します。

ユーザー メディア ストーリー ハイライト 場所 ハッシュタグ 検索 FB検索 オーディオ(音楽) Web 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をクエリパラメータに指定します。

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 + ページネーション)

共通のリクエストヘルパーを使い、すべてのエンドポイントで署名とページネーションを一貫させます。

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 を選択し、Postman でエンドポイントをテストし、数分でワークフローを開始します。