Necesitas obtener programáticamente los detalles completos de una publicación de Instagram (título/capción, autor, conteos, URLs de medios) para una URL que ya tienes. Al final de esta guía, recuperarás esos campos desde un único endpoint, los analizarás en código y sabrás a dónde ir para reels e historias destacadas también, todo utilizando una clave de API en Zyla API Hub.
Lo que construirás con esta API
La API de Datos de Perfil y Medios de Instagram devuelve detalles estructurados para el contenido de Instagram que ya conoces por URL o ID. Puedes:
- Resolver una URL de publicación a su ID, información de autor, conteos de likes/comentarios y URLs de descarga de medios.
- Buscar un reel por URL y leer su autor, engagement y enlace de medios descargables.
- Expandir un destacado de Instagram (por ID de destacado) en sus historias individuales con URLs de medios.
Los desarrolladores utilizan esto para potenciar importaciones de CMS, vistas previas de backlinks, widgets de prueba social, espejos de feeds y flujos de archivo automatizados.
Comenzando en Zyla API Hub
Abre la lista de API en Zyla API Hub y comienza una prueba de 7 días (o utiliza la opción de 50 solicitudes cuando esté disponible) para obtener tu clave. La facturación es por suscripción + cuota, no por llamada, y no hay plan gratuito. Tu clave de API autoriza solicitudes a través de un encabezado de Autorización.
Comienza la prueba de 7 días en la API de Datos de Perfil y Medios de Instagram
Con una clave de Zyla API Hub, puedes llamar a miles de APIs en diferentes categorías. El mismo modelo de suscripción y clave se aplica en todo el mercado.
Endpoint que buscabas: Obtener Detalles de Publicación
Recupera información detallada sobre una publicación específica de Instagram utilizando su URL (o ID que ya tienes).
- Método: GET
- URL de solicitud: https://zylalabs.com/api/12390/instagram-profile-and-media-data-api/23420/get-post-details
- Parámetro de consulta requerido: idOrUrl (cadena)
Ejemplo: pasa la URL de la publicación.
curl -s -X GET "https://zylalabs.com/api/12390/instagram-profile-and-media-data-api/23416/get-profile-details?username=a92_mm"
-H "Authorization: Bearer YOUR_API_KEY"
Ejemplo de respuesta oficial
{
"data": {
"id": "8640409651",
"username": "a92_mm",
"fullName": "",
"avatarUrl": "https://scontent-sea5-1.cdninstagram.com/v/t51.2885-19/117330532_764310710994941_3178952573818498232_n.jpg?_nc_cat=105&ig_cache_key=GGRS-gb9R230IrcCALjsQ_iF6B0sbkULAAAB0j-ccb7-5&ccb=7-5&_nc_sid=669407&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLnd3dy42NTYuQzMifQ%3D%3D&_nc_ohc=UhqRB5XucjcQ7kNvwHzZrZa&_nc_oc=AdqQKMjA1CNJE2cZFGaOKLPAekcrEXjIih5fmtbyZIyBJ-ZZBqfAyZouTn139aCO8yM&_nc_zt=24&_nc_ht=scontent-sea5-1.cdninstagram.com&_nc_ss=7b62e&oh=00_AQSK1vbEqHI8iXnKTfwnP4mNcPHclgCyRAq7u5j4Lij_Pg&oe=6AE96358",
"biography": "",
"category": "",
"bioLinks": [],
"linkedFacebookInfo": null,
"followerCount": 5,
"followingCount": 34,
"isPrivateAccount": true,
"isVerified": false,
"totalPosts": 9
}
}
Notas sobre los campos para implementadores:
- data.id y data.code identifican la publicación; el código se mapea al path /p/{code}.
- data.title es la caption/título de la publicación. Almacénalo como UTF‑8.
- data.createdAt es un timestamp Unix (segundos). Convierte según sea necesario en tu manejo de zona horaria.
- data.author incluye el nombre de usuario canónico, estado de verificación y URL del avatar.
- data.statistics.likeCount y commentCount proporcionan métricas de engagement.
- data.mediaList contiene URLs de medios descargables que puedes obtener directamente. Respeta las políticas de caché y expiración de enlaces del host de destino; almacena el archivo resuelto en tu lado si necesitas activos estables.
Ejemplo en Python: obtener una publicación por URL y leer campos clave
import os
import requests
from datetime import datetime, timezone
API_KEY = os.getenv("ZYLA_API_KEY", "YOUR_API_KEY")
POST_URL = "https://www.instagram.com/p/DfALy1PTBSa/"
endpoint = "https://zylalabs.com/api/12390/instagram-profile-and-media-data-api/23420/get-post-details"
params = {"idOrUrl": POST_URL}
headers = {"Authorization": f"Bearer {API_KEY}"}
resp = requests.get(endpoint, params=params, headers=headers, timeout=20)
resp.raise_for_status()
data = resp.json().get("data", {})
post_id = data.get("id")
code = data.get("code")
title = data.get("title", "")
created_at = data.get("createdAt")
dt = datetime.fromtimestamp(created_at, tz=timezone.utc) if created_at else None
author = data.get("author", {})
username = author.get("username")
is_verified = author.get("isVerified")
stats = data.get("statistics", {})
likes = stats.get("likeCount")
comments = stats.get("commentCount")
media = data.get("mediaList", [])
first_download_url = media[0].get("downloadUrl") if media else None
print("Post:", post_id, code)
print("Author:", username, "(verified)" if is_verified else "")
print("Caption:", title)
print("Created at (UTC):", dt)
print("Engagement: likes =", likes, ", comments =", comments)
print("First media URL:", first_download_url)
Otros endpoints disponibles que puedes necesitar a continuación
Si tu integración se expande más allá de publicaciones estáticas, la misma API cubre reels e historias destacadas.
Obtener Detalles de Reel
- Método: GET
- URL de solicitud: https://zylalabs.com/api/12390/instagram-profile-and-media-data-api/23421/get-reel-details
- Parámetro de consulta requerido: idOrUrl (cadena), por ejemplo, una URL de reel
Esto devuelve el id del reel, código, bloque de autor, createdAt, título, estadísticas (conteos de likes/comentarios) y un downloadUrl. Maneja createdAt como una época Unix (segundos) y almacena author.username para atribución.
Obtener Detalles de Historia Destacada
- Método: GET
- URL de solicitud: https://zylalabs.com/api/12390/instagram-profile-and-media-data-api/23422/get-highlight-story-details
- Parámetro de consulta requerido: id (cadena), que es el ID del destacado
Utiliza esto cuando ya conozcas un ID de destacado y necesites todas las historias incluidas. Recibirás el título del destacado, totalStories y un array de historias con mediaType, createdAt, thumbnailUrl y downloadUrl por historia.
Ejemplo de listado oficial en el hub (detalles de perfil)
La API también expone una búsqueda de perfil. A continuación se muestra el ejemplo oficial de la lista de Zyla Hub para referencia.
Almacena instantáneas de followerCount/totalPosts si planeas seguir métricas a lo largo del tiempo. isPrivateAccount puede limitar lo que los endpoints de medios posteriores pueden devolver para ese usuario.
Notas de implementación práctica
- Autenticación: envía Authorization: Bearer YOUR_API_KEY en cada solicitud.
- Timestamps: los campos createdAt son segundos de época Unix. Convierte usando UTC, luego formatea en la zona horaria del usuario si es necesario.
- Descargas de medios: downloadUrl y thumbnailUrl apuntan a recursos de CDN. Estos enlaces pueden expirar; si necesitas longevidad, descarga y almacena activos en tu propio almacenamiento con validación de caché.
- Manejo de errores: trata los datos vacíos o campos faltantes como no fatales; el contenido social puede ser eliminado o restringido.
- Volumen de solicitudes: el hub utiliza suscripción + cuota (no pago por llamada). Las primeras opciones de acceso son una prueba de 7 días o 50 solicitudes cuando estén disponibles. Consulta la página de la API para las opciones de acceso y precios actuales.
Llama a estos endpoints desde agentes de IA a través de MCP
Si automatizas a través de herramientas de codificación de IA (Claude Code, Cursor, Windsurf o cualquier cliente compatible con MCP), puedes dirigir solicitudes a través del endpoint MCP de Zyla:
- Endpoint para agentes: https://mcp.zylalabs.com/mcp?apikey=YOUR_API_KEY
- Documento de herramientas: MCP
Expón una herramienta en tu agente que llame a las URLs del hub documentadas arriba, pasa el encabezado de Autorización y analiza las mismas estructuras JSON. Mantén la lógica de negocio (por ejemplo, elegir el primer elemento de mediaList) en el código de la herramienta de tu agente para minimizar los tokens del modelo.
Ejemplos de extremo a extremo que puedes enviar esta semana
- Auto-incrustar una publicación en un CMS: resolver idOrUrl a title, author.username, statistics.likeCount y mediaList[0].downloadUrl; almacenar en caché por 24 horas; revalidar al publicar.
- Instantánea de engagement semanal: obtener periódicamente publicaciones que te importan y registrar statistics.likeCount/commentCount y createdAt para gráficos de tendencias.
- Reels feature rail: get-reel-details por URL, mostrar author.profilePictureUrl, title y un botón de reproducción vinculado a downloadUrl.
- Galería de destacados: para un id de destacado conocido, listar stories[].thumbnailUrl en una cuadrícula; al hacer clic, transmitir stories[].downloadUrl.
Referencia: endpoints y parámetros reales
- Obtener Detalles de Publicación (GET): https://zylalabs.com/api/12390/instagram-profile-and-media-data-api/23420/get-post-details
- Parámetro requerido: idOrUrl (cadena), por ejemplo, https://www.instagram.com/p/DfALy1PTBSa/
- Obtener Detalles de Reel (GET): https://zylalabs.com/api/12390/instagram-profile-and-media-data-api/23421/get-reel-details
- Parámetro requerido: idOrUrl (cadena), por ejemplo, https://www.instagram.com/reel/DctYV2qt6S5/
- Obtener Detalles de Historia Destacada (GET): https://zylalabs.com/api/12390/instagram-profile-and-media-data-api/23422/get-highlight-story-details
- Parámetro requerido: id (cadena), por ejemplo, 17910014403011985
- Obtener Detalles de Perfil (GET, ejemplo de listado): https://zylalabs.com/api/12390/instagram-profile-and-media-data-api/23416/get-profile-details
- Parámetro requerido: username (cadena)
Explora más categorías en Zyla API Hub; el mercado lista más de 10,000 APIs públicas bajo una sola cuenta y clave.
FAQ
¿Cómo me autentico?
Envía un encabezado HTTP: Authorization: Bearer YOUR_API_KEY en cada solicitud.
¿Qué formato tiene createdAt?
Segundos de época Unix. Convierte a un datetime en UTC, luego formatea a tu zona horaria preferida.
¿Las URLs de medios expiran?
Pueden. Si necesitas activos estables, obtén downloadUrl y almacena el contenido en tu propio almacenamiento, respetando los términos de la fuente.
¿Hay un plan gratuito?
No hay plan gratuito. Puedes comenzar con una prueba de 7 días o 50 solicitudes cuando estén disponibles; consulta la página de la API para las opciones de acceso y precios actuales.
¿Puedo llamar a estos endpoints desde un agente de IA?
Sí. Utiliza la puerta de enlace MCP en https://mcp.zylalabs.com/mcp?apikey=YOUR_API_KEY y haz que el agente llame a las mismas URLs del hub con el encabezado de Autorización.
¿Listo para enviar? Toma tu clave y comienza a llamar a los endpoints desde la página de listado: Comienza la prueba de 7 días en la API de Datos de Perfil y Medios de Instagram.