Necesitas una API para obtener datos de publicaciones de Instagram—específicamente, para ingresar una URL pública de publicación y devolver los medios, dimensiones e identificadores que puedes enviar a tu aplicación esta semana. Al final de esta guía, podrás obtener datos de publicaciones/publicaciones de Instagram desde una URL, extraer datos de cuenta por nombre de usuario y obtener métricas de reels por shortcode utilizando la API de Datos de Instagram en Zyla API Hub, con ejemplos de curl y Python que puedes copiar y pegar.
Lo que esta API te ofrece y cuándo usarla
La API de Datos de Instagram expone tres endpoints de lectura enfocados:
- Obtener Datos de Publicación: proporciona una URL pública de publicación de Instagram y recibe los datos de publicación/publicación, incluidos los URLs de los medios, dimensiones e identificadores.
- Obtener Datos de Cuenta: proporciona un nombre de usuario y recibe los datos de la cuenta de Instagram, incluida la biografía y los enlaces de la biografía.
- Obtener Datos de Reel: proporciona un shortcode de publicación/reel y recibe métricas de compromiso público como likes, comentarios y conteo de vistas de video.
Los usos típicos incluyen pipelines de ingestión de contenido, desenrollado de enlaces, generación de vistas previas de medios, paneles de análisis y colas de moderación. Envías la URL o shortcode exacto que ya tienes; la API devuelve los campos estructurados para potenciar tu UI o flujo de trabajo.
La API está disponible en Zyla API Hub, un mercado con más de 10,000 APIs públicas, unificadas bajo una cuenta, una clave API y un modelo de suscripción + cuota (no pago por llamada). Para esta API, la primera suscripción ofrece una prueba de 7 días; consulta la lista para conocer las opciones de acceso y precios actuales.
Comenzando en Zyla API Hub
- Abre la lista de la API de Datos de Instagram: Iniciar prueba de 7 días en la API de Datos de Instagram.
- Haz clic en Suscribirse (o Iniciar Prueba Gratuita cuando esté disponible) y obtén tu clave API.
- Usa la clave en el encabezado de Autorización como: Authorization: Bearer YOUR_API_KEY.
Todas las solicitudes en este artículo apuntan a las URL de endpoint de Zyla Hub. No se requieren hosts de origen, SDKs o parámetros de autenticación adicionales; solo envía solicitudes GET HTTPS con tu token de portador y los parámetros de consulta documentados.
Endpoint: Obtener Datos de Publicación (por URL)
Recupera datos de publicación/publicación de Instagram pasando la URL pública de la publicación. Útil cuando tu sistema almacena o recibe un enlace (por ejemplo, de una presentación de usuario) y necesitas identificadores, URLs de medios y dimensiones para renderizar o procesar a continuación.
- Método: GET
- URL: https://zylalabs.com/api/855/instagram-data-api/630/get-post-data
- Parámetro de consulta requerido:
- link (string): una URL pública de publicación de Instagram, por ejemplo https://www.instagram.com/p/BsOGulcndj- (debe estar codificada en URL en la cadena de consulta)
ejemplo de curl (copiar-pegar)
curl -s -X GET "https://zylalabs.com/api/855/instagram-data-api/630/get-post-data?link=https%3A%2F%2Fwww.instagram.com%2Fp%2FBsOGulcndj-" \
-H "Authorization: Bearer YOUR_API_KEY"
Respuesta de muestra oficial
{
"status": true,
"__typename": "GraphImage",
"id": "1949525278281554174",
"shortcode": "BsOGulcndj-",
"dimensions": {
"height": 584,
"width": 584
},
"gating_info": null,
"fact_check_overall_rating": null,
"fact_check_information": null,
"sensitivity_friction_info": null,
"sharing_friction_info": {
"should_have_sharing_friction": false,
"bloks_app_url": null
},
"media_overlay_info": null,
"media_preview": null,
"display_url": "https://instagram.fbcn2-1.fna.fbcdn.net/v/t51.82787-15/625727639_18338153224242257_3827527793310630488_n.jpg?stp=dst-jpg_e15_tt6&_nc_ht=instagram.fbcn2-1.fna.fbcdn.net&_nc_cat=105&_nc_oc=Q6cZ2gHBlHY2RHKNTgCNzMelAyz56Toi4DI7VUNsrK7XJAsoGT6ka4w7PVJ6IEqS7PD9Ulw&_nc_ohc=jwkKyc7eqGAQ7kNvwHmuCEW&_nc_gid=BiA9YpCodvi1HtqMj6W-Vg&edm=AOmX9WgBAAAA&ccb=7-5&ig_cache_key=MTk0OTUyNTI3ODI4MTU1NDE3NA%3D%3D.3-ccb7-5&oh=00_AQONRzWv-s9IPALJK9qeJ5FVyMcHbwpYaGsJhb7fdlV1nA&oe=6ACE9A40&_nc_sid=bfaa47",
"display_resources": [
{
"src": "https://instagram.fbcn2-1.fna.fbcdn.net/v/t51.82787-15/625727639_18338153224242257_3827527793310630488_n.jpg?stp=dst-jpg_e35_s360x360_sh2.08_tt6&_nc_cat=104&_nc_map=urlgen_bucketless&ig_cache_key=MTk0OTUyNTI3ODI4MTU1NDE3NA%3D%3D.3-ccb7-5&ccb=7-5&_nc_sid=58cdad&efg=eyJ2ZW5jb2RlX3RhZyI6IkZFRUQueHBpZHMuNTg0LnNkci5yZWd1bGFyX3Bob3RvLkMzIn0%3D&_nc_ohc=53XaOqCZWBYQ7kNvwFfkQTV&_nc_oc=AdprbrBLkElSfmNNOrQHEYQuCIz8F8lIlYN7TENXKNGCcZVnybmvx0uXH6fzElyfwak&_nc_ad=z-m&_nc_cid=0&_nc_zt=23&_nc_ht=instagram.fbcn2-1.fna&_nc_gid=BiA9YpCodvi1HtqMj6W-Vg&_nc_ss=7a3ba&oh=00_AQNBRrpvxf3JGSktIaicSqaD4UtCuDo9I8feI6acpRs9Eg&oe=6ACE9A40",
"config_width": 360,
"config_height": 360
},
{
"src": "https://instagram.fbcn2-1.fna.fbcdn.net/v/t51.82787-15/625727639_18338153224242257_3827527793310630488_n.jpg?stp=dst-jpg_e35_tt6&_nc_cat=104&_nc_map=urlgen_bucketless&ig_cache_key=MTk0OTUyNTI3ODI4MTU1NDE3NA%3D%3D.3-ccb7-5&ccb=7-5&_nc_sid=58cdad&efg=eyJ2ZW5jb2RlX3RhZyI6IkZFRUQueHBpZHMuNTg0LnNkci5yZWd1bGFyX3Bob3RvLkMzIn0%3D&_nc_ohc=53XaOqCZWBYQ7kNvwFfkQTV&_nc_oc=AdprbrBLkElSfmNNOrQHEYQuCIz8F8lIlYN7TENXKNGCcZVnybmvx0uXH6fzElyfwak&_nc_ad=z-m&_nc_cid=0&_nc_zt=23&_nc_ht=instagram.fbcn2-1.fna&_nc_gid=BiA9YpCodvi1HtqMj6W-Vg&_nc_ss=7a3ba&oh=00_AQMhFQizLfIe4bAcskLHhT2nCDcjFGyldOq2Cp7IMLuVxg&oe=6ACE9A40",
"config_width": 584,
"config_height": 584
}
],
"accessibility_caption…
Campos clave que normalmente usarás:
- id y shortcode: identificadores estables para deduplicación e indexación.
- __typename: tipo de publicación (por ejemplo, GraphImage).
- dimensions.height y dimensions.width: planificación de renderizado y tamaño responsivo.
- display_url: URL de medios directa para vistas previas o procesamiento.
- display_resources: tamaños alternativos; elige el más cercano a tu viewport objetivo.
ejemplo de Python
Este ejemplo llama a Obtener Datos de Publicación con la URL exacta y lee identificadores, dimensiones y URL de medios. Nota: el parámetro de enlace debe estar codificado en URL. El código a continuación utiliza la misma URL codificada que el ejemplo de curl.
import requests
API_URL = "https://zylalabs.com/api/855/instagram-data-api/630/get-post-data"
LINK_PARAM = "https%3A%2F%2Fwww.instagram.com%2Fp%2FBsOGulcndj-"
HEADERS = {"Authorization": "Bearer YOUR_API_KEY"}
resp = requests.get(f"{API_URL}?link={LINK_PARAM}", headers=HEADERS, timeout=30)
resp.raise_for_status()
data = resp.json()
# Extraer campos comúnmente usados en aplicaciones
post_id = data.get("id")
shortcode = data.get("shortcode")
typename = data.get("__typename")
dims = data.get("dimensions") or {}
height = dims.get("height")
width = dims.get("width")
display_url = data.get("display_url")
print({
"id": post_id,
"shortcode": shortcode,
"type": typename,
"height": height,
"width": width,
"display_url": display_url
})
Notas de implementación que ahorran tiempo
- Codificación de URL: codifica el parámetro de enlace al construir la consulta. Si estás construyendo URLs dinámicamente, prefiere los codificadores de URL integrados para evitar la doble codificación.
- Cacheo: almacena el id de publicación y el shortcode junto con el display_url para evitar volver a obtener la misma publicación repetidamente en vistas de lista.
- Variantes de medios: elige un tamaño de display_resources cercano a tus dimensiones objetivo para reducir el redimensionamiento del lado del cliente.
- Manejo de errores: si una publicación se vuelve no disponible o privada, anticipa nulos o campos faltantes en tu pipeline de renderizado.
Endpoint: Obtener Datos de Cuenta (por nombre de usuario)
Obtén datos de cuenta de Instagram usando un nombre de usuario. Útil para tarjetas de perfil, vistas previas de enlaces y verificaciones de incorporación.
- Método: GET
- URL: https://zylalabs.com/api/855/instagram-data-api/631/get-account-data
- Parámetro de consulta requerido:
- username (string): el nombre de usuario de Instagram, por ejemplo, leomessi
ejemplo de curl
Respuesta de muestra oficial (truncada)
Campos a considerar en la UI:
- biografía: mostrar en el encabezado del perfil o en la tarjeta de información.
- bio_links: renderizar una lista verificada de enlaces externos; preferir url para navegación directa.
Endpoint: Obtener Datos de Reel (por shortcode)
Recupera métricas para una publicación o reel público de Instagram usando su shortcode. Ideal para paneles de análisis, listas de clasificación y monitoreo de KPI.
- Método: GET
- URL: https://zylalabs.com/api/855/instagram-data-api/32007/get-reel-data
- Parámetro de consulta requerido:
- shortcode (string): por ejemplo, DctYV2qt6S5
ejemplo de curl
Respuesta de muestra oficial
Notas prácticas:
- Usa video_view_count y play_count para impulsar visualizaciones de compromiso; si están presentes juntos, mantén ambos para paridad con tus conjuntos de datos históricos.
- code es el mismo valor que pasaste como shortcode; almacénalo junto a tu clave de contenido para evitar resolverlo nuevamente más tarde.
Diseñando tu integración
Flujo mínimo de ingestión para URLs de publicaciones
- Recibe una URL pública de Instagram de un usuario o feed.
- Llama a Obtener Datos de Publicación con el enlace codificado en URL.
- Persiste id, shortcode, dimensiones y display_url en tu base de datos.
- Renderiza desde display_resources donde esté disponible para coincidir con tu diseño.
Resolviendo shortcodes desconocidos
Si solo tienes una URL y necesitas el shortcode para análisis posteriores (por ejemplo, para llamar a Obtener Datos de Reel), primero llama a Obtener Datos de Publicación. La respuesta contiene el shortcode; guárdalo para que puedas obtener métricas usando Obtener Datos de Reel cuando sea necesario.
Reintentos y tiempos de espera
- Tiempos de espera del cliente: establece un tiempo de espera conservador (por ejemplo, 30s como se muestra) y reintenta GETs idempotentes una vez si tu aplicación tolera latencia.
- Retroceso: implementa retroceso exponencial para problemas de red transitorios.
Seguridad y preparación para producción
- Autorización: siempre envía Authorization: Bearer YOUR_API_KEY a través de HTTPS.
- Gestión de claves: mantén tu clave en un gestor de secretos o variable de entorno. No la envíes al cliente.
- Cuota: la API utiliza un modelo de suscripción + cuota (no pago por llamada). Monitorea el uso en tu panel de Zyla y almacena en caché los resultados populares para reducir llamadas repetidas.
Llamando a esta API desde un agente de IA (MCP)
Puedes llamar a estos mismos endpoints de Hub desde agentes de IA a través del endpoint del Protocolo de Contexto de Modelo de Zyla. Esto funciona con clientes compatibles con MCP como Claude Code, Cursor y Windsurf.
- Endpoint del servidor MCP: https://mcp.zylalabs.com/mcp?apikey=YOUR_API_KEY
- Dentro de tu agente, configura el servidor MCP y autorízalo con la misma clave API.
- Desde las herramientas del agente, emite solicitudes GET a las URL de Hub mostradas en este artículo con los parámetros de consulta requeridos y el encabezado de Autorización.
Para más información sobre el uso de MCP, consulta: MCP.
Casos de uso en el mundo real
- Cola de moderación: cuando un usuario envía un enlace de Instagram, llama a Obtener Datos de Publicación para obtener medios y dimensiones para una UI de revisor sin capturas de pantalla manuales.
- Desenrollado de enlaces: en chat o comentarios, detecta URLs de Instagram y enriquece la vista previa con display_url y dimensiones para miniaturas nítidas.
- Paneles de creadores: almacena el shortcode por reel y actualiza periódicamente Obtener Datos de Reel para actualizar los tiles de like_count, comment_count y video_view_count.
- Incorporación de perfiles: al conectar la cuenta, llama a Obtener Datos de Cuenta por nombre de usuario para hidratar una tarjeta de perfil con biografía y bio_links.
Lista de verificación de solución de problemas
- 401 No autorizado: verifica el encabezado de Autorización exactamente como Authorization: Bearer YOUR_API_KEY.
- Campos vacíos o parciales: asegúrate de que el enlace o shortcode sea válido y público; el contenido privado o eliminado no devolverá datos completos.
- Parámetro de consulta incorrecto: confirma que usaste link para Obtener Datos de Publicación, username para Obtener Datos de Cuenta y shortcode para Obtener Datos de Reel, con la codificación de URL adecuada donde sea aplicable.
- Comportamiento de sobrecuota: esta API utiliza suscripción + cuota; verifica tu panel y la lista de API para la asignación y opciones actuales.
Fragmento de extremo a extremo: enlace dentro, vista previa fuera
Combina el flujo de enlace a publicación en un helper que puedas insertar en una ruta de backend. Esto utiliza el mismo endpoint y parámetros demostrados anteriormente.
import os
import urllib.parse
import requests
API_KEY = os.getenv("ZYLA_API_KEY")
BASE_URL = "https://zylalabs.com/api/855/instagram-data-api/630/get-post-data"
def fetch_instagram_post(link: str):
params = {"link": urllib.parse.quote(link, safe="")}
url = f'{BASE_URL}?link={params["link"]}'
headers = {"Authorization": f"Bearer {API_KEY}"}
r = requests.get(url, headers=headers, timeout=30)
r.raise_for_status()
data = r.json()
return {
"id": data.get("id"),
"shortcode": data.get("shortcode"),
"type": data.get("__typename"),
"width": (data.get("dimensions") or {}).get("width"),
"height": (data.get("dimensions") or {}).get("height"),
"display_url": data.get("display_url"),
}
# Ejemplo de uso:
# preview = fetch_instagram_post("https://www.instagram.com/p/BsOGulcndj-")
# print(preview)
FAQ
¿Qué autenticación se requiere?
Envía Authorization: Bearer YOUR_API_KEY con cada solicitud.
¿Necesito derivar un shortcode de la URL?
No. Para Obtener Datos de Publicación, pasa la URL completa de la publicación en link. Si más tarde necesitas métricas que usen un shortcode, lee el shortcode de la respuesta de Obtener Datos de Publicación y pásalo a Obtener Datos de Reel.
¿Hay un plan gratuito?
No hay plan gratuito. La API utiliza un modelo de suscripción + cuota. La lista ofrece una prueba de 7 días; consulta la página de la API para conocer las opciones de acceso y precios actuales.
¿Qué campos debo almacenar en caché?
Almacena en caché id, shortcode, dimensiones y display_url para publicaciones; para reels, almacena shortcode con like_count, comment_count y video_view_count si estás construyendo análisis o listas de tendencias.
¿Puedo llamar a la API desde herramientas de codificación de IA?
Sí. Usa el endpoint MCP con tu clave API, y haz que el agente emita las mismas solicitudes GET a las URL de Hub descritas aquí.
¿Listo para enviar? Crea tu cuenta, obtén una clave API y comienza tu prueba de 7 días en la API de Datos de Instagram aquí: Iniciar prueba de 7 días en la API de Datos de Instagram. Explora más APIs en cualquier momento en Zyla API Hub.