API de Detalles de la publicación de Instagram

Lee publicaciones y Reels de Instagram a partir de su enlace: texto, media_type, like_count, view_count y seguidores del autor, por $0.56 por cada 1000 llamadas. Cada enlace cuenta como una llamada.

  • Hasta 11 filas por solicitud
  • Sin iniciar sesión en Instagram
  • Sin cargo por fallos ni resultados vacíos

Salud de la API

Salud 24 h
Normal
  • Saludable / normal
  • Disponible
  • Limitada
  • Casi sin servicio
Normal

Últimas 24 horas

Últimos 30 días

  1. 1Solicitud

    POST /api/v1/social
    {
      "platform": "instagram",
      "action": "post",
      "params": {
        "urls": [
          "https://www.instagram.com/p/<POST_SHORTCODE>/"
        ]
      }
    }
  2. 2Respuesta JSON

    {
      "results": [
        {
          "post_id": string,
          "text": string,
          "media_type": string,
          "like_count": number
        },
        …
      ]
    }
  3. 3Filas

    post_idtextmedia_typelike_count
    stringstringstringnumber
  4. 4CSV

    instagram-post-sample.csv post_id,url,text,media_type,like_count,comment_count,view_count,author_username,author_name,posted_at,location,id,image_url,video_url,author_id,width,height,is_comments_disabled,author_follower_count,hashtags,top_comments

La solicitud lleva urls (una lista de enlaces) y un limit opcional. En la misma respuesta vuelven text, like_count, view_count, author_follower_count y más de cada publicación, y todo pasa a filas de tabla y a un CSV.

Qué datos obtienes

La tabla siguiente lista los campos que devuelve cada fila, con su tipo y su significado. No muestra valores.

CampoTipoSignificado
post_idstringConserva el significado de la plataforma
urlstringEnlace al registro en la plataforma.
textstringTexto del contenido sin HTML, completo y sin recortes (en algunas plataformas los resultados de listado solo traen un extracto; lo indican las notas de campos de la plataforma).
media_typestringConserva el significado de la plataforma
like_countnumberMe gusta. null significa que la plataforma o esta capacidad no lo publica; no es 0.
comment_countnumberComentarios. null significa no publicado, no 0.
view_count—Visualizaciones o reproducciones. null significa no publicado, no 0.
author_usernamestringNombre de usuario del autor (@usuario), normalmente utilizable en URL.
author_namestringNombre visible del autor.
posted_atstringFecha de publicación en ISO 8601, UTC (por ejemplo 2026-08-07T12:34:56+00:00). Las cadenas no estándar de la plataforma se transmiten tal cual, así que conviene analizarlas con tolerancia. null significa que la plataforma no la publica.
locationstringDescripción de la ubicación tal como la da la plataforma; el formato varía.
idstringIdentificador único del registro en la plataforma. Solo es único dentro de una plataforma; puede repetirse entre plataformas.
image_urlstringEnlace de imagen. Las capacidades con varias imágenes pueden devolver una lista image_urls.
video_urlstringConserva el significado de la plataforma
author_idstringIdentificador único del autor en la plataforma.
widthnumberConserva el significado de la plataforma
heightnumberConserva el significado de la plataforma
is_comments_disabled—Conserva el significado de la plataforma
author_follower_count—Seguidores del autor. null significa no publicado.
hashtagsarrayHashtags del texto, en orden de aparición; no aparece si no hay ninguno.
top_comments—Conserva el significado de la plataforma

Casos de uso

  • Revisar publicaciones pagadas

    Pon los enlaces de un creador en urls y lee like_count, comment_count y view_count para ver cómo van hoy.

  • Revisar a la competencia

    Lee text, media_type y posted_at de sus publicaciones para comparar qué publican y cuándo.

  • Completar lo descubierto

    ¿Encontraste una publicación en un hashtag? Pasa su url y lee author_follower_count y top_comments.

  • Contar hashtags

    Lee la lista hashtags de cada publicación y compara qué etiquetas usa un lote, en orden de aparición.

Instagram Graph API frente a EveryInfra

Comparamos la Graph API oficial de Instagram y post de EveryInfra en tres puntos: qué publicaciones se leen, los datos del autor y el acceso.

AspectoInstagram Graph APIEveryInfra
Qué publicaciones"This API returns only data for media owned by Instagram professional accounts. It can not be used to get data for media owned by personal Instagram accounts."Cada elemento de urls es el enlace completo de una publicación o Reel públicos, como /p/<shortcode>/ o /reel/<shortcode>/. El contenido privado no se descarga.
Datos del autorCampo owner: "Instagram user ID who created the media. Only returned if the app user making the query also created the media; otherwise, username field is returned instead."Cada fila trae author_id, author_username, author_name y author_follower_count.
Acceso necesario"Note that a permission only allows access to data created by the app user who granted the permission."Una clave de API de EveryInfra en la cabecera Authorization: Bearer. No hace falta iniciar sesión en Instagram ni un token de acceso de Instagram.

Las citas proceden de la documentación para desarrolladores de Meta, comprobadas el 2026-11-09. Fuentes oficiales: IG Media (actualizada el 2026-10-29) · Instagram Platform overview (actualizada el 2026-10-29)

Límites y detalles a tener en cuenta

  • urls es obligatorio y es una lista de enlaces. Cada elemento es el enlace completo de una publicación, como /p/<shortcode>/ o /reel/<shortcode>/; el enlace de un perfil no sirve.
  • limit es un entero de 1 a 11 y vale 11 por defecto; un valor mayor devuelve 422 antes de cobrar nada.
  • Una solicitud devuelve como máximo 11 filas. Si tienes más enlaces, repártelos en varias solicitudes. No hay parámetro de paginación.
  • Se cobra por enlace de destino: cada enlace cuenta como una llamada, así que cuenta los enlaces antes de estimar el coste.
  • hashtags y top_comments no aparecen cuando no hay nada que mostrar. view_count en null significa que no se publica; no es 0.
  • No se descarga contenido privado, y los datos no conceden derechos sobre las fotos ni los videos.

Precios

Se cobra por enlace de destino: cada enlace cuenta como una llamada de $0.000556, y una solicitud devuelve hasta 11 filas. Las llamadas fallidas y los resultados vacíos no se cobran.

LlamadasCosto
10,000$5.56
100,000$55.56
1,000,000$555.56

El total se calcula con el precio de lista por llamada.

Ejemplos de código

#
bash
curl -X POST 'https://api.everyinfra.com/api/v1/social' \
  -H "Authorization: Bearer $EVERYINFRA_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "platform": "instagram",
  "action": "post",
  "params": {
    "urls": [
      "https://www.instagram.com/p/<POST_SHORTCODE>/"
    ]
  }
}'

Definición OpenAPI (JSON)Los ejemplos leen la clave de la variable de entorno EVERYINFRA_API_KEY; el código copiado nunca contiene tu clave.

Referencia de API

Aquí tienes los parámetros, campos de respuesta, errores y facturación de post; copia la página o ábrela en Markdown para dársela a un asistente de IA.

POST

Prompt para IA

#
Ayúdame a escribir un script de recopilación de datos con el endpoint de EveryInfra Instagram: Detalles de la publicación (instagram/post).

Cómo funciona el endpoint:
- Solicitud: POST https://api.everyinfra.com/api/v1/social con la cabecera Authorization: Bearer <clave API>. Lee la clave de la variable de entorno EVERYINFRA_API_KEY y no la escribas en el código.
- En el cuerpo de la solicitud, pon platform en instagram y action en post, y los parámetros dentro de params.
- Parámetros obligatorios:
  - urls: Array de enlaces completos de publicaciones para post, por ejemplo /p/<shortcode>/ o /reel/<shortcode>/; se factura según la cantidad de enlaces objetivo.
- Parámetros opcionales:
  - limit: Número máximo de filas que devuelve esta llamada, un entero de 1 a 11. Si no lo envías, se usa el valor predeterminado, y una llamada puede devolver menos filas. (por defecto: 11)
- Devuelve una lista de registros. Campos principales de cada registro: post_id, url, text, media_type, like_count, comment_count, view_count, author_username, author_name, posted_at, location, id; 21 campos en total, lista completa en https://api.everyinfra.com/api/v1/social/catalog?platform=instagram.
- Cuerpo de solicitud de ejemplo:
{
  "platform": "instagram",
  "action": "post",
  "params": {
    "urls": [
      "https://www.instagram.com/p/<POST_SHORTCODE>/"
    ]
  }
}
- Precio: $0.56 por 1.000 solicitudes; los resultados fallidos y vacíos no se cobran.
- Para decenas o cientos de objetivos, añade "mode": "async" al cuerpo: recibes un job_id al instante y consultas GET https://api.everyinfra.com/api/v1/jobs/{job_id} para obtener el resultado.
- Ante un 422, corrige la solicitud con los nombres de parámetros y los valores admitidos que sugiere el error; ante un 429 o un 503, espera lo que indique Retry-After y vuelve a intentarlo.

Antes de escribir código, pregúntame qué objetivos necesito, cuántos, qué campos y en qué formato quiero el resultado; luego confirma conmigo el plan y el coste aproximado.

Parámetros de la solicitud

#
NombreUbicaciónTipoObligatorioPor defectoDescripción
AuthorizationheaderstringSí-Bearer seguido de tu clave de API. Créala en la consola; nunca la pongas en una URL ni en un repositorio de código.
platformbodystringSíinstagramIdentificador de la plataforma, valor fijo.
actionbodystringSípostIdentificador de la capacidad, valor fijo.
urlsbody.paramsarraySí-Array de enlaces completos de publicaciones para post, por ejemplo /p/<shortcode>/ o /reel/<shortcode>/; se factura según la cantidad de enlaces objetivo. comments solo procesa un único url, no apliques directamente la forma de solicitud de múltiples enlaces de post.
limitbody.paramsinteger (1–11)No11Número máximo de filas que devuelve esta llamada, un entero de 1 a 11. Si no lo envías, se usa el valor predeterminado, y una llamada puede devolver menos filas. Los valores mayores devuelven 422 antes de cualquier cobro.

Ejemplo de respuesta

#
Todavía no hay una muestra real para estos parámetros de ejemplo: se muestra la estructura de la respuesta y sus campos según la definición de la API, con … como marcadores. No es el resultado de una llamada real.
json
{  "id": "req_…",  "platform": "instagram",  "action": "post",  "results": [    {      "post_id": …,      "url": …,      "text": …,      "media_type": …,      "like_count": …,      "comment_count": …,      "view_count": …,      "author_username": …,      "author_name": …,      "posted_at": …,      "location": …,      "id": …,      "image_url": …,      "video_url": …,      "author_id": …,      "width": …,      "height": …,      "is_comments_disabled": …,      "author_follower_count": …,      "hashtags": …,      "top_comments": …    }  ],  "count": …,  "billing": {    "charged": …,    "charged_usd": …,    "balance_after_usd": …,    …  },  "quota": { … }}

Campos de la respuesta

#

Los datos están en results. La tabla lista los campos que puede tener cada registro; los valores que la plataforma no muestra nunca se inventan.

CampoSignificado
post_idConserva el significado de la plataforma
urlEnlace al registro en la plataforma.
textTexto del contenido sin HTML, completo y sin recortes (en algunas plataformas los resultados de listado solo traen un extracto; lo indican las notas de campos de la plataforma).
media_typeConserva el significado de la plataforma
like_countMe gusta. null significa que la plataforma o esta capacidad no lo publica; no es 0.
comment_countComentarios. null significa no publicado, no 0.
view_countVisualizaciones o reproducciones. null significa no publicado, no 0.
author_usernameNombre de usuario del autor (@usuario), normalmente utilizable en URL.
author_nameNombre visible del autor.
posted_atFecha de publicación en ISO 8601, UTC (por ejemplo 2026-08-07T12:34:56+00:00). Las cadenas no estándar de la plataforma se transmiten tal cual, así que conviene analizarlas con tolerancia. null significa que la plataforma no la publica.
locationDescripción de la ubicación tal como la da la plataforma; el formato varía.
idIdentificador único del registro en la plataforma. Solo es único dentro de una plataforma; puede repetirse entre plataformas.
image_urlEnlace de imagen. Las capacidades con varias imágenes pueden devolver una lista image_urls.
video_urlConserva el significado de la plataforma
author_idIdentificador único del autor en la plataforma.
widthConserva el significado de la plataforma
heightConserva el significado de la plataforma
is_comments_disabledConserva el significado de la plataforma
author_follower_countSeguidores del autor. null significa no publicado.
hashtagsHashtags del texto, en orden de aparición; no aparece si no hay ninguno.
top_commentsConserva el significado de la plataforma

Errores y facturación

#
401
Falta la clave o no es válida.
402
Saldo insuficiente. Recarga primero.
422
Nombre o valor de parámetro incorrecto. Corrígelo según las opciones indicadas en el error. Sin cargo.
429
Se alcanzó el límite de solicitudes por minuto. Espera el tiempo indicado en Retry-After y vuelve a intentarlo.
503
No se pudo completar. El cargo retenido vuelve a tu saldo. Si el resultado es incierto, compruébalo antes de reenviar.
200 vacío
Sin datos. Sin cargo.

Errores

Referencias oficiales

#

Solo sirven para contrastar objetos y términos. No implican autorización ni respaldo de la plataforma a EveryInfra.

  • Instagram: contenido público y posibilidad de inserción ↗

    Instagram indica que el contenido de cuentas privadas no puede insertarse y que una cuenta pública puede desactivar la inserción. Que un post sea visible o insertable no concede derechos adicionales ni cambia los parámetros documentados.

    Comprobado el 2026-09-04

Preguntas frecuentes

¿Qué devuelve la API de Instagram para leer una publicación?

Por cada enlace devuelve text, media_type, like_count, comment_count, view_count, posted_at y author_follower_count. hashtags y top_comments llegan cuando la publicación los tiene.

¿Cuántas publicaciones devuelve una solicitud?

Como máximo 11 filas. limit va de 1 a 11 y vale 11 por defecto; un valor mayor devuelve 422 antes de cobrar, y una llamada puede devolver menos filas. No hay parámetro de paginación: reparte los enlaces en varias solicitudes.

¿Cuánto cuesta?

Cuesta $0.000556 por llamada, o $0.56 por cada 1000 llamadas. Se cobra por enlace de destino: tres enlaces son tres llamadas, no una solicitud. Las llamadas fallidas y los resultados vacíos no se cobran.

¿Necesito iniciar sesión en Instagram?

No. Envías una clave de API de EveryInfra en la cabecera Authorization: Bearer. No hace falta iniciar sesión en Instagram ni un token de acceso de Instagram. El contenido privado no se descarga.

¿Cuándo uso post y cuándo comments?

post lee los datos de la publicación y admite varios enlaces por solicitud. comments admite un solo enlace y devuelve los comentarios de esa publicación, así que no reutilices allí el formato de varios enlaces.

Con la misma clave puedes llamar a otras capacidades de Instagram, como las publicaciones de una cuenta o el contenido de un hashtag.

Nuestras estadísticas siempre están activas. Google Analytics, solo con «Permitir analítica». Política de privacidad