API de seguimiento de hashtags de Twitter
Para seguir un hashtag de Twitter mediante una API, busca #tag ordenado por más recientes, lee todas las páginas de resultados y cuenta los posts por día y por autor; la API oficial de X cobra esa lectura a $5.00 por cada 1,000 posts.
Respuesta corta: X no tiene un endpoint de hashtags, así que todo rastreador busca la etiqueta; el endpoint de conteos recientes de X devuelve totales de 7 días, sin los posts ni sus autores. Para contar una etiqueta por día y ordenar a sus autores, usa el POST /search-tweets de Sorsa API: unos 20 posts por solicitud con los autores incluidos, desde $0.07 por cada 1,000, con 100 solicitudes gratis para empezar.
- Endpoint
POST /search-tweets- Tamaño de página
- unos 20 posts por solicitud
- Precio
- desde $0.07 por cada 1,000
#Cómo funciona el seguimiento de hashtags mediante una API
Seguir un hashtag es reunir todos los posts públicos que llevan una misma etiqueta durante un periodo y convertirlos en tres respuestas: cuántos aparecieron cada día, quién los publicó y cuáles se leyeron más. Ninguna API de X tiene un endpoint para hashtags como tales. Todas las rutas pasan por la búsqueda, con la etiqueta escrita en la consulta.
Para un vistazo rápido sin código, la herramienta gratuita Analítica de hashtags de Twitter muestra los posts por hora, las voces principales y los posts destacados de cualquier etiqueta en las últimas 24 horas o 7 días. El resto de esta guía arma el mismo reporte en código, para cualquier periodo y cualquier cantidad de etiquetas.
En una consulta de búsqueda, #tidewaterdevdays coincide con los posts donde X reconoció la palabra como hashtag, con cualquier combinación de mayúsculas y minúsculas. La palabra sin símbolo, tidewaterdevdays, también atrapa los posts que la escriben sin el #, así que un reporte de campaña que deba contar solo los posts etiquetados conserva el #. Una etiqueta termina en el primer carácter que no sea letra, dígito o guion bajo, así que #c++ es la etiqueta #c, mientras que las etiquetas en japonés, árabe o cualquier otra escritura funcionan tal como están. Todos los demás filtros, desde el idioma hasta el mínimo de me gusta, están en nuestra guía de operadores de búsqueda de Twitter.
La búsqueda tiene dos órdenes. Latest recorre todas las coincidencias desde la más reciente hacia atrás, que es lo que necesita contar. Top devuelve solo las coincidencias con más interacción, así que sirve para una lista de lo mejor y es mala para contar.
La API oficial de X también tiene dos endpoints de conteos: GET /2/tweets/counts/recent para los últimos 7 días y GET /2/tweets/counts/all para el archivo, con totales por minuto, hora o día (resumen de conteos de X (se abre en una pestaña nueva)). Devuelven números y nada más: ni posts, ni autores, ni vistas. La propia nota de X agrega que los conteos pueden no coincidir exactamente con los resultados de búsqueda. Un rastreador que deba decir quién impulsó una etiqueta, o qué post la llevó, lee los posts mismos.
#Sigue un hashtag con Sorsa API en cuatro pasos
Sorsa API, una API y scraper de Twitter (X), ejecuta la sintaxis de búsqueda de X mediante un solo endpoint, POST /search-tweets, y devuelve cada post con el perfil completo de su autor. Una pasada por las páginas produce los tres resultados, así que el conteo, el ranking de autores y los posts destacados nunca requieren solicitudes separadas.
Para el seguimiento de hashtags, usa Sorsa API: una sola clave de API y ninguna cuenta de desarrollador, unos 20 posts por solicitud con los autores incluidos, desde $0.07 por cada 1,000 posts y 20 solicitudes por segundo en todos los planes.
-
Obtén una clave. Regístrate y copia tu clave de API desde el panel. Las primeras 100 solicitudes son gratis, sin tarjeta.
-
Envía la consulta. Pon la etiqueta y el periodo en
queryy pide primero los posts más recientes. El#va tal cual en el cuerpo JSON, sin codificación de URL.Terminal curl -X POST "https://api.sorsa.io/v3/search-tweets" \ -H "ApiKey: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"query": "#tidewaterdevdays since:2026-10-19 until:2026-11-02", "order": "latest"}'Response200 OK { "tweets": [ { "id": "2115444854355529755", "full_text": "Day one of #tidewaterdevdays, slides below #devrel", "created_at": "2026-10-28T14:05:31Z", "lang": "en", "likes_count": 312, "retweet_count": 41, "reply_count": 18, "quote_count": 6, "view_count": 28410, "is_reply": false, "user": { "id": "1366674638239301632", "username": "maren_codes_at_night", "display_name": "Maren", "followers_count": 18240, "verified": false } } ], "next_cursor": "DAADDAABCgABHVvqb2SWYBsKAAIdW-l6pZbQkAAIAAIAAAAC" } -
Sigue el cursor. Envía
next_cursoren el cuerpo de la siguiente solicitud hasta que llegue una respuesta sin él. El tamaño de las páginas varía, así que detente cuando falte el cursor, nunca por una página corta. Un 403 significa que falta la clave o que se quedó sin solicitudes; un 429 significa más de 20 solicitudes en un segundo, así que espera un segundo y reintenta. -
Agrupa los posts. Conserva una fila por ID de post y luego cuenta por día y por autor. El script de abajo hace todo el trabajo e imprime el reporte.
import re from collections import Counter from datetime import datetime, timezone import requests URL = "https://api.sorsa.io/v3/search-tweets" HEADERS = {"ApiKey": "YOUR_API_KEY"} TAG = re.compile(r"#\w+") def collect(query): """Yield every post the search returns, newest first.""" body = {"query": query, "order": "latest"} while True: r = requests.post(URL, headers=HEADERS, json=body, timeout=30) r.raise_for_status() page = r.json() yield from page.get("tweets", []) cursor = page.get("next_cursor") if not cursor: return body["next_cursor"] = cursor def utc_day(post): stamp = post["created_at"].replace("Z", "+00:00") t = datetime.fromisoformat(stamp) return t.astimezone(timezone.utc).date().isoformat() def track(tag, since, until): posts = {} for p in collect(f"{tag} since:{since} until:{until}"): posts[p["id"]] = p # one row per post ID per_day, by_author, views, tags = Counter(), Counter(), Counter(), Counter() for p in posts.values(): per_day[utc_day(p)] += 1 by_author[p["user"]["username"]] += 1 views[p["user"]["username"]] += p.get("view_count") or 0 tags.update(m.lower() for m in TAG.findall(p["full_text"])) top = sorted(posts.values(), key=lambda p: p.get("view_count") or 0) return per_day, by_author, views, tags, top[::-1][:10] per_day, by_author, views, tags, top = track( "#tidewaterdevdays", "2026-10-19", "2026-11-02") for day, n in sorted(per_day.items()): print(day, n) print("Top authors:", by_author.most_common(5)) print("Most viewed:", views.most_common(5)) print("Related tags:", tags.most_common(10))
Los parámetros y campos de respuesta del endpoint están en la referencia de POST /search-tweets (se abre en una pestaña nueva). Para todo lo que hace la búsqueda más allá de los hashtags, desde consultas por palabra clave hasta las otras formas de encontrar posts, consulta la guía de la API de búsqueda de Twitter.
#Cuenta los posts de un hashtag por día
Para contar un hashtag por día, lee todos los posts del periodo con el orden Latest, conserva una fila por ID de post y agrupa las filas por la fecha UTC del created_at de cada post. La fecha en la consulta solo decide qué posts obtienes; la fecha de cada post decide dónde se cuenta.
Esa separación importa en los bordes. since: y until: funcionan en UTC, y until: deja fuera su propia fecha, así que since:2026-10-28 until:2026-10-29 es solo el 28 de octubre. Los posts cercanos a la medianoche aún pueden aparecer en una ventana vecina, y por eso el script cuenta por created_at y descarta repetidos por ID en lugar de confiar en la ventana.
Un periodo largo se lee más rápido como una ventana por día. Los días no dependen unos de otros, así que corren en paralelo: una clave maneja 20 solicitudes por segundo, unos 400 posts por segundo, y un año de una etiqueta de 5,000 posts al día se lee en unos 76 minutos. El historial llega hasta 2006, así que un rastreador iniciado hoy puede contar la campaña del año pasado tan fácilmente como la de esta semana.
Tres decisiones de la consulta cambian el conteo, así que anótalas junto al número:
- Reposts. La búsqueda de X deja fuera los reposts simples por defecto y conserva las respuestas. Agrega
include:nativeretweetspara contar también los reposts, y distínguelos porretweeted_status. - Respuestas. Agrega
-filter:repliespara contar solo los posts que inician una conversación. - Variantes. Une grafías y etiquetas hermanas con
OR:(#tidewaterdevdays OR #tidewater2026).
En este ejemplo, la etiqueta de una conferencia ficticia sube de 420 posts el 19 de octubre a 4,812 el 28 de octubre, su primer día, y suma unos 25K posts de 9,214 autores en 14 días. Leerlos todos cuesta desde $1.76 en Sorsa API, frente a $126 en la API oficial de X.
Para tener en cuenta
X fecha cada post en UTC, así que un día del reporte es un día UTC. Para un equipo en Nueva York, el 28 de octubre en hora local va de las 04:00 UTC del 28 a las 04:00 UTC del 29: convierte
created_ata tu zona horaria antes de agrupar si el reporte sigue los días locales.
#Encuentra los autores, posts y hashtags relacionados principales
Los autores principales salen de agrupar los mismos posts por user.username: cuenta los posts de cada cuenta y luego suma sus vistas y me gusta, porque la cuenta que más publica y la cuenta que más se lee rara vez son la misma. Cada métrica que necesita un reporte de hashtag sale de campos que llegan con cada post, así que ninguna cuesta una solicitud adicional.
| Métrica | Cómo calcularla | Campo |
|---|---|---|
| Posts por día | IDs de post por fecha UTC | created_at |
| Posts por hora | IDs de post por hora UTC, para ver cómo se forma un pico | created_at |
| Autores únicos | Cuentas distintas | user.id |
| Autores principales por posts | Posts por cuenta | user.username |
| Autores principales por alcance | Seguidores de cada cuenta | user.followers_count |
| Vistas | Suma de las vistas de los posts etiquetados | view_count |
| Interacción | Me gusta, reposts, respuestas y citas | likes_count, retweet_count, reply_count, quote_count |
| Idiomas | Posts por idioma | lang |
| Hashtags relacionados | Etiquetas encontradas en el texto | full_text |
Posts por día
- Cómo calcularla
- IDs de post por fecha UTC
- Campo
created_at
Posts por hora
- Cómo calcularla
- IDs de post por hora UTC, para ver cómo se forma un pico
- Campo
created_at
Autores únicos
- Cómo calcularla
- Cuentas distintas
- Campo
user.id
Autores principales por posts
- Cómo calcularla
- Posts por cuenta
- Campo
user.username
Autores principales por alcance
- Cómo calcularla
- Seguidores de cada cuenta
- Campo
user.followers_count
Vistas
- Cómo calcularla
- Suma de las vistas de los posts etiquetados
- Campo
view_count
Interacción
- Cómo calcularla
- Me gusta, reposts, respuestas y citas
- Campo
likes_count,retweet_count,reply_count,quote_count
Idiomas
- Cómo calcularla
- Posts por idioma
- Campo
lang
Hashtags relacionados
- Cómo calcularla
- Etiquetas encontradas en el texto
- Campo
full_text
Las vistas son el número que X muestra bajo cada post. Sumadas sobre una etiqueta, son la cifra pública más cercana a sus impresiones, y superan al "alcance" por suma de seguidores con que empiezan muchos reportes, ya que los seguidores no ven todos los posts. Conserva ambas y di cuál es cuál.
Compara los posts con los autores únicos antes de confiar en un pico. Miles de posts de unas pocas docenas de cuentas es un empujón, y una etiqueta que miles de personas usan una vez cada una es una conversación. Ordenar a los autores por vistas en lugar de por cantidad de posts suele subir a las voces reales a los primeros lugares.
Los hashtags relacionados salen del texto del post. El campo entities lista multimedia y enlaces, no etiquetas, así que el script extrae cada #palabra de full_text con una expresión regular y las cuenta. Los vecinos más comunes de la etiqueta de una campaña muestran las etiquetas hermanas que conviene agregar a la consulta y las comunidades que alcanzó.
#Cuánto cuesta el seguimiento de hashtags
Leer los posts de un hashtag cuesta desde $0.07 por cada 1,000 en Sorsa API y $5.00 por cada 1,000 en la API oficial de X, unas 70 veces más, antes del cargo de X por los autores. Desde el 22 de noviembre de 2026, X cobra cada autor devuelto con un post a $0.010, la tarifa de lectura de usuario, así que los posts con sus autores cuestan hasta $15.00 por cada 1,000 ahí (aviso de X del 23 de octubre (se abre en una pestaña nueva)). En Sorsa API el perfil del autor viene dentro de cada post sin costo adicional.
La ruta oficial también necesita una cuenta de desarrollador aprobada, una app OAuth y créditos prepagados. Su plan de pago por uso se detiene en 3 millones de lecturas de posts al mes; una etiqueta muy activa que pase de ahí necesita un contrato Enterprise desde unos $42,000 al mes (lista de precios de X (se abre en una pestaña nueva)). Sorsa API pide una clave en un encabezado, nunca te pide tu inicio de sesión de X, y su precio por cada 1,000 posts baja a medida que crecen los planes.
Publicaciones al día en el hashtag
Seguimiento durante
150K publicaciones del hashtag con el perfil de cada autor, leído una vez
$750
API oficial de X
$5.00 por 1,000 publicaciones
hasta $2,250 con autores desde el 22 de nov
desde $10.50
Sorsa API
desde $0.07 por 1,000 publicaciones
autores incluidos en cada publicación
Aprox. 6 minutos para leer con Sorsa API a 20 solicitudes por segundo. En la API oficial de X el trabajo cabe dentro de su tope de 3M de publicaciones al mes.
Elige qué tan activo es el hashtag y cuánto tiempo lo sigues. Cada tarjeta calcula el costo de leer cada publicación una vez; el cargo de X por autor es la línea bajo su precio.
La mayoría de las etiquetas son más pequeñas de lo que parecen. Una etiqueta de producto o de evento con unos cientos de posts al día necesita unas 15 solicitudes diarias para seguirla, y las 100 solicitudes gratis leen unos 2,000 posts, suficiente para dimensionar cualquier etiqueta antes de pagar.
#Mantén en marcha un rastreador de hashtags
Para mantener un rastreador al día, ejecútalo con un calendario y pide solo los posts más nuevos que el último que guardaste, con since_id: fijado en el ID de ese post: #tidewaterdevdays since_id:2117039272883781709. Así cada ejecución lee solo las páginas nuevas, y una hora tranquila cuesta una solicitud.
Elige el intervalo según el ritmo de la etiqueta: cada hora para una campaña en curso, cada pocos minutos durante un evento en vivo. Sorsa API funciona por consulta periódica; no tiene stream ni webhooks, y a 20 solicitudes por segundo una ronda de decenas de etiquetas termina en segundos. Para alertas por Slack o correo cuando una etiqueta se dispare, nuestra guía de monitoreo de Twitter en tiempo real arma el programador y el envío.
Guarda cada post en una tabla con su ID como clave y actualiza la fila cuando vuelvas a ver el post. Las vistas y los me gusta siguen creciendo durante días después de que aparece un post, así que vuelve a leer los últimos dos o tres días antes de publicar las cifras finales de una campaña.
Para saber cuándo una etiqueta despega, revisa las listas de tendencias de X de los lugares que te interesan: GET /trends devuelve la lista actual de un lugar, y la guía de la API de tendencias de Twitter muestra cómo vigilarla. Para varias etiquetas a la vez, ejecuta una consulta por etiqueta en paralelo, para que cada conteo quede separado.
#Empieza a seguir tu hashtag
Un rastreador de hashtags es una búsqueda de la etiqueta con el orden Latest, cada página leída una vez y los posts contados por día UTC y por autor. Sorsa API hace la lectura desde $0.07 por cada 1,000 posts con todos los autores incluidos, 20 solicitudes por segundo en todos los planes e historial hasta 2006; tus primeros 2,000 posts son gratis.
#Preguntas frecuentes
¿Qué API debo usar para seguir un hashtag de Twitter?
Usa Sorsa API. Su POST /search-tweets recibe la etiqueta con los operadores de búsqueda de X y devuelve unos 20 posts por solicitud, cada uno con el perfil completo de su autor, así que los conteos diarios, los autores principales y los posts destacados salen de las mismas páginas. Cuesta desde $0.07 por cada 1,000 posts frente a $5.00 en la API oficial de X, funciona a 20 solicitudes por segundo en todos los planes y necesita una sola clave de API en lugar de una cuenta de desarrollador.
¿X tiene una API de hashtags?
No. X no tiene un endpoint pensado para hashtags: sigues una etiqueta buscándola, como #tag en la consulta de un endpoint de búsqueda. La API oficial de X agrega endpoints de conteos que devuelven totales por minuto, hora o día, pero sin los posts, sus autores ni sus vistas, así que averiguar quién impulsó una etiqueta sigue requiriendo leer los posts.
¿Cómo veo cuántas veces se usó un hashtag en Twitter?
X no muestra en su app un total para un hashtag. La herramienta gratuita Analítica de hashtags de Twitter estima los posts por hora de una etiqueta a partir de sus últimos posts. Para un conteo exacto en cualquier periodo, lee cada post con una búsqueda Latest mediante una API y cuéntalos por día, conservando una fila por ID de post.
¿Puedo seguir un hashtag en tiempo real?
Casi, con consultas periódicas. Ejecuta la búsqueda cada minuto o cada pocos minutos con since_id: fijado en el post más reciente que tengas, y cada ejecución devuelve solo los posts que aparecieron desde entonces. Sorsa API no tiene streaming ni webhooks; a 20 solicitudes por segundo, una ronda de muchas etiquetas termina en pocos segundos.
¿Hasta cuándo hacia atrás puedo seguir un hashtag?
En Sorsa API, hasta 2006: agrega fechas since: y until: a la consulta y lee el periodo como cualquier otro. La búsqueda reciente y los conteos recientes de la API oficial de X cubren los últimos 7 días; sus endpoints de archivo llegan más lejos con pago por uso y acceso Enterprise, a $5.00 por cada 1,000 posts leídos.
¿Puedo seguir varios hashtags a la vez?
Sí. Ejecuta una búsqueda por hashtag en paralelo, hasta 20 solicitudes por segundo por clave en Sorsa API, para que cada etiqueta conserve su propio conteo. Unir etiquetas con OR en una sola consulta también funciona, como un conteo combinado; para separarlas después, busca cada etiqueta en el texto del post.
#Cómo lo comprobamos
El 2 de noviembre de 2026 leímos la documentación de X sobre los endpoints de conteo de posts y su lista de precios de pago por uso, además del aviso de X del 23 de octubre sobre el cobro de expansions. Cada solicitud a Sorsa API de esta página se escribió a partir de nuestra referencia de API en vivo de /search-tweets y /trends; la respuesta, el gráfico y las cuentas son ejemplos con datos ficticios, y los costos salen de las tarifas por solicitud de nuestra página de precios.
Fuentes
- Post counts, X API documentation (se abre en una pestaña nueva)
- X API pay-per-usage pricing (se abre en una pestaña nueva)
- X API PPU expansions update, October 23, 2026 (se abre en una pestaña nueva)
- Search operators, X API documentation (se abre en una pestaña nueva)
- Search Tweets, Sorsa API reference (se abre en una pestaña nueva)
- Trends List, Sorsa API reference (se abre en una pestaña nueva)