jsonscraper

Guide d'ingénierie IG

Comment scraper IG avec Python

Mis à jour le 5 mars 2026 3 min de lecture 15 vues

Ce guide présente un flux de données IG de production utilisant la carte des points de terminaison jsonscraper, avec des exemples de réponses réels et des choix d'architecture pratiques.

Pour les charges de travail de production, le principal avantage est la profondeur des points de terminaison et la prise en charge de cache_timeout sur les routes importantes, ce qui permet de réduire les appels en double et la consommation de quotas.

Ce que vous allez construire

Démarrage rapide dans Postman

Commencez avec la collection IG officielle, définissez license_key une seule fois et exécutez des requêtes en quelques clics avant d’écrire du code.

Étape 1

Forker

Utilisez la collection Postman IG ou TikTok comme base de votre workspace.

Étape 2

Configurer la clé

Configure license_key once in an environment variable.

Étape 3

Automatiser

Exportez des snippets ou lancez des workflows d'agents IA à partir de requêtes prêtes.

Toutes les requêtes API

Carte complète des endpoints de la collection. Dépliez chaque classe et cliquez sur une route pour voir les paramètres et des exemples de réponse.

Utilisateur Medias Story En vedette Lieu Hashtag Rechercher Recherche FB Audio (Musique) API Web (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)
Afficher la liste complète des points de terminaison dans Postman

Exemples Python de la collection

Ces exemples utilisent le même modèle d’authentification que Postman : license_key dans les paramètres de requête.

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))

Modèle de requêtes Python (license key + pagination)

Utilisez un helper de requêtes commun pour garder une signature cohérente et une pagination persistante sur tous les endpoints.

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)

Notes d’implémentation

  • Incluez toujours license_key dans chaque requête.
  • Utilisez cache_timeout de manière explicite pour les vérifications récurrentes.
  • Conservez les champs de curseur avec le contexte de la requête.
  • Étendez la couverture des routes par classes après validation de la base.

Prêt à lancer votre workflow API ?

Choisissez une API, testez les endpoints dans Postman et lancez votre workflow en quelques minutes.