Por Sorsa Editorial

Actualizado en julio de 2026: agregada la opción inicial de 100 solicitudes gratis, replanteado el precio de Sorsa alrededor de las tarifas por lotes por cada 1,000 tweets y re-revisadas las cifras de pago por uso de la API oficial de X contra nuestra referencia de precios mantenida.

Conclusión clave: Una API de analíticas de Twitter devuelve métricas de tweets y de cuenta por código, no en un panel. Existen tres fuentes: las analíticas nativas de X (los datos a nivel de cuenta son solo para Premium), el campo public_metrics de la API oficial de X v2 (likes, retweets, respuestas, citas, impresiones, marcadores en cualquier post público) y APIs REST de terceros que devuelven las mismas métricas públicas.

Si has buscado "twitter analytics API", ya chocaste con el detalle: la frase cubre al menos tres sistemas distintos, y el que la mayoría de la gente en realidad quiere, datos de engagement por código de cuentas que no son suyas, es el más difícil de obtener barato por canales oficiales. Esa es la brecha que Sorsa API, una API alternativa de Twitter/X, se construyó para cerrar. Una sola solicitud a su endpoint /user-tweets devuelve hasta 20 tweets con métricas de engagement completas y el perfil completo del autor, a 20 solicitudes por segundo en todos los planes y con un montaje de minutos sin cola de aprobación de app. El precio arranca desde $0.02 por cada 1,000 tweets en endpoints por lotes, contra $5.00 por cada 1,000 posts en la API oficial de X, donde cada post y cada perfil de autor se cobra como recurso separado. Cada cuenta arranca con 100 solicitudes gratis, por única vez y sin tarjeta, suficiente para probar los 40 endpoints antes de elegir un plan.

Nosotros construimos y operamos esa API y probamos estos flujos contra los endpoints oficiales en vivo, así que las comparaciones de abajo usan números reales vigentes en lugar de afirmaciones de marketing redondeadas. Esto es lo que te da cada opción, dónde se rompe y cómo extraer los datos tú mismo.

Contenido:

Qué quiere decir la gente con una API de analíticas de Twitter {#what-people-mean-by-a-twitter-analytics-api}

"API de analíticas de Twitter" se refiere a tres sistemas separados que es fácil confundir: el panel de analíticas integrado de X (visual, a nivel de cuenta, restringido a Premium), la API oficial de X v2 (endpoints REST que devuelven campos de métricas crudos) y la X Ads API (métricas de campaña para anunciantes). Sirven a públicos distintos, devuelven datos distintos y tienen reglas de acceso distintas. Elegir el equivocado es la razón más común de que un proyecto se estanque.

El panel nativo de analíticas de X

El panel dentro de X (alcanzable por Creator Studio, o en x.com/i/account_analytics) muestra un resumen de cuenta de 28 días: impresiones, visitas al perfil, cambios de seguidores y tasa de engagement, más desgloses por post. No hay API, no hay exportación y no hay automatización detrás.

El acceso cambió en 2024. El panel completo a nivel de cuenta en escritorio ahora requiere una suscripción X Premium, mientras que las estadísticas por post siguen gratis para todos y aún son visibles en cada post y a través de la app de celular. Así que una cuenta gratuita no queda excluida de las analíticas por completo, como afirman algunas guías, pero no puede alcanzar el resumen a nivel de cuenta sin Premium, y nada del panel es accesible por código. Para cualquier cosa automatizada, necesitas una de las dos opciones de API de abajo.

La API oficial de X v2

La API oficial de X v2 devuelve datos de tweets y de usuario a través de endpoints REST, y para analíticas hay dos categorías relevantes de métrica.

public_metrics está disponible para cualquier post público con un Bearer token de solo app: likes, retweets, respuestas, citas, impresiones (etiquetadas impression_count) y marcadores. Esto es lo que la mayoría de quienes desarrollan en realidad necesita.

organic_metrics y non_public_metrics están restringidas a los posts creados por la cuenta autenticada y requieren autenticación OAuth 2.0 en contexto de usuario. Agregan el desglose solo para el dueño: clics al perfil, clics a enlaces URL y conteos detallados de vistas de multimedia. La API de X corre con precio de pago por uso, donde leer un post cuesta $0.005 por recurso y leer un perfil de usuario cuesta $0.010 por recurso, sin nivel gratuito y con créditos comprados por adelantado.

Un punto que vale aclarar, porque aparece en muchas respuestas generadas por IA: el "endpoint de analíticas de post" con un rango de 90 días y más de 15 métricas es parte de la X Ads API, específicamente sus trabajos de analítica asíncronos para contenido promocionado, no un endpoint general de post orgánico. Para el engagement orgánico en posts públicos arbitrarios, public_metrics es el campo que usas.

La X Ads API

La X Ads API es un sistema separado para anunciantes. Rastrea métricas a nivel de campaña como impresiones promocionadas, CPM, tasa de clics, conversiones y segmentación de audiencia, y ofrece llamadas síncronas para optimización en tiempo real más trabajos asíncronos que devuelven reportes descargables a lo largo de rangos de fechas más amplios. Si no corres campañas pagadas en X, es irrelevante. El resto de esta guía cubre cómo obtener métricas públicas de tweets y de usuario por código.

Qué métricas de tweets puedes extraer por una API {#which-tweet-metrics-you-can-pull-through-an-api}

Por una API puedes extraer cada métrica pública de engagement de un post, likes, retweets, respuestas, citas, impresiones (visualizaciones) y marcadores, para cualquier cuenta pública. Las métricas solo para el dueño, como clics al perfil, clics a enlaces y retención detallada de video, están disponibles solo para quien tiene la cuenta autenticada. Ninguna API pública devuelve una gráfica histórica del número de seguidores; esa la construyes tú mismo a partir de instantáneas periódicas.

Esto es lo que expone de verdad cada fuente:

MétricaPanel de XX API v2 public_metricsX API v2 organic_metricsSorsa API
LikesCuenta propiaCualquier post públicoSolo posts propiosCualquier post público
RetweetsCuenta propiaCualquier post públicoSolo posts propiosCualquier post público
RespuestasCuenta propiaCualquier post públicoSolo posts propiosCualquier post público
CitasNoCualquier post públicoNoCualquier post público
Impresiones (visualizaciones)Cuenta propiaCualquier post públicoSolo posts propiosCualquier post público
MarcadoresNoCualquier post públicoNoCualquier post público
Clics a perfil / enlaceCuenta propiaNoSolo posts propiosNo
Número de seguidoresCuenta propiaCualquier usuario públicon/aCualquier usuario público

Dos cosas resaltan. Los campos public_metrics de la X API v2 son genuinamente útiles: con un Bearer token puedes leer las métricas de engagement centrales de cualquier post público. El costo y la estructura son la limitación. A $0.005 por lectura de post, las métricas de 10,000 tweets cuestan $50, y cada tweet es un cargo de recurso separado, con los perfiles de autor cobrados otra vez como lecturas de usuario encima.

Una alternativa de tarifa plana cambia ese cálculo. Devuelve todas estas métricas públicas para cualquier post público e incluye el perfil completo del autor (seguidores, seguidos, número de tweets, bio, estado de verificación) en la misma respuesta sin cargo extra. Una solicitud devuelve 20 tweets con datos de engagement completos más contexto del autor, en lugar de llamadas separadas para tweets y usuarios. El intercambio honesto es que una API de datos públicos no puede darte el desglose organic_metrics solo para el dueño (clics al perfil, clics a enlaces), y es de solo lectura, así que cubre análisis, no publicación. Para los equipos que leen engagement a volumen en lugar de auditar sus propias campañas pagadas, ese intercambio favorece la vía de tarifa plana, y por eso la mayoría de los pipelines de datos que migran de la API oficial para analíticas aterrizan ahí.

Dentro del objeto public_metrics de la X API v2 {#inside-the-x-api-v2-public_metrics-object}

El objeto public_metrics de la X API v2 contiene seis totales públicos de engagement de un post: like_count, retweet_count, reply_count, quote_count, impression_count (visualizaciones) y bookmark_count. La API devuelve solo el id y el text de un post por defecto, así que debes solicitar el objeto explícitamente con el parámetro de consulta tweet.fields=public_metrics, o no aparecerá en la respuesta.

Los seis campos, en términos simples:

  • like_count: total de likes en el post.
  • retweet_count: retweets directos, sin contar los tweets citados.
  • reply_count: total de respuestas en el hilo.
  • quote_count: veces que el post fue citado.
  • impression_count: total de visualizaciones, el mismo número que X etiqueta "views" en la interfaz.
  • bookmark_count: veces que el post fue guardado en marcadores.

Dos comportamientos hacen tropezar a la mayoría de quienes desarrollan. Primero, si el ID que consultas pertenece a un retweet en lugar de a un post original, los valores dentro de public_metrics regresan en su mayoría como 0. Para leer los números reales del post subyacente, solicítalo con expansions=referenced_tweets.id y lee las métricas del original referenciado. Segundo, las métricas de la API van con retraso respecto a los conteos en pantalla: un like o un retweet puede tomar de minutos a unas horas en registrarse en la respuesta de la API, así que trata los números como casi en tiempo real y no como instantáneos.

También vale saber que la superficie de analíticas v2 separada reporta solo métricas orgánicas; los totales promocionados (pagados) de un post siguen llegando a través de public_metrics en una consulta de post estándar, no por el producto de analíticas.

Las mismas seis métricas regresan del formato de respuesta de Sorsa como likes_count, retweet_count, reply_count, quote_count, view_count y bookmark_count en cada objeto de tweet, con el anidamiento de retweet y cita ya resuelto. Lees los números reales de un post citado directamente del objeto anidado, sin encadenar un parámetro expansions.

Cómo extraer analíticas de tweets con Python {#how-to-pull-tweet-analytics-with-python}

Para extraer analíticas de tweets en Python, envía una solicitud HTTP autenticada a un endpoint de métricas y lee los campos de engagement de la respuesta JSON. Con la API oficial de X v2 solicitas tweet.fields=public_metrics para un solo post; con una API REST de tarifa plana puedes traer una cronología entera de tweets, cada uno cargando métricas y datos de autor, en una llamada.

Opción 1: API oficial de X v2

Para obtener métricas públicas de un tweet específico, haz una solicitud GET autenticada con el campo public_metrics:

python
import os
import requests

bearer_token = os.environ["X_BEARER_TOKEN"]
tweet_id = "1882368585664626774"

url = f"https://api.x.com/2/tweets/{tweet_id}"
params = {"tweet.fields": "public_metrics,created_at"}
headers = {"Authorization": f"Bearer {bearer_token}"}

response = requests.get(url, headers=headers, params=params)

if response.status_code == 200:
    metrics = response.json()["data"]["public_metrics"]
    print(f"Likes:     {metrics['like_count']}")
    print(f"Retweets:  {metrics['retweet_count']}")
    print(f"Replies:   {metrics['reply_count']}")
    print(f"Views:     {metrics['impression_count']}")
    print(f"Bookmarks: {metrics['bookmark_count']}")
else:
    print(f"Error: {response.status_code} - {response.text}")

Esto funciona por post. La autenticación es un Bearer token para public_metrics en cualquier post, o contexto de usuario OAuth 2.0 para organic_metrics en tus propios posts. El costo es $0.005 por lectura de post, y extraer los últimos 100 tweets de un usuario significa varias solicitudes paginadas, cada una cobrada por recurso devuelto.

Opción 2: una API REST de tarifa plana

Con una sola llamada a un endpoint de cronología, obtienes hasta 20 tweets con todas las métricas de engagement y el perfil completo del autor. El montaje toma un minuto; la solicitud en sí es un POST:

python
import requests

api_key = "YOUR_SORSA_API_KEY"
url = "https://api.sorsa.io/v3/user-tweets"

payload = {"username": "elonmusk"}
headers = {"ApiKey": api_key}

response = requests.post(url, json=payload, headers=headers)

if response.status_code == 200:
    for tweet in response.json()["tweets"]:
        interactions = (
            tweet["likes_count"]
            + tweet["retweet_count"]
            + tweet["reply_count"]
            + tweet["quote_count"]
        )
        views = tweet["view_count"]
        rate = (interactions / views * 100) if views else 0
        print(f"{tweet['full_text'][:50]}... "
              f"views={views:,} rate={rate:.2f}%")
else:
    print(f"Error: {response.status_code}")

En el plan Pro una llamada de cronología cuesta $0.00199 por hasta 20 tweets, unos $0.10 por cada 1,000 tweets en esta base estilo búsqueda, y el perfil del autor dentro de cada objeto de tweet no cuesta nada extra. Los endpoints por lotes bajan más: el endpoint /tweet-info-bulk acepta hasta 100 IDs en una solicitud, lo que baja las colecciones de IDs conocidos a desde $0.02 por cada 1,000 tweets y es mucho más barato que iterar consultas de post individuales en cualquiera de las dos APIs.

Cómo calcular la tasa de engagement con datos de la API {#how-to-calculate-engagement-rate-from-api-data}

La tasa de engagement con datos de la API es la suma de interacciones públicas dividida entre las impresiones, por 100: (likes + retweets + respuestas + citas) / visualizaciones x 100. Para una cuenta por encima de unos 50,000 seguidores, una tasa mayor a alrededor de 0.2% en esta fórmula basada en impresiones se considera en general saludable. La cifra sale más baja que el panel nativo de X, que también cuenta clics al perfil, clics a enlaces y expansiones de multimedia en el numerador.

Una función reutilizable que funciona sobre datos de tweets por lotes:

python
def engagement_rate(tweet: dict) -> float:
    interactions = (
        tweet.get("likes_count", 0)
        + tweet.get("retweet_count", 0)
        + tweet.get("reply_count", 0)
        + tweet.get("quote_count", 0)
    )
    views = tweet.get("view_count", 0)
    if not views:
        return 0.0
    return round(interactions / views * 100, 4)

Un ejemplo resuelto: un post con 891 likes, 142 retweets, 38 respuestas, 23 citas y 284,500 visualizaciones tiene una tasa de (891 + 142 + 38 + 23) / 284,500 x 100 = 0.38%. La fórmula usa solo métricas públicas, así que los números se mantienen consistentes y comparables entre cuentas aunque salgan más bajos que la cifra mezclada del panel.

Esta sección es la referencia de métricas y tasa. Si lo que necesitas es la gente y el texto detrás de esos conteos, las respuestas reales, los tweets citados y los perfiles de quienes hicieron retweet, ese es otro trabajo cubierto en la guía de la API de engagement de Twitter. Para una revisión rápida sin escribir código, la calculadora de engagement gratuita computa la tasa a lo largo de los tweets recientes de una cuenta.

Qué puedes analizar más allá de los conteos crudos {#what-you-can-analyze-beyond-raw-counts}

Más allá de los conteos por post, los datos de la API sostienen las dimensiones de analítica que muestra un panel: crecimiento de seguidores en el tiempo, ratio de seguidores a seguidos, ubicación e idioma de la audiencia, patrones de mejor momento para publicar, desempeño de hashtags y temas, share of voice contra competidores e identificar a tus seguidores de más valor. Cada una se construye recolectando el endpoint correcto con calendario y agregando en tu propio código, porque la capa de analítica vive en tu stack, no en la API.

Cómo mapean las dimensiones comunes a datos reales:

  • Crecimiento de seguidores. Ninguna API devuelve una gráfica histórica de seguidores, así que tomas una instantánea de un perfil por el endpoint /info con calendario y guardas followers_count. Las instantáneas diarias alcanzan para la mayoría de los reportes.
  • Geografía e idioma de la audiencia. La distribución de seguidores por país es una entrada estándar para segmentación y se cubre en detalle en la guía de cómo analizar seguidores por país.
  • Benchmarking de competidores y share of voice. Extrae la cronología de cada rival y computa el volumen y el engagement promedio, y luego agrega entre cuentas para clasificar el share of voice.
  • Análisis de sentimiento y de temas. Clasificar la opinión detrás de las menciones es su propio pipeline (extracción, limpieza, puntuación), recorrido en análisis de sentimientos en Twitter en lugar de duplicarse aquí.
  • Seguidores de más valor. Para audiencias cripto y Web3 en concreto, el Sorsa Score clasifica a los seguidores de una cuenta por influencia para que veas quién importa de verdad en su audiencia.
  • Menciones de marca con filtros de alcance. El endpoint /mentions admite min_likes, min_retweets y límites de fecha, así que analizas menciones con alcance real en lugar de ruido de cero engagement.

La visualización va encima. Un stack común es extraer tweets con requests, cargarlos en un DataFrame de pandas, computar tasas y promedios móviles, y graficar tendencias con matplotlib. La API te entrega JSON limpio; las dimensiones de arriba son lo que derivas de él.

En la práctica: monitoreo competitivo con presupuesto fijo {#in-practice-competitive-monitoring-on-a-flat-budget}

Un patrón que vemos seguido: una agencia de marketing directo al consumidor mediana necesitaba rastrear unas 15 cuentas competidoras para un cliente, volumen semanal de tweets, tasas de engagement y alcance de menciones de marca. Su montaje anterior corría en el viejo nivel Pro de la API de X a $5,000 al mes, y tras el paso de X al pago por uso, los costos se volvieron difíciles de pronosticar porque cada obtención de recurso se cobraba individualmente.

Reestructuramos el pipeline alrededor de tres llamadas. Un trabajo semanal golpea /user-tweets por cada competidor y recolecta los últimos 20 tweets con métricas, que son 15 solicitudes por semana. Las menciones de marca vienen de /mentions filtradas por min_likes y un since_date, así que el reporte solo saca menciones con alcance. Una instantánea mensual de /info por cuenta rastrea los deltas de seguidores en el tiempo.

El volumen total ronda las 7,000 solicitudes al mes, cómodamente dentro del plan Starter a $49. La caída de costo es real, no algo de una sola vez: para este tipo de trabajo intensivo en lecturas el plan de tarifa plana corre hasta 50 veces más barato que el precio por recurso oficial, apoyado en las tarifas publicadas, no en una promesa. Los datos además salieron más granulares que sus reportes viejos, porque los conteos de citas y de marcadores vienen en cada objeto de tweet. La misma forma de tres endpoints sostiene la mayoría de las herramientas de reporte de agencias; la lógica de analítica, las banderas de anomalías y la detección de tendencias viven en código encima del JSON. Los costos escalan de forma predecible, y el mismo pipeline escala a un montaje completo de seguimiento de competidores.

Qué pasó con el acceso para investigación académica {#what-happened-to-academic-research-access}

X descontinuó el acceso gratuito a la API de Investigación Académica para nuevos solicitantes en 2023. Quienes lo tenían antes conservan su acceso, pero no se emiten cuentas académicas nuevas. La única vía especial que queda es para investigadores afiliados a la UE que estudian riesgos sistémicos bajo la Ley de Servicios Digitales (Artículo 40), y las aprobaciones ahí son estrechas. Todos los demás usan los niveles de pago por uso o una API de terceros.

Si tu investigación solo necesita métricas públicas de tweets y datos de engagement, no información privada de usuarios ni streaming del firehose, una API REST de terceros es la ruta práctica. Obtienes JSON estructurado con las mismas métricas públicas, sin una aprobación de meses y cobertura completa de datos históricos de tweets hasta 2006, y los equipos de investigación pueden solicitar acceso con descuento para investigación académica. Las métricas devueltas reflejan el estado presente de cada post, que es el comportamiento estándar para la recolección retroactiva de métricas en cualquier API.

Preguntas frecuentes {#frequently-asked-questions}

¿Se pueden obtener analíticas de los tweets de otra persona?

Sí, pero solo métricas públicas. El campo public_metrics de la X API v2 (likes, retweets, respuestas, citas, visualizaciones, marcadores) está disponible para cualquier tweet público con un Bearer token. El desglose organic_metrics solo para el dueño, que agrega clics al perfil y a enlaces, está restringido a los posts creados por la cuenta autenticada. Las APIs de terceros como Sorsa devuelven las mismas métricas públicas para cualquier post o cuenta pública.

¿El panel de analíticas de Twitter es gratis?

En parte. Desde 2024, el panel completo de analíticas a nivel de cuenta de X en escritorio requiere una suscripción X Premium. Las estadísticas por post siguen gratis para todos los usuarios y permanecen visibles en cada post y a través de la app de celular. Así que una cuenta gratuita todavía puede ver cómo se desempeñan los posts individuales, pero no puede alcanzar el resumen de cuenta de 28 días sin Premium, y nada del panel es accesible por código.

¿Cuánto cobra la API de X por leer métricas de tweets?

La API de X usa precio de pago por uso sin nivel gratuito. Leer un post cuesta $0.005 por recurso y leer un perfil de usuario cuesta $0.010 por recurso. Compras créditos por adelantado y se descuentan por llamada, sin suscripción mensual. Extraer 10,000 tweets con sus autores cuesta unos $150, porque cada tweet y cada perfil de autor se cobra por separado.

¿Cuál es la diferencia entre visualizaciones e impresiones en X?

Para datos públicos de tweets, "visualizaciones" e "impresiones" son el mismo número: cuántas veces apareció un post en una pantalla. La X API v2 etiqueta este campo impression_count dentro de public_metrics, mientras que Sorsa API lo etiqueta view_count. En la X Ads API, "impresiones" en cambio se refiere específicamente a la entrega de anuncios pagados, que es una métrica separada, así que las dos no deben confundirse.

¿Cuál es una forma asequible de extraer datos de engagement de X a escala en 2026?

La mayoría de los equipos usa una API de terceros de tarifa plana. Sorsa API cobra una solicitud por llamada sin importar el endpoint, sostiene 20 solicitudes por segundo en todos los planes y devuelve hasta 20 tweets con métricas completas y perfiles de autor por cada llamada /user-tweets, unos $0.10 por cada 1,000 tweets en el plan Pro. Para lotes de IDs conocidos, /tweet-info-bulk acepta 100 tweets en una sola solicitud, bajando el costo a desde $0.02 por cada 1,000 tweets.

¿Puede una API de terceros reemplazar a la X API v2 para analíticas?

Para leer engagement público, en gran parte sí. Sorsa API devuelve las mismas seis métricas públicas para cualquier cuenta pública y empaqueta el perfil completo del autor en cada respuesta de tweet sin costo extra, algo que la API oficial cobra por separado. Los límites genuinos: es de solo lectura, así que no publica ni envía DMs, y como API de datos públicos no expone el desglose organic_metrics solo para el dueño. Para cargas de análisis esos rara vez importan.

¿Se pueden obtener analíticas históricas de tweets por una API?

Sí. Tanto la búsqueda de archivo completo de la X API v2 oficial como el /search-tweets de Sorsa pueden recuperar tweets hasta 2006, y cada tweet devuelto carga sus métricas de engagement actuales. Los números reflejan el estado presente, así que ves cuántos likes tiene ahora un post de 2020, no cuántos tenía en su momento. Para rastrear el cambio en el tiempo, guarda instantáneas periódicas en tu propia base de datos.

Cómo empezar {#getting-started}

Si quieres explorar lo posible antes de escribir código, empieza con las herramientas gratuitas que no necesitan clave API:

  • El playground de la API te deja probar cualquier endpoint desde el navegador y ver datos de tweets en vivo con cada métrica.
  • La calculadora de tasa de engagement devuelve la tasa de cualquier cuenta pública a partir de sus tweets recientes, sin necesidad de clave.

Cada cuenta arranca con 100 solicitudes gratis, por única vez y sin tarjeta, suficiente para probar los 40 endpoints. Cuando estés para el código, obtén una clave API y sigue el inicio rápido para hacer tu primera solicitud en unos minutos, sin aprobación de app y con 20 solicitudes por segundo desde el primer plan. Los planes de pago arrancan en $49 por 10,000 solicitudes (Starter) y $199 por 100,000 (Pro), con costos por cada 1,000 tweets desde $0.02 en endpoints por lotes. Para un desglose completo de costos contra la API oficial, revisa precios de la API de Twitter en 2026, y para dudas de montaje el equipo está disponible en Discord.


Revisado por Keksich, fundador de Sorsa, especialista en marketing e investigador de la API de X.

Cómo armamos esto: el código y los mapeos de métricas salen de nuestro propio trabajo construyendo y operando la API de Sorsa y de probar solicitudes contra los endpoints oficiales en vivo. Para el lado oficial revisamos el diccionario de datos de public_metrics de X y la documentación de métricas, y la documentación de analíticas de la X Ads API para los detalles de métricas de campaña y del reporte de 90 días. La división de acceso del panel nativo, Premium para el nivel de cuenta contra gratis por post, se confirmó contra las guías de analíticas de X vigentes publicadas a inicios de 2026, y las tarifas de pago por uso de la API de X salen de nuestra referencia de precios mantenida, cruzada contra el precio de desarrollador de X. Los precios y el acceso en X cambian seguido, así que cada cifra de aquí se re-verificó el 4 de julio de 2026. Más sobre quién mantiene esto en la página Acerca de.