All tutorials

How to scrape X (Twitter) search results with Python (2026)

A Python walkthrough for GET /v1/twitter/search. Copy the snippet, run it, then read the JSON.

GET /v1/twitter/search · 2 credits per successful request.

Also available in

You'll search X (Twitter) for a phrase and see the video results you get back.

Example job: find X (Twitter) videos for a phrase, then open the URLs you keep.

Get ready

You need a Social Fetch API key and a working Python environment. New accounts include 100 free credits.

  • API key. Create a Social Fetch account and copy an API key. New accounts include 100 free credits.

  • Python setup. Python 3 with requests installed (pip install requests). Export SOCIALFETCH_API_KEY.

When you're done, SOCIALFETCH_API_KEY is set in your shell.

Make the request

Copy the Python snippet, keep SOCIALFETCH_API_KEY in the environment, and send GET /v1/twitter/search with the x-api-key header. Example path: /v1/twitter/search?query=product+launch. The sample uses public values for search results.

Request
Python

You should see HTTP 200, then response.json() with data and meta. Call raise_for_status() before parsing.

Read the response

A JSON body with data (the search results) and meta (creditsCharged, requestId). The sample below is illustrative; field-level docs live on the endpoint page. Credits charge on completed lookups, not transport failures.

Request
Sample response

Branch on data.lookupStatus when present, then keep meta.requestId if a row looks wrong.

bill from meta.creditsCharged — X search is not the flat 1-credit assumption that fits TikTok or YouTube keyword search. Keep section, minLikes, and other filters unchanged when you advance cursor. Native operators belong in the query string; section controls which feed you page.

You finished

Same path and credits in playground, docs, and production. Pick a next action below.

Common questions

Do I need an official X (Twitter) developer account?

No. Social Fetch authenticates with your Social Fetch API key. You call GET /v1/twitter/search and we handle upstream access. You still need to follow each platform's terms for how you use public data.

What does the x (twitter) search endpoint return?

A JSON envelope with data (the search results) and meta (creditsCharged, requestId). Shape details and field docs live on the endpoint page and in the OpenAPI docs.

When should I use section=latest vs section=top on X search?

Use latest for crisis watches and frequent polls where recency matters. Use top for recap-style dashboards. Other section values include people, photos, and videos. Omit section to use the default top feed. Keep section and other filters stable across cursor pages.

Why does X search cost more than TikTok or YouTube search?

This operation is priced higher in the registry than most platform search routes. Always read meta.creditsCharged on the response — do not hard-code a 1-credit assumption from another platform's search tutorial.

How much does a successful request cost?

2 credits per successful request.

Is this okay for production?

Yes. Same production API as the rest of Social Fetch: typed errors, requestId on every response, and credit charges only on completed lookups (not infrastructure failures). New accounts get 100 free credits.

Any Python-specific tips for this request?

Yes. Call response.raise_for_status() before response.json(), set a timeout on requests.get, and keep response.json()["meta"]["requestId"] when a row looks wrong.