Documentación de la API de X/Twitter

X/Twitter API: Búsqueda — Publicaciones por consulta

Descubre datos de Búsqueda en X/Twitter a partir de la consulta de un usuario y conecta los resultados a interfaces de búsqueda, catálogo o investigación.

Usa «Publicaciones por consulta» cuando no conozcas el ID exacto del objeto y primero debas encontrar candidatos relevantes.

Método GET
Entidad Búsqueda
Versiones 2
Qué hace este endpoint

Qué puedes construir con este método de API

Revisa primero el resultado y los flujos habituales y luego pasa a los parámetros y a un ejemplo de solicitud funcional.

En qué te ayuda este endpoint

La respuesta incluye Búsqueda coincidentes, contexto público y datos de paginación cuando hay más resultados.

Cuándo usarlo

Usa «Publicaciones por consulta» cuando no conozcas el ID exacto del objeto y primero debas encontrar candidatos relevantes.

Casos de uso habituales

Búsqueda dentro del producto

Añade la búsqueda de datos de X/Twitter a interfaces para clientes e internas.

Construcción de catálogos

Encuentra candidatos por consulta y guarda los objetos relevantes para enriquecerlos después.

Investigación de mercado

Recopila conjuntos de resultados para análisis de temas, creadores y competencia.

Versiones disponibles

Versión de la respuesta

Ambas versiones resuelven la misma tarea y aceptan los mismos parámetros. Usa el selector para comparar la estructura de la respuesta y elegir la versión que espera tu cliente.

Versión de la respuesta V2

Cambia de versión en esta página para comparar las estructuras de respuesta manteniendo la misma URL de documentación.

Qué se mantiene igual

La autenticación, los parámetros obligatorios y la forma de la solicitud son iguales en V1 y V2. En la práctica, eliges la versión al construir la ruta del endpoint y al interpretar la respuesta.

Qué cambia entre versiones

La diferencia principal está en el envoltorio de la respuesta. Usa V2 para integraciones nuevas y mantén V1 solo cuando necesites compatibilidad con un contrato de cliente existente.

Cómo usarlo

Cómo llamar al método

Usa la misma cabecera de clave de API y los mismos parámetros de consulta en ambas versiones. Esta documentación muestra primero el conjunto de parámetros común y después las rutas y fragmentos de código de cada versión.

Parámetros de entrada

Parámetros comunes
Parámetro Obligatorio Tipo Ejemplo Descripción
query Sí str technology Consulta de búsqueda introducida por el usuario.
all_of_these_words No str | None AI robotics Optional words that must all appear in matching Twitter/X posts. Example: AI robotics.
any_of_these_words No str | None launch release Optional words where any one may appear in matching Twitter/X posts. Example: launch release.
cursor No str | None DAABCgABF4ABCD... Cursor de la página siguiente devuelto por la respuesta anterior. Omítelo para la primera página.
exact_phrase No str | None machine learning Optional exact phrase that must appear in matching Twitter/X posts. Example: machine learning.
from_accounts No str | None technews xai Optional source accounts without or with @, separated by spaces or commas. Example: technews xai.
hashtags No str | None #TechNews #AI Optional hashtags to require, separated by spaces or commas. Example: #TechNews #AI.
language No str | None en Optional Twitter/X language code. Use 'any' to omit language filtering. Example: en.
link_filter No include | only | exclude | None only Optional link filter: include all posts, only posts with links, or exclude links. Example: only.
mentioning_accounts No str | None technews elonmusk Optional mentioned accounts without or with @, separated by spaces or commas. Example: technews elonmusk.
min_likes No int | None 100 Optional minimum like count. Example: 100.
min_replies No int | None 10 Optional minimum reply count. Example: 10.
min_retweets No int | None 25 Optional minimum repost/retweet count. Example: 25.
none_of_these_words No str | None rumor leak Optional words to exclude from matching Twitter/X posts. Example: rumor leak.
reply_filter No include | only | exclude | None exclude Optional reply filter: include all posts, only replies, or exclude replies. Example: exclude.
since_date No date | None 2026-01-01 Optional earliest post date in ISO YYYY-MM-DD format. Example: 2026-01-01.
tag No Top | Latest | People | Photos | Videos | None Latest Optional Twitter/X search product filter. Example: Latest.
to_accounts No str | None technews Optional reply target accounts without or with @, separated by spaces or commas. Example: technews.
until_date No date | None 2026-01-31 Optional latest post date in ISO YYYY-MM-DD format. Example: 2026-01-31.

Ruta de solicitud por versión

V2

Elige una versión cuando copies la ruta exacta del endpoint, la URL de ejemplo y el fragmento de código. La lista de parámetros de arriba no cambia.

GET /api/v2/twitter.com/search/tweets-by-query

Formato normalizado

Ejemplos de código

curl --request GET \
  --url "https://www.scrapestorm.net/api/v2/twitter.com/search/tweets-by-query" \
  --header "X-API-Key: 00000000-0000-4000-8000-000000000000" \
  --get --data-urlencode 'query=technology' \
  # Optional parameters:
  # --data-urlencode 'all_of_these_words=AI robotics'
  # --data-urlencode 'any_of_these_words=launch release'
  # --data-urlencode 'cursor=DAABCgABF4ABCD...'
  # --data-urlencode 'exact_phrase=machine learning'
  # --data-urlencode 'from_accounts=technews xai'
  # --data-urlencode 'hashtags=#TechNews #AI'
  # --data-urlencode 'language=en'
  # --data-urlencode 'link_filter=only'
  # --data-urlencode 'mentioning_accounts=technews elonmusk'
  # --data-urlencode 'min_likes=100'
  # --data-urlencode 'min_replies=10'
  # --data-urlencode 'min_retweets=25'
  # --data-urlencode 'none_of_these_words=rumor leak'
  # --data-urlencode 'reply_filter=exclude'
  # --data-urlencode 'since_date=2026-01-01'
  # --data-urlencode 'tag=Latest'
  # --data-urlencode 'to_accounts=technews'
  # --data-urlencode 'until_date=2026-01-31'
Ejemplo de respuesta

Respuesta en vivo por versión

La vista previa conserva los campos clave y los primeros elementos de la colección para que puedas revisar rápidamente la forma de la respuesta. Al cambiar de versión cambia el formato del JSON.

Ejemplo de respuesta

V2 JSON de respuesta

Ejemplo verificado

Este ejemplo JSON compacto procede de la última ejecución de verificación correcta de V2.

{
  "success": true,
  "status": "ok",
  "pagination": {
    "cursor": "QVFB...",
    "has_more": true
  },
  "search_context": {
    "query": "Python code",
    "tag": "Top"
  },
  "data": {
    "tweets": {
      "count": 20,
      "items": [
        {
          "url": "https://x.com/freeCodeCamp/status/2078389573567050090",
          "tweet_id": "2078389573567050090",
          "text": "Learning to code can feel overwhelming when you don't know where to start.\n\nSo here's a course for you: Sunny teaches you Python from the ground up.\n\nYou'll install Python, writ…",
          "hashtags": [],
          "emails": [],
          "created_at": "2026-07-18T08:01:03Z",
          "language": "en",
          "source": "Buffer",
          "author": {
            "url": "https://x.com/freeCodeCamp",
            "user_id": "1668100142",
            "username": "freeCodeCamp",
            "display_name": "freeCodeCamp.org",
            "description": "We're a community of millions of people who are building new skills and getting new jobs together. A 501(c)(3) public charity. Tweets by @abbeyrenn.",
            "emails": [],
            "external_links": [],
            "location": "Just here on Earth... for now",
            "created_at": "2013-08-13T15:27:51Z",
            "is_verified": false,
            "is_blue_verified": true,
            "is_protected": false,
            "possibly_sensitive": false,
            "default_profile": false,
            "default_profile_image": false,
            "followers_count": 1204998,
            "following_count": 159,
            "tweet_count": 36772,
            "media_count": 5153,
            "listed_count": 6833,
            "like_count": 72305,
            "professional_type": null,
            "professional_category_name": null,
            "affiliated_account": null,
            "_more_fields": "5 more fields"
          },
          "is_from_automated_account": null,
          "media": {
            "images": [
              "…"
            ],
            "videos": [],
            "gifs": []
          },
          "external_links": [],
          "user_mentions": [],
          "is_reply": false,
          "reply": null,
          "is_quote": false,
          "quote_tweet_id": null,
          "is_retweet": false,
          "retweeted_tweet_id": null,
          "reply_count": 4,
          "retweet_count": 108,
          "quote_count": 3,
          "like_count": 599,
          "bookmark_count": 455,
          "_more_fields": "2 more fields"
        },
        {
          "url": "https://x.com/PythonPr/status/2078910492068786514",
          "tweet_id": "2078910492068786514",
          "text": "Pyramids in Python Code Examples for Beginners ⭐ https://t.co/QngwbiMVkb",
          "hashtags": [],
          "emails": [],
          "created_at": "2026-07-19T18:31:00Z",
          "language": "en",
          "source": "Twitter Web App",
          "author": {
            "url": "https://x.com/PythonPr",
            "user_id": "855384627975831553",
            "username": "PythonPr",
            "display_name": "Python Programming",
            "description": "#python #programming",
            "emails": [],
            "external_links": [],
            "location": "United States",
            "created_at": "2017-04-21T11:36:02Z",
            "is_verified": false,
            "is_blue_verified": true,
            "is_protected": false,
            "possibly_sensitive": false,
            "default_profile": true,
            "default_profile_image": false,
            "followers_count": 208924,
            "following_count": 1162,
            "tweet_count": 9883,
            "media_count": 4108,
            "listed_count": 1243,
            "like_count": 20597,
            "professional_type": null,
            "professional_category_name": null,
            "affiliated_account": null,
            "_more_fields": "5 more fields"
          },
          "is_from_automated_account": null,
          "media": {
            "images": [
              "…"
            ],
            "videos": [],
            "gifs": []
          },
          "external_links": [],
          "user_mentions": [],
          "is_reply": false,
          "reply": null,
          "is_quote": false,
          "quote_tweet_id": null,
          "is_retweet": false,
          "retweeted_tweet_id": null,
          "reply_count": 3,
          "retweet_count": 8,
          "quote_count": 0,
          "like_count": 62,
          "bookmark_count": 39,
          "_more_fields": "2 more fields"
        },
        {
          "_more_items": 18
        }
      ]
    }
  }
}
Qué hacer después

Continúa la evaluación

Usa esta documentación como primer punto de decisión y luego revisa los precios, la cobertura de la plataforma y las reglas de integración antes de conectar el endpoint para un uso recurrente.

Abre la página de la plataforma X/Twitter

Compara entidades cercanas, grupos de métodos de API y documentación relacionada antes de implementar.

Abrir la página de la plataforma

Compara los precios de los métodos de API

Comprueba dónde se sitúa este método en la tabla pública de precios antes de escalar el uso.

Ver precios

Revisa las reglas de integración

Usa la documentación inicial para confirmar la autenticación, las versiones, los reintentos y las diferencias entre prueba y producción.

Abrir la documentación
Preguntas frecuentes

Preguntas que los equipos hacen antes de implementar

Usa estas respuestas para decidir si este método de API encaja con tu flujo, tu elección de versión y tu plan de despliegue.

¿Qué datos devuelve este método de la API de X/Twitter?

El método realiza «Publicaciones por consulta» para Búsqueda. El ejemplo compacto de respuesta de abajo muestra la estructura exacta de los campos.

¿Debo elegir V1 o V2?

Elige V2 para integraciones nuevas porque ofrece una estructura normalizada. Usa V1 solo por compatibilidad con clientes que ya consumen el formato nativo de la plataforma.

¿Qué necesito para la primera solicitud?

Crea una clave de API, envíala en la cabecera de la solicitud e indica los parámetros obligatorios de la tabla. Los ejemplos de código ya contienen la ruta y la estructura de solicitud correctas.