jsonscraper

Cómo scrapear IG con Python

Un tutorial orientado a la producción con mapa de puntos finales, estrategia de almacenamiento en caché y ejemplos de implementación.

Política editorial Informar de un error

Esta guía muestra un flujo de trabajo de datos IG de producción utilizando el mapa de puntos finales de jsonscraper, con ejemplos de respuestas reales y opciones de arquitectura prácticas.

Para cargas de trabajo de producción, el beneficio clave es la profundidad del punto final más la compatibilidad con cache_timeout en rutas importantes, lo que ayuda a reducir las llamadas duplicadas y el consumo de cuotas.

Qué vas a construir

  • Solicitudes IG firmadas en Python con auth de license_key.
  • Validación ruta por ruta desde la colección de Postman hasta el script de producción.
  • Paginación segura por cursor con control explícito de cache_timeout.

Inicio rápido en Postman

Empieza con la colección oficial de IG, configura license_key una vez y ejecuta solicitudes en pocos clics antes de escribir código.

Paso 1

Hacer fork

Usa la colección de Postman de IG o TikTok como base de tu workspace.

Paso 2

Configurar clave

Configura license_key una vez como variable de entorno.

Paso 3

Automatizar

Exporta snippets o ejecuta flujos con agentes de IA sobre solicitudes preparadas.

Todas las solicitudes API

Mapa completo de endpoints de la colección. Expande cada clase y haz clic en una ruta para ver parámetros y ejemplos de respuesta.

Usuario Medios Historia Destacado Ubicacion Hashtag Buscar Busqueda FB Audio (Musica) API web (GraphQL)
Usuario (30 puntos finales)
Medios (18 puntos finales)
Historia (6 puntos finales)
Destacado (3 puntos finales)
Ubicacion (6 puntos finales)
Hashtag (8 puntos finales)
Buscar (11 puntos finales)
Busqueda FB (2 puntos finales)
Audio (Musica) (2 puntos finales)
API web (GraphQL) (11 puntos finales)
Ver la lista completa de puntos finales en Postman

Ejemplos de Python de la colección

Estos ejemplos usan el mismo patrón de autenticación que Postman: license_key en parámetros de consulta.

Ejemplo 1: obtener usuario por 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"}
}

Ejemplo 2: obtener stories de usuario por 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))

Patrón de solicitudes Python (license key + paginación)

Usa un helper de solicitudes compartido para mantener firma y paginación consistentes en todos los 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)

Notas de implementación

  • Incluye siempre license_key en cada solicitud.
  • Usa cache_timeout de forma explícita para verificaciones recurrentes.
  • Guarda los campos de cursor junto con el contexto de la consulta.
  • Amplía la cobertura de rutas por clases después de validar la base.

¿Listo para lanzar tu flujo API?

Elige una API, prueba endpoints en Postman y lanza tu flujo en minutos.

People

No people listed for this article yet.

Keep readingCómo scrapear TikTok con Python
Read the next article

Convierte lo que lees en una integración funcional

Explora las API de datos sociales de jsonscraper, prueba solicitudes y crea tu próximo flujo de trabajo.

Explorar APIs