Skip to main content
Sorsa API permite consultar el archivo de datos públicos de X (antes Twitter) desde marzo de 2006. La recuperación histórica utiliza los mismos endpoints, autenticación y paginación que los datos recientes. No requiere un nivel separado de acceso al archivo, un contrato Enterprise ni una ventana temporal restringida. Las consultas consumen la misma cuota que las demás llamadas, por lo que puedes probarlas con las 100 solicitudes gratuitas de cada cuenta, sin tarjeta. Esta página explica los dos endpoints para datos históricos, qué información expone la plataforma y cómo trabajar con grandes volúmenes.
Nota: consulta una comparación de métodos, exportación a CSV y más código en la guía de datos históricos de Twitter.

Endpoints

/search-tweets admite los operadores de X, incluidos since:, until:, from:, to:, min_faves:, min_retweets:, lang: y filter:, dentro de query. /user-tweets acepta un identificador (user_link, username o user_id) y devuelve la cronología sin filtros de consulta.

Búsqueda histórica por palabras clave

Utiliza /search-tweets para buscar publicaciones de cualquier usuario que coincidan con una consulta en un intervalo. Envía la consulta con las fechas en el cuerpo JSON:
order acepta "latest" (orden cronológico) o "popular" (por interacción). Para recopilar un intervalo histórico utiliza "latest"; para investigar contenido, "popular" muestra primero las publicaciones con más interacción.

Cronología completa de una cuenta

Utiliza /user-tweets para obtener el historial de una cuenta de más reciente a más antiguo, sin un límite de 3.200 publicaciones.
Proporciona exactamente uno de estos identificadores: user_link, username o user_id. Recorre las páginas con next_cursor hasta que sea nulo. El orden es cronológico inverso. Para un intervalo de fechas de una cuenta, utiliza /search-tweets con from:, por ejemplo from:naval since:2020-01-01 until:2021-01-01. /user-tweets no admite filtros de fecha.

Datos que puedes recuperar

Las publicaciones históricas incluyen los mismos campos que las recientes:
  • Texto completo, sin recortes ni sustitución de URL.
  • Las seis métricas: likes_count, retweet_count, reply_count, quote_count, view_count y bookmark_count.
  • Objeto user con el perfil completo del autor.
  • Array entities con URL multimedia (fotos, vídeos y GIF) y vistas previas de enlaces.
  • Metadatos de conversación: conversation_id_str, in_reply_to_tweet_id, is_reply e is_quote_status.
  • Código de idioma: lang.
Consulta todos los campos en Formato de respuesta.

Limitaciones de la plataforma

Son restricciones de X, no específicas de Sorsa. Ninguna API pública puede evitarlas.
  • Las publicaciones eliminadas desaparecen del índice de búsqueda y no se pueden recuperar.
  • Las cuentas protegidas se excluyen de búsquedas y cronologías públicas.
  • Los perfiles no son históricos. Una publicación de 2014 devuelve la biografía, el nombre y los seguidores actuales de su autor, no los de 2014.
  • Las métricas no son instantáneas históricas. Los contadores de Me gusta, retuits y visualizaciones reflejan los totales actuales. Si necesitas valores de una fecha concreta, recopila y guarda las métricas mediante Supervisión en tiempo real.

Buenas prácticas

Divide los intervalos grandes

Una consulta que cubre varios años dificulta los reintentos y la auditoría por periodos. Divide por meses las recopilaciones anuales y por semanas los acontecimientos de gran actividad.

Reduce el ruido de los retuits

Las búsquedas históricas populares pueden incluir oleadas de retuits nativos que ocultan el contenido original. Añade -filter:nativeretweets para investigar sentimiento, opiniones o patrones de contenido. Utiliza -filter:retweets para excluir también los retuits antiguos con RT @user:.

Combina interacción y fechas

Combinar since: y until: con min_faves: o min_retweets: reduce el ruido y las solicitudes. Ejemplo:

Divide los temas globales por idioma

En acontecimientos mundiales, las consultas separadas por lang: generan conjuntos más claros por idioma que las consultas mezcladas.

Continúa hasta agotar el cursor

Detente solo cuando next_cursor sea nulo, vacío o no aparezca. No termines porque una página tenga pocos resultados. Consulta Paginación.

Guías relacionadas