API de Descubrimiento de contenido de Instagram

Rastrea las publicaciones de un hashtag de Instagram indicado en keyword, cada una con media_type, like_count, view_count y los seguidores del autor. Hasta 200 por llamada, asíncrono, $0.56 por cada 1000 llamadas.

  • Devuelve 202 y un job_id
  • Consulta el trabajo para obtener las filas
  • Sin cargo por fallos ni resultados vacíos

Salud de la API

Salud 24 h
96 %
Tiempo medio 24 h
38.67 s
  • Saludable / normal
  • Disponible
  • Limitada
  • Casi sin servicio
Saludable

Últimas 24 horas

Últimos 30 días

  1. 1Solicitud

    POST /api/v1/social
    {
      "platform": "instagram",
      "action": "discover",
      "params": {
        "keyword": "coffee"
      }
    }
  2. 2Respuesta JSON

    {
      "results": [
        {
          "text": "Some days I wake up a baddie, and some days I wake up a saddie.
    .
    .
    .
    .
    .
    .
    #fyp #instamood #burberry #coffee #cafe @••• @••• @••• @••• @•••",
          "post_id": "De4za3DANzi",
          "media_type": "image",
          "like_count": -1
        },
        …
      ],
      "count": 18
    }
  3. 3Filas

    textpost_idmedia_typelike_count
    Some days I wake up a baddie, and some days I wake up a saddie. . . . . . . #fyp #instamood #burberry #coffee #cafe @••• @••• @••• @••• @•••De4za3DANziimage-1
    ♥️🌎🌎👌🏻👌🏻. . . . . . . . . . . . #لايك #الكحلي #coffee #flowers #venezuelaDe4zXldkb3jimage1
  4. 4CSV

    instagram-discover-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 keyword (una palabra de hashtag) y, si quieres, results_type y limit, y responde con 202 y un job_id. Consultas el endpoint de trabajos hasta recibir las filas de publicaciones, que pasan a filas de tabla y a un CSV.

Qué datos obtienes

La tabla muestra filas de una llamada real con el hashtag coffee, capturada el 24 de octubre de 2026, 18:28 (UTC), que devolvió 18 filas. Las barras grises marcan datos personales eliminados (••• en el CSV). En tus llamadas recibes primero un job_id; cuando termina el trabajo, obtienes estos campos según la tabla de campos.

post_idurltextmedia_typelike_countcomment_countview_countauthor_usernameauthor_nameposted_atlocationidimage_urlvideo_urlauthor_idwidthheightis_comments_disabledauthor_follower_counthashtagstop_comments
De4za3DANzihttps://www.instagram.com/p/De4za3DANzi/Some days I wake up a baddie, and some days I wake up a saddie. . . . . . . #fyp #instamood #burberry #coffee #cafe @••• @••• @••• @••• @•••image-10null2026-10-24T18:43:18+00:00nullhttps://scontent-cph2-1.cdninstagram.com/v/t51.82787-15/865668555_18501136627099477_1202278696858241993_n.jpg?stp=dst-jpg_e35_p1080x1080_sh2.08_tt6&_nc_cat=102&ig_cache_key=NDAxNTE4NDU5MzExMTA0MDM5MQ%3D%3D.3-ccb7-5&ccb=7-5&_nc_sid=58cdad&efg=eyJ2ZW5jb2RlX3RhZyI6IkNBUk9VU0VMX0lURU…null24793305nullnull["fyp","instamood","burberry"]null
De4zXldkb3jhttps://www.instagram.com/p/De4zXldkb3j/♥️🌎🌎👌🏻👌🏻. . . . . . . . . . . . #لايك #الكحلي #coffee #flowers #venezuelaimage10null2026-10-24T18:42:51+00:00nullhttps://scontent-cph2-1.cdninstagram.com/v/t51.82787-15/863292678_17970790107172812_3863795868010461481_n.webp?stp=dst-webp_p1080x1080_sh2.08&_nc_cat=102&ig_cache_key=NDAxNTE4NDUzNjc5NDMwNjU5MQ%3D%3D.3-ccb7-5&ccb=7-5&_nc_sid=58cdad&efg=eyJ2ZW5jb2RlX3RhZyI6IkNBUk9VU0VMX0lURU0ueHBp…null14401920nullnull["لايك","الكحلي","coffee"]null

Casos de uso

  • Un lote por etiqueta

    Obtén hasta 200 publicaciones de un hashtag en un solo trabajo y analiza posted_at y like_count en bloque cuando termine.

  • Comparar formatos

    Agrupa las filas por media_type y compara like_count y comment_count de imágenes, videos y carruseles.

  • Ver quién publica

    Lee author_username y author_follower_count para ver quién publica bajo la etiqueta y qué tamaño tiene.

  • Reels frente a publicaciones

    Ejecuta la misma keyword una vez sin results_type y otra con reels, y compara view_count entre los dos lotes.

Hashtag Search frente a EveryInfra

Comparamos Hashtag Search, la búsqueda oficial de Instagram, y discover de EveryInfra en tres puntos: alcance, antigüedad del contenido y acceso.

AspectoHashtag SearchEveryInfra
Alcance"Find public IG Media that has been tagged with specific hashtags."keyword es una palabra de hashtag. Se quita un # inicial y no es una búsqueda de texto completo.
AntigüedadEdge recent_media: "Only returns media objects published within 24 hours of query execution."Cada fila trae la fecha de publicación posted_at. Una llamada devuelve como máximo 200 filas, 30 por defecto.
Acceso necesarioRevisión de la app: "In order to use this API, you must undergo App Review and request approval for:" "the Instagram Public Content Access feature"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: Hashtag Search (actualizada el 2026-08-17) · IG Hashtag Recent Media (actualizada el 2026-08-17)

Límites y detalles a tener en cuenta

  • La llamada es asíncrona por defecto: devuelve 202 y un job_id, y consultas GET https://api.everyinfra.com/api/v1/jobs/<job_id> hasta que el trabajo termina y entrega las filas de publicaciones.
  • keyword es obligatorio y es una palabra de hashtag; se quita un # inicial. Busca esa etiqueta y no es una búsqueda de texto completo.
  • limit es un entero de 1 a 200 y vale 30 por defecto; un valor mayor devuelve 422 antes de cobrar nada.
  • No hay parámetro de paginación. Una llamada devuelve como máximo 200 filas y puede devolver menos que limit.
  • Omite results_type para publicaciones normales, o pasa reel o reels para videos cortos; cualquier otro valor devuelve 422.
  • Los resultados no explican el orden de Explore ni demuestran una tendencia.

Precios

Pagas $0.000556 por llamada, no por fila, y una llamada lee hasta 200 publicaciones. Vale igual para los trabajos asíncronos. 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": "discover",
  "params": {
    "keyword": "coffee"
  }
}'

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 discover; 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: Descubrimiento de contenido (instagram/discover).

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 discover, y los parámetros dentro de params.
- Parámetros obligatorios:
  - keyword: Término de etiqueta de hashtag para discover, se eliminará el # inicial y luego se consultará el hashtag; no es una búsqueda de palabras clave de texto completo arbitraria.
- Parámetros opcionales:
  - results_type: Tipo de contenido para discover/hashtag: si se omite, devuelve publicaciones normales; reel o reels cambian a videos cortos. posts no se puede enviar de forma explícita y cualquier otro valor devuelve 422. (valores admitidos: reel / reels)
  - limit: Número máximo de filas que devuelve esta llamada, un entero de 1 a 200. Si no lo envías, se usa el valor predeterminado, y una llamada puede devolver menos filas. (por defecto: 30)
- 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": "discover",
  "params": {
    "keyword": "coffee"
  }
}
- Precio: $0.56 por 1.000 solicitudes; los resultados fallidos y vacíos no se cobran.
- Este endpoint es asíncrono por defecto: devuelve 202 y un job_id; luego consulta GET https://api.everyinfra.com/api/v1/jobs/{job_id} hasta que el estado sea succeeded o failed.
- 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ídiscoverIdentificador de la capacidad, valor fijo.
keywordbody.paramsstringSí-Término de etiqueta de hashtag para discover, se eliminará el # inicial y luego se consultará el hashtag; no es una búsqueda de palabras clave de texto completo arbitraria. Es diferente del nombre de entrada de la acción hashtag.
results_typebody.paramsstring (enum)No-Tipo de contenido para discover/hashtag: si se omite, devuelve publicaciones normales; reel o reels cambian a videos cortos. posts no se puede enviar de forma explícita y cualquier otro valor devuelve 422. No es una selección de formato JSON/CSV.Valores permitidosreelreels
limitbody.paramsinteger (1–200)No30Número máximo de filas que devuelve esta llamada, un entero de 1 a 200. 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

#
Obtenida el 24 de octubre de 2026, 18:28 (UTC) llamando a esta API con los parámetros del ejemplo de código de arriba. results y count son la respuesta real de esa llamada, sin información personal (nombres, usuarios, avatares, enlaces de perfil, datos de contacto); la lista conserva los primeros 2. id, billing y quota cambian en cada llamada, por eso solo se muestra su estructura.
json
{  "id": "req_…",  "platform": "instagram",  "action": "discover",  "results": [    {      "post_id": "De4za3DANzi",      "url": "https://www.instagram.com/p/De4za3DANzi/",      "text": "Some days I wake up a baddie, and some days I wake up a saddie.\n.\n.\n.\n.\n.\n.\n#fyp #instamood #burberry #coffee #cafe @••• @••• @••• @••• @•••",      "media_type": "image",      "like_count": -1,      "comment_count": 0,      "author_username": "•••",      "author_name": "•••",      "posted_at": "2026-10-24T18:43:18+00:00",      "id": "•••",      "image_url": "https://scontent-cph2-1.cdninstagram.com/v/t51.82787-15/865668555_18501136627099477_1202278696858241993_n.jpg?stp=dst-jpg_e35_p1080x1080_sh2.08_tt6&_nc_cat=102&ig_cache_key=NDAxNTE4NDU5MzExMTA0MDM5MQ%3D%3D.3-ccb7-5&ccb=7-5&_nc_sid=58cdad&efg=eyJ2ZW5jb2RlX3RhZyI6IkNBUk9VU0VMX0lURU…",      "author_id": "•••",      "width": 2479,      "height": 3305,      "hashtags": [        "fyp",        "instamood",        "burberry"      ]    },    {      "post_id": "De4zXldkb3j",      "url": "https://www.instagram.com/p/De4zXldkb3j/",      "text": "♥️🌎🌎👌🏻👌🏻.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n#لايك #الكحلي #coffee #flowers #venezuela",      "media_type": "image",      "like_count": 1,      "comment_count": 0,      "author_username": "•••",      "author_name": "•••",      "posted_at": "2026-10-24T18:42:51+00:00",      "id": "•••",      "image_url": "https://scontent-cph2-1.cdninstagram.com/v/t51.82787-15/863292678_17970790107172812_3863795868010461481_n.webp?stp=dst-webp_p1080x1080_sh2.08&_nc_cat=102&ig_cache_key=NDAxNTE4NDUzNjc5NDMwNjU5MQ%3D%3D.3-ccb7-5&ccb=7-5&_nc_sid=58cdad&efg=eyJ2ZW5jb2RlX3RhZyI6IkNBUk9VU0VMX0lURU0ueHBp…",      "author_id": "•••",      "width": 1440,      "height": 1920,      "hashtags": [        "لايك",        "الكحلي",        "coffee"      ]    }  ],  "count": 18,  "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

Preguntas frecuentes

¿Qué devuelve la API de descubrimiento de contenido de Instagram?

Devuelve publicaciones del hashtag: text, media_type, like_count, view_count, author_follower_count y posted_at. La llamada devuelve primero 202 y un job_id.

¿Cuántas publicaciones devuelve una llamada y cómo las obtengo?

limit va de 1 a 200 y vale 30 por defecto. Una llamada devuelve como máximo 200 filas, puede que menos, sin parámetro de paginación. Consultas el endpoint de trabajos con el job_id para obtener las filas.

¿Cuánto cuesta?

Cuesta $0.000556 por llamada, o $0.56 por cada 1000 llamadas, por llamada y no por fila. Los trabajos asíncronos se cobran igual. 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.

¿Qué diferencia hay entre discover y hashtag?

Con la misma etiqueta los campos son casi los mismos. discover usa keyword, es asíncrono y devuelve hasta 200 filas. hashtag usa hashtag, responde en la misma respuesta y devuelve hasta 100 filas.

Con la misma clave puedes llamar a otras capacidades de Instagram, como leer el contenido de un hashtag de forma síncrona o una publicación por su enlace.

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