Documentation de l'API X/Twitter

X/Twitter API: Recherche — Publications par requête

Trouvez des données Recherche sur X/Twitter à partir d'une requête utilisateur et connectez les résultats à des interfaces de recherche, de catalogue ou d'exploration.

Utilisez « Publications par requête » lorsque vous ne connaissez pas l'identifiant exact de l'objet et devez d'abord trouver des candidats pertinents.

Méthode GET
Entité Recherche
Versions 2
Ce que fait cet endpoint

Ce que vous pouvez construire avec cette méthode d'API

Examinez d'abord le résultat et les flux courants, puis passez aux paramètres et à un exemple de requête fonctionnel.

À quoi sert cet endpoint

La réponse contient les Recherche correspondants, le contexte public et les données de pagination lorsque d'autres résultats sont disponibles.

Quand l'utiliser

Utilisez « Publications par requête » lorsque vous ne connaissez pas l'identifiant exact de l'objet et devez d'abord trouver des candidats pertinents.

Cas d'usage courants

Recherche dans le produit

Ajoutez la recherche dans les données X/Twitter aux interfaces clients et internes.

Constitution de catalogues

Trouvez des candidats par requête et conservez les objets pertinents pour un enrichissement ultérieur.

Études de marché

Collectez des ensembles de résultats pour analyser les sujets, les créateurs et la concurrence.

Versions disponibles

Version de la réponse

Les deux versions répondent au même besoin et acceptent les mêmes paramètres. Utilisez le sélecteur pour comparer la structure de la réponse et choisissez la version attendue par votre client.

Version de la réponse V2

Changez de version sur cette page pour comparer les structures de réponse sous la même URL de documentation.

Ce qui reste identique

L'authentification, les paramètres obligatoires et la forme de la requête sont identiques en V1 et V2. En pratique, vous choisissez la version en construisant le chemin de l'endpoint et en lisant la réponse.

Ce qui change entre les versions

La principale différence réside dans l'enveloppe de la réponse. Utilisez V2 pour les nouvelles intégrations et ne conservez V1 que si vous avez besoin de compatibilité avec un contrat client existant.

Comment l'utiliser

Comment appeler la méthode

Utilisez le même en-tête de clé API et les mêmes paramètres de requête dans les deux versions. Cette documentation présente d'abord l'ensemble commun de paramètres, puis les chemins et extraits de code de chaque version.

Paramètres d'entrée

Paramètres communs
Paramètre Obligatoire Type Exemple Description
query Oui str technology Requête de recherche saisie par l'utilisateur.
all_of_these_words Non str | None AI robotics Optional words that must all appear in matching Twitter/X posts. Example: AI robotics.
any_of_these_words Non str | None launch release Optional words where any one may appear in matching Twitter/X posts. Example: launch release.
cursor Non str | None DAABCgABF4ABCD... Curseur de la page suivante issu de la réponse précédente. À omettre pour la première page.
exact_phrase Non str | None machine learning Optional exact phrase that must appear in matching Twitter/X posts. Example: machine learning.
from_accounts Non str | None technews xai Optional source accounts without or with @, separated by spaces or commas. Example: technews xai.
hashtags Non str | None #TechNews #AI Optional hashtags to require, separated by spaces or commas. Example: #TechNews #AI.
language Non str | None en Optional Twitter/X language code. Use 'any' to omit language filtering. Example: en.
link_filter Non include | only | exclude | None only Optional link filter: include all posts, only posts with links, or exclude links. Example: only.
mentioning_accounts Non str | None technews elonmusk Optional mentioned accounts without or with @, separated by spaces or commas. Example: technews elonmusk.
min_likes Non int | None 100 Optional minimum like count. Example: 100.
min_replies Non int | None 10 Optional minimum reply count. Example: 10.
min_retweets Non int | None 25 Optional minimum repost/retweet count. Example: 25.
none_of_these_words Non str | None rumor leak Optional words to exclude from matching Twitter/X posts. Example: rumor leak.
reply_filter Non include | only | exclude | None exclude Optional reply filter: include all posts, only replies, or exclude replies. Example: exclude.
since_date Non date | None 2026-01-01 Optional earliest post date in ISO YYYY-MM-DD format. Example: 2026-01-01.
tag Non Top | Latest | People | Photos | Videos | None Latest Optional Twitter/X search product filter. Example: Latest.
to_accounts Non str | None technews Optional reply target accounts without or with @, separated by spaces or commas. Example: technews.
until_date Non date | None 2026-01-31 Optional latest post date in ISO YYYY-MM-DD format. Example: 2026-01-31.

Chemin de requête par version

V2

Choisissez une version lorsque vous copiez le chemin exact de l'endpoint, l'URL d'exemple et l'extrait de code. La liste des paramètres ci-dessus ne change pas.

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

Format normalisé

Exemples de code

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'
Exemple de réponse

Réponse en direct par version

L'aperçu contient les champs clés et les premiers éléments de la collection pour vous permettre de vérifier rapidement la forme de la réponse. Le format JSON change avec la version.

Exemple de réponse

V2 JSON de réponse

Exemple vérifié

Cet exemple JSON compact provient de la dernière vérification réussie 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
        }
      ]
    }
  }
}
Étapes suivantes

Poursuivez l'évaluation

Utilisez cette documentation comme premier point de décision, puis vérifiez les prix, la couverture de la plateforme et les règles d'intégration avant de connecter l'endpoint pour un usage récurrent.

Ouvrez la page de la plateforme X/Twitter

Comparez les entités associées, les groupes de méthodes d'API et la documentation liée avant l'implémentation.

Ouvrir la page de la plateforme

Comparez les prix des méthodes d'API

Vérifiez la place de cette méthode dans le tableau public des tarifs avant d'augmenter l'utilisation.

Voir les tarifs

Consultez les règles d'intégration

Confirmez l'authentification, les versions, les nouvelles tentatives et les différences entre test et production dans la documentation de démarrage.

Ouvrir la documentation
Questions fréquentes

Les questions que posent les équipes avant l'implémentation

Utilisez ces réponses pour décider si cette méthode d'API convient à votre flux, à votre choix de version et à votre plan de déploiement.

Quelles données renvoie cette méthode de l'API X/Twitter ?

La méthode exécute « Publications par requête » pour Recherche. L'exemple de réponse compact ci-dessous montre la structure exacte des champs.

Dois-je choisir V1 ou V2 ?

Choisissez V2 pour les nouvelles intégrations, car elle fournit une structure normalisée. N'utilisez V1 que pour la compatibilité avec des clients qui traitent déjà le format natif de la plateforme.

De quoi ai-je besoin pour la première requête ?

Créez une clé API, envoyez-la dans l'en-tête de la requête et renseignez les paramètres obligatoires du tableau. Les exemples de code contiennent déjà le bon chemin et la bonne structure de requête.