Necesitas obtener programáticamente las URL de las historias o reels de Instagram para su procesamiento posterior—renderizar vistas previas, moderar contenido o guardar activos en almacenamiento—y necesitas que funcione esta semana. Al final de esta guía, tendrás una llamada funcional a un endpoint de producción que toma una URL pública de una historia o reel de Instagram y devuelve la carga de medios, utilizando una clave API de Zyla API Hub.
Qué hace esta API y cuándo usarla
La API de descarga de historias de Instagram expone una capacidad enfocada: dada la URL de un reel o historia de Instagram, intenta resolver y devolver el medio subyacente. Esto es útil para:
- Construir programadores de redes sociales que necesiten obtener medios de origen antes de volver a publicar.
- Flujos de trabajo de moderación de contenido que extraen medios para verificaciones automatizadas.
- Servicios de respaldo y archivo que preservan enlaces de Instagram enviados por los usuarios.
- Pipelines de ingestión de datos que necesitan URLs de medios deterministas para su procesamiento.
Es parte de la categoría de Redes Sociales y Networking en Zyla API Hub, que ofrece más de 10,000 APIs listas para usar bajo una cuenta y una clave. La suscripción se basa en cuotas (no es pago por llamada). Para esta API, puedes comenzar con una prueba de 7 días o 50 solicitudes; consulta la página de la API para las opciones de acceso y precios actuales.
Comenzando en Zyla API Hub
Para obtener una clave API:
- Abre la lista del mercado para la API de descarga de historias de Instagram y comienza la prueba.
- Suscríbete para obtener tu clave API.
- Llama al endpoint con Authorization: Bearer YOUR_API_KEY.
Usa este enlace directo para comenzar: Comienza la prueba de 7 días en la API de descarga de historias de Instagram. También puedes explorar otras APIs de redes sociales en Zyla API Hub.
Endpoint: Obtener historias y reels
Esta API expone un único endpoint para recuperar medios de una URL de historia o reel de Instagram proporcionada.
- Método: GET
- URL: https://zylalabs.com/api/1435/instagram-stories-downloader-api/14849/get-stories-and-reels
- Parámetro de consulta requerido:
- url (string): La URL completa de Instagram de la historia o reel. Ejemplo: https://www.instagram.com/reel/DL74pQBRymc/
- Autenticación: encabezado HTTP Authorization: Bearer YOUR_API_KEY
Importante: Codifica la URL del parámetro cuando construyas la solicitud. El ejemplo a continuación ya incluye la codificación adecuada.
Ejemplo oficial de cURL
curl -s -X GET "https://zylalabs.com/api/1435/instagram-stories-downloader-api/14849/get-stories-and-reels?url=https%3A%2F%2Fwww.instagram.com%2Freel%2FDL74pQBRymc%2F" \
-H "Authorization: Bearer YOUR_API_KEY"
Ejemplo de respuesta oficial
{
"media": [],
"error": "¡Formato de enlace de Instagram inválido! Actualmente, solo soportamos imágenes, reels e IGTV."
}
Notas de campo:
- media: Un arreglo destinado a contener objetos de medios resueltos cuando la URL es válida y soportada.
- error: Un mensaje que describe qué salió mal cuando la resolución falla (por ejemplo, URL no soportada o mal formada).
Al integrar, trata el error como autoritativo. Si el error no está vacío o media está vacío, maneja la situación de manera adecuada (por ejemplo, solicita un enlace diferente, registra y reintenta más tarde, o muestra un mensaje de validación visible para el usuario).
Ejemplo funcional en Python
El fragmento a continuación llama al mismo endpoint, analiza el JSON y demuestra un manejo básico de errores. Reemplaza YOUR_API_KEY con tu clave real de tu suscripción a Zyla API Hub.
import requests
import urllib.parse
API_KEY = "YOUR_API_KEY"
endpoint = "https://zylalabs.com/api/1435/instagram-stories-downloader-api/14849/get-stories-and-reels"
# Siempre codifica la URL de Instagram para el parámetro de consulta `url`
ig_link = "https://www.instagram.com/reel/DL74pQBRymc/"
params = {
"url": urllib.parse.quote(ig_link, safe="")
}
# Construye la URL final con el parámetro codificado como espera la API
final_url = f"{endpoint}?url={params['url']}"
headers = {
"Authorization": f"Bearer {API_KEY}"
}
resp = requests.get(final_url, headers=headers, timeout=20)
resp.raise_for_status()
data = resp.json()
# Análisis mínimo: prefiere `error` si está presente, de lo contrario usa `media`
if data.get("error"):
print("La API reportó un error:", data["error"])
else:
media_items = data.get("media", [])
print(f"Resuelto {len(media_items)} elemento(s) de medios.")
# Ejemplo de iteración (la estructura de los elementos depende de la respuesta de la API)
for i, item in enumerate(media_items, 1):
# Usa el acceso al diccionario de manera defensiva ya que los campos no están documentados aquí
# por ejemplo, las claves posibles podrían incluir 'url', 'type', etc. (verifica respuestas en vivo)
print(f"Elemento {i}: {item}")
Notas para desarrolladores que ahorran tiempo
- Codificación de URL: Siempre codifica la URL de Instagram al enviarla como el parámetro de consulta url. El cURL anterior muestra la codificación correcta.
- Autenticación: Usa un único encabezado—Authorization: Bearer YOUR_API_KEY. No coloques tu clave en la cadena de consulta.
- Validación de entrada: Valida que los usuarios proporcionen URLs completas de Instagram que representen Reels o Historias. La respuesta de ejemplo demuestra el mensaje de error que podrías ver con enlaces no soportados o mal formados.
- Reintentos: Si recibes errores HTTP transitorios, retrocede y reintenta. En un campo de error consistente en el cuerpo JSON, muéstralo al usuario en lugar de reintentar.
- Cacheo: Si tu flujo de trabajo procesa enlaces populares repetidamente, almacena en caché las resoluciones de medios exitosas por la URL canónica de Instagram para reducir solicitudes duplicadas.
- Cuotas: El acceso es por suscripción + cuota (no es pago por llamada). Para esta API puedes comenzar con una prueba de 7 días o 50 solicitudes; verifica tus límites actuales en la página de listado antes de realizar pruebas de carga.
Casos de uso prácticos
1) Ingesta de contenido social
Permite a los usuarios pegar una URL de Reel; resuelve el medio; súbelo a tu almacenamiento; adjunta metadatos; encola para transformación (por ejemplo, transcodificación, recorte o generación de miniaturas). Maneja el camino de error mostrando un aviso claro cuando la URL no sea soportada.
2) Pipeline de moderación
Resuelve medios de un enlace de Reel o Historia, luego ejecútalo a través de tu pila de moderación. Con una entrada consistente (una única URL de Instagram), puedes estandarizar el procesamiento y registro en todos tus servicios.
3) Herramientas para creadores
Crea una función simple de “importar desde Instagram”, resolviendo Reels en una línea de tiempo de editor. Proporciona retroalimentación instantánea cuando la API marca formatos de enlace no soportados a través del campo de error.
4) Archivos y respaldos
Cuando los usuarios proporcionan enlaces como referencias, usa este endpoint para obtener medios y archivarlos con su procedencia. Almacena la URL original de Instagram y la marca de tiempo de resolución para auditoría.
Cómo llamarlo desde un agente de IA a través de MCP
Cada API en Zyla también se puede llamar a través del Protocolo de Contexto de Modelo (MCP), que funciona con herramientas compatibles con MCP. Dirige tu cliente a la puerta de enlace MCP en: https://mcp.zylalabs.com/mcp?apikey=YOUR_API_KEY
Dentro de tu cliente MCP, configura una herramienta que haga una solicitud GET a:
- https://zylalabs.com/api/1435/instagram-stories-downloader-api/14849/get-stories-and-reels
- Encabezados: Authorization: Bearer YOUR_API_KEY
- Parámetro de consulta: url (enlace de Instagram codificado en URL)
Una vez conectado, tu agente puede aceptar una URL de Reel/Historia como entrada y devolver el JSON analizado (medios o error) a tu sesión de codificación. Para material de referencia sobre el MCP en sí, consulta: MCP.
Lista de verificación de extremo a extremo
- Obtén una clave API suscribiéndote en la página de listado.
- Asegúrate de que la URL de Instagram esté codificada en URL cuando se pase como url.
- Envía Authorization: Bearer YOUR_API_KEY en cada solicitud.
- Verifica el JSON en busca de errores; si está presente, no asumas que los medios están disponibles.
- Registra la URL de entrada original y la respuesta de la API para depuración y auditorías.
- Almacena en caché las resoluciones exitosas indexadas por la URL canónica de Instagram.
FAQ
¿Qué tipos de contenido soporta el endpoint?
El mensaje de error indica soporte para imágenes, reels e IGTV. Si pasas un formato fuera de lo que la API soporta o un enlace inválido, espera un mensaje de error como el de la respuesta de ejemplo.
¿Cómo me autentico?
Incluye un encabezado HTTP: Authorization: Bearer YOUR_API_KEY. No incluyas claves en la cadena de consulta.
¿Necesito codificar en URL el enlace de Instagram?
Sí. El parámetro de consulta url debe contener un enlace de Instagram codificado en URL. El ejemplo oficial de cURL muestra la codificación correcta.
¿Qué debo hacer cuando la API devuelve un campo de error?
Trata el error como el resultado autoritativo para esa solicitud. Muestra un mensaje de validación al usuario, permite corrección, o registra y detén el procesamiento. Evita reintentar si el error indica un formato no soportado.
¿Hay un plan gratuito?
No hay plan gratuito. El acceso es por suscripción + cuota, con una opción de primer paso de una prueba de 7 días o 50 solicitudes. Consulta la página de la API para las opciones de acceso actuales.
¿Listo para implementar tu integración de Instagram Reel/Historia? Comienza tu prueba y obtén tu clave API aquí: API de descarga de historias de Instagram en Zyla API Hub. Una vez suscrito, puedes hacer tu primera solicitud en minutos e integrar la respuesta en tus flujos de trabajo sociales.