x-search
The posts X (Twitter) returns for a search, one row per post, in X's order: id, link, text, time, author, counts, views, language, media, and whether it is a reply, a quote or a repost. query is X search text (rust lang, from:nasa since:2026-10-01); mode latest or top; limit up to 100. session is your X login (auth_token and ct0, from the Crawl4AI Session extension), for this run only. Without it, only from:<account> (since:/until: allowed) in mode latest: the account's timeline, newest first; older days via a slower second source. Other queries are refused, not billed.
Recipes are not open yet.
What this recipe returned on its last run. No key needed to look.
Fields
16 columns on every row. null means the site does not state it.| field | type | meaning |
|---|---|---|
| id | string | X's id of the post, as text (the number is too long for some JSON readers). |
| url | string | The post's link: https://x.com/<author>/status/<id>. |
| text | string | The post's whole text, a long post included; the media link X adds at the end is removed. |
| created | string | When the post was published, ISO 8601 UTC. |
| author | string | The author's handle, without the @. |
| author_name | string | The author's display name. |
| likes | integer | The likes count when read. |
| reposts | integer | The reposts count when read. |
| replies | integer | The replies count when read. |
| quotes | integer | How many posts quote this post. |
| views | integer | The views count; null when X hides it; on the second source it can be the provider's rounded number. |
| language | string | X's language code for the text (en, ja; und = not known, qme = media only); null without a session. |
| media | string[] | The post's media as URLs in X's order: a photo's image, a video's or GIF's MP4 file; empty when none. |
| is_reply | boolean | True when the post replies to another post. |
| is_quote | boolean | True when the post quotes another post. |
| is_repost | True when the row is a repost of another post; X's search lists none, the no-session second source lists the account's reposts too. |
null means the site does not state it.
How it behaves
Cost. 1 unit + 1 per 20 posts; or records. A failed run costs 0.
Freshness 2 min. The same input within 2 min is served from cache at 0 units.
How it answers. Answers at once for one input; a large run goes as a job you poll.
Questions about this recipeQuestions
Short answers. The API reference has the long ones.
Call POST /recipes/x-search with your key and query and limit and mode. You get rows with the 16 fields above. The recipe is tested against the live site every 6 hours.
1 unit + 1 per 20 posts; or records. A failed run costs 0. The same input within 2 min costs 0.
Yes. Sign up with Google, GitHub or email for a free key with 1,000 credits every month. No credit card.
The health check runs every 6 hours against the live site. A failing recipe shows as failing on this page until we fix it.
Extra fields, higher volume, or a private copy with a freshness SLA. We build it on Enterprise.
Request a changeMore for social listening
All 24 recipes →The latest messages of a public Telegram channel, from its web preview page: text, time, view count, the message's link and id, newest…
A public Facebook page's posts as its first load carries them (no paging): one row per post with id, URL, text (first 1000 chars), time…
One public Facebook post as one row: id, URL, author, text, time posted, reactions in total and by type, comments, shares, photos and…
For developers
Get a free API key and run your first crawl.
1,000 credits every month. No credit card. Your self-hosted setup keeps working.
For teams
Talk to us about volume, regions and an SLA.
A 30-minute call with the team that writes the crawler. DPA on request, invoice billing, your choice of US, EU or Singapore.