API de Contenido por hashtag de Instagram

Reúne las publicaciones de un hashtag de Instagram indicado en hashtag, cada una con text, media_type, like_count, view_count y los seguidores del autor, por $0.56 por cada 1000 llamadas.

  • Hasta 100 publicaciones por llamada
  • Pasa reels para videos cortos
  • Sin iniciar sesión en Instagram

Salud de la API

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

Últimas 24 horas

Últimos 30 días

  1. 1Solicitud

    POST /api/v1/social
    {
      "platform": "instagram",
      "action": "hashtag",
      "params": {
        "hashtag": "photography"
      }
    }
  2. 2Respuesta JSON

    {
      "results": [
        {
          "text": "📸@••• 
    
    @••• 
    @••• 
    
    #photography #hobbymodel #jewelry #tattoo #quarry",
          "post_id": "DdvvbQ1ufeL",
          "media_type": "image",
          "like_count": 0
        },
        …
      ],
      "count": 30
    }
  3. 3Filas

    textpost_idmedia_typelike_count
    📸@••• @••• @••• #photography #hobbymodel #jewelry #tattoo #quarryDdvvbQ1ufeLimage0
    ✨..♠️❤️..✨ #instareels #viralpost #malvan #instagram #photographyDdvva9EEUmpimage0
  4. 4CSV

    instagram-hashtag-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,platform

La solicitud lleva hashtag (sin #) y, si quieres, results_type y limit. En la misma respuesta vuelven las publicaciones de esa etiqueta, que pasan a filas de tabla y a un CSV.

Qué datos obtienes

La tabla muestra filas de una llamada real con photography, capturada el 26 de septiembre de 2026, 08:56 (UTC), que devolvió 30 filas. Las barras grises marcan datos personales eliminados (••• en el CSV). En tus llamadas recibes estos campos según la tabla de campos.

post_idurltextmedia_typelike_countcomment_countview_countauthor_usernameauthor_nameposted_atlocationidimage_urlvideo_urlauthor_idwidthheightis_comments_disabledauthor_follower_counthashtagstop_commentsplatform
DdvvbQ1ufeLhttps://www.instagram.com/p/DdvvbQ1ufeL/📸@••• @••• @••• #photography #hobbymodel #jewelry #tattoo #quarryimage00null2026-09-26T09:43:53+00:00Aschaffenburg, Germanynullnullnullnullnullnullnullnull["photography","hobbymodel","jewelry"]nullinstagram
Ddvva9EEUmphttps://www.instagram.com/p/Ddvva9EEUmp/✨..♠️❤️..✨ #instareels #viralpost #malvan #instagram #photographyimage00null2026-09-26T09:43:48+00:00Malvan , Sindhudurgnullnullnullnullnullnullnullnull["instareels","viralpost","malvan"]nullinstagram

Casos de uso

  • Investigar temas

    Lee text y like_count bajo un hashtag para ver qué publica la gente y qué publicaciones generan más interacción.

  • Seguir hashtags de campaña

    Descarga las publicaciones de una etiqueta de campaña y usa posted_at para ver qué hay de nuevo.

  • Encontrar creadores

    Lee author_username y author_follower_count para encontrar creadores que publican bajo una etiqueta.

  • Solo videos cortos

    Pon results_type en reels para obtener solo los Reels del hashtag.

Hashtag Search frente a EveryInfra

Comparamos Hashtag Search, la búsqueda oficial de Instagram, y hashtag de EveryInfra en tres puntos: volumen de consultas, filas por solicitud y campos del autor.

AspectoHashtag SearchEveryInfra
Volumen de consultas"You can query a maximum of 30 unique hashtags on behalf of an Instagram Business or Creator Account within a rolling, 7 day period."Una llamada consulta un hashtag y cuesta $0.000556, por llamada.
Filas por solicitud"Responses are paginated with a maximum limit of 50 results per page."limit va de 1 a 100 y vale 30 por defecto. Una llamada devuelve como máximo 100 filas y no hay parámetro de paginación.
Campos del autor"You cannot request the username field on returned media objects."Cada fila trae author_username, author_name y author_follower_count.

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 Top Media (actualizada el 2026-08-17)

Límites y detalles a tener en cuenta

  • hashtag es obligatorio, sin el #, y es una palabra de etiqueta, no el nombre de una cuenta. tag es una entrada de compatibilidad; si envías ambos, manda hashtag.
  • Omite results_type para publicaciones normales, o pasa reel o reels para videos cortos. No se puede pasar posts de forma explícita y cualquier otro valor devuelve 422.
  • limit es un entero de 1 a 100 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 100 filas y puede devolver menos que limit.
  • Las filas son un lote de publicaciones de la etiqueta. La muestra por sí sola no mide el volumen total de una tendencia.
  • author_follower_count y view_count en null significan que no se publican; no es 0. hashtags y top_comments no aparecen cuando no hay nada que mostrar.

Precios

Pagas $0.000556 por llamada, no por fila, y una llamada lee hasta 100 publicaciones. 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": "hashtag",
  "params": {
    "hashtag": "photography"
  }
}'

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 hashtag; 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: Contenido por hashtag (instagram/hashtag).

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 hashtag, y los parámetros dentro de params.
- Parámetros obligatorios:
  - hashtag: Etiqueta de hashtag de Instagram, sin el #, por ejemplo coffee; se usa para listar los posts/reels bajo esa etiqueta, no es el handle de la cuenta.
- 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)
  - tag: Entrada de compatibilidad para hashtag, sin el # inicial; si también existe hashtag, hashtag tiene prioridad, y las solicitudes públicas aún deben proporcionar el hashtag obligatorio.
  - limit: Número máximo de filas que devuelve esta llamada, un entero de 1 a 100. 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": "hashtag",
  "params": {
    "hashtag": "photography"
  }
}
- 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íhashtagIdentificador de la capacidad, valor fijo.
hashtagbody.paramsstringSí-Etiqueta de hashtag de Instagram, sin el #, por ejemplo coffee; se usa para listar los posts/reels bajo esa etiqueta, no es el handle de la cuenta.
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
tagbody.paramsstringNo-Entrada de compatibilidad para hashtag, sin el # inicial; si también existe hashtag, hashtag tiene prioridad, y las solicitudes públicas aún deben proporcionar el hashtag obligatorio.
limitbody.paramsinteger (1–100)No30Número máximo de filas que devuelve esta llamada, un entero de 1 a 100. 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 26 de septiembre de 2026, 08:56 (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": "hashtag",  "results": [    {      "post_id": "DdvvbQ1ufeL",      "url": "https://www.instagram.com/p/DdvvbQ1ufeL/",      "text": "📸@••• \n\n@••• \n@••• \n\n#photography #hobbymodel #jewelry #tattoo #quarry",      "media_type": "image",      "like_count": 0,      "comment_count": 0,      "author_username": "•••",      "author_name": "•••",      "posted_at": "2026-09-26T09:43:53+00:00",      "location": "Aschaffenburg, Germany",      "hashtags": [        "photography",        "hobbymodel",        "jewelry"      ],      "platform": "instagram"    },    {      "post_id": "Ddvva9EEUmp",      "url": "https://www.instagram.com/p/Ddvva9EEUmp/",      "text": "✨..♠️❤️..✨\n\n#instareels #viralpost #malvan #instagram #photography",      "media_type": "image",      "like_count": 0,      "comment_count": 0,      "author_username": "•••",      "author_name": "•••",      "posted_at": "2026-09-26T09:43:48+00:00",      "location": "Malvan , Sindhudurg",      "hashtags": [        "instareels",        "viralpost",        "malvan"      ],      "platform": "instagram"    }  ],  "count": 30,  "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
platformIdentificador de la plataforma, igual que platform en la solicitud (por ejemplo xiaohongshu, tiktok).

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 hashtags de Instagram?

Devuelve las publicaciones de la etiqueta: text, media_type, like_count, view_count y author_follower_count, y hashtags si los hay.

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

limit va de 1 a 100 y vale 30 por defecto; no hay parámetro de paginación. Pon results_type en reel o reels para Reels. Si lo omites, recibes publicaciones normales.

¿Cuánto cuesta?

Cuesta $0.000556 por llamada, o $0.56 por cada 1000 llamadas, por llamada y no por fila. 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 hashtag y discover?

Ambos leen publicaciones de una etiqueta. hashtag usa hashtag, responde en la misma respuesta y devuelve hasta 100 filas. discover usa keyword, devuelve primero un job_id y llega a 200 filas.

Con la misma clave puedes llamar a otras capacidades de Instagram, como leer una publicación por su enlace o los Reels de una cuenta.

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