🐦 Twitter (X) Search Scraper avatar

🐦 Twitter (X) Search Scraper

Pricing

from $4.99 / 1,000 results

Go to Apify Store
🐦 Twitter (X) Search Scraper

🐦 Twitter (X) Search Scraper

🐦 Twitter (X) Search Scraper by twitter-search-scraper pulls real-time results from X search queriesβ€”tweets, authors, timestamps & engagement. πŸ”Ž Fast, efficient scraping for brand monitoring, competitor insights, sentiment & lead research. πŸš€

Pricing

from $4.99 / 1,000 results

Rating

0.0

(0)

Developer

Scraper Engine

Scraper Engine

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

2 days ago

Last modified

Share

Extract clean, structured tweets from X (formerly Twitter) search results at scale β€” no Twitter API key, no developer account, no fuss. Feed it plain keywords or full advanced-search operators and get back tweet text, media, engagement stats, links, and the full author profile.

Built for marketers, researchers, journalists, and data teams who need reliable Twitter/X search data in JSON, CSV, or Excel.


✨ Why choose this scraper?

  • 🧠 Advanced search, simplified β€” every X operator (from:, to:, filter:, since:, min_faves:, lang:, near: …) is exposed as a friendly checkbox or field.
  • πŸ›°οΈ Self-healing proxy ladder β€” starts with no proxy and automatically escalates to datacenter β†’ residential the moment X rate-limits you, then sticks with what works. No babysitting.
  • πŸ’Ύ Live results β€” tweets stream into your dataset as they're found, so a long run never loses data.
  • πŸ‘€ Rich author data β€” optionally attach full profile info (followers, bio, location, join date) to every tweet.
  • πŸ’¬ Reply threads β€” pull replies up to 20 levels deep.
  • πŸ“Š Per-section output β€” results are grouped per search query in the key-value store and tagged with a searchQuery column in the dataset table.

πŸ”‘ Key Features

FeatureDescription
πŸ”Ž Bulk queriesSearch many terms in one run β€” each is collected separately.
πŸ”’ Tweet limitCap the number of tweets per query.
πŸ“… Date filterssince / until, absolute (2026-01-01) or relative (2 days, 1 month).
πŸ“ˆ Engagement filtersMinimum replies / retweets / likes.
πŸ‘₯ Account filtersFrom / to / mentioning specific accounts.
βœ…πŸš« Include & excludeMedia, images, videos, news, verified, links, quotes, replies…
🌍 LanguageRestrict to any of 40+ languages.
πŸ’¬ RepliesRecursive reply scraping, depth 0–20.

πŸ“₯ Input

{
"searchQueries": ["web scraping", "from:openai filter:videos"],
"tweetsDesired": 100,
"repliesDepth": 0,
"includeUserInfo": true,
"since": "2026-01-01",
"minLikes": 10,
"language": "en",
"authToken": "YOUR_X_AUTH_TOKEN_COOKIE",
"csrfToken": "YOUR_X_CT0_COOKIE",
"proxyConfiguration": { "useApifyProxy": false }
}
FieldTypeDescription
searchQueriesarrayOne or more search terms (plain or advanced syntax). Bulk input.
tweetsDesiredintegerMax tweets per query (default 100).
repliesDepthinteger0 = none, 1 = direct replies, 2 = replies of replies… (max 20).
includeUserInfobooleanAttach the author profile to every tweet.
since / untilstringDate window β€” YYYY-MM-DD or relative (1 month).
minReplies / minRetweets / minLikesintegerEngagement floors.
fromTheseAccounts / toTheseAccounts / mentioningTheseAccountsarrayAccount filters.
media, images, videos, verified, …booleanInclude-only filters.
excludeMedia, excludeImages, …booleanExclusion filters.
languagestringLanguage code or any.
nearstringSearch near a location.
textLengthLessThanintegerKeep only short tweets.
authToken / csrfTokenstringRequired. Your X auth_token and ct0 cookies from a logged-in session.
proxyConfigurationobjectProxy settings (see below).

πŸ“€ Output

Each dataset item is one tweet:

{
"id": "2058075699500720183",
"url": "https://x.com/InduTripat82427/status/2058075699500720183",
"verified": true,
"username": "@InduTripat82427",
"fullname": "Indu Tripathi",
"avatar": "https://pbs.twimg.com/profile_images/.../AQwwYH26.jpg",
"images": ["https://pbs.twimg.com/amplify_video_thumb/.../img.jpg"],
"timestamp": "2026-05-23T06:40:58.000Z",
"text": "Web scraping just leveled up …",
"links": [],
"isQuote": false,
"isRetweet": false,
"isReply": false,
"likes": 370,
"replies": 30,
"retweets": 83,
"quotes": 0,
"searchQuery": "web scraping",
"media": [{ "type": "video", "url": "https://video.twimg.com/.../m5SKxpYgRo8oG8ah.mp4" }],
"tweetUserId": "1993005544400207878",
"user": {
"userId": "1993005544400207878",
"username": "InduTripat82427",
"userFullName": "Indu Tripathi",
"description": "AI & Tech Influencer …",
"location": "MP",
"website": "https://ai-for-gods.beehiiv.com/",
"joinDate": "2025-11-24T17:15:40.000Z",
"verified": true,
"totalLikes": 1939,
"totalTweets": 3339,
"totalFollowing": 45,
"totalFollowers": 16858,
"totalMediaCount": 639,
"url": "https://x.com/InduTripat82427"
}
}

Per-section output: the dataset has a searchQuery column so you can split by query, and the key-value store holds a grouped OUTPUT ({ "query": [ …tweets ] }) plus one tweets_<query> snapshot per search.

When repliesDepth > 0, each tweet additionally carries a nested replies array of the same shape.


πŸ›°οΈ Proxy configuration

The scraper uses a smart fallback ladder:

  1. 🌐 No proxy (direct) β€” fastest, tried first.
  2. 🏒 Datacenter proxy β€” used automatically if X blocks the direct connection.
  3. 🏠 Residential proxy β€” final fallback, retried up to 3 times; once reached it stays for the rest of the run.

Every escalation is logged. For large runs, pick RESIDENTIAL in the proxy field to start there immediately.


πŸš€ How to Use (Apify Console)

  1. Log in at console.apify.com β†’ Actors.
  2. Open Twitter (X) Search Scraper.
  3. Enter your search queries and tweak filters / proxy.
  4. Click Start.
  5. Watch the live log fill up with collected tweets.
  6. Open the Output tab and export to JSON / CSV / Excel.

πŸ€– Use via API

curl -X POST "https://api.apify.com/v2/acts/<ACTOR_ID>/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchQueries":["web scraping"],"tweetsDesired":50}'

πŸ’³ Pricing

This actor uses the pay-per-event model with a single primary event:

  • row_result β€” billed once per tweet returned in your dataset.

You only pay for the data you receive. Platform start-up time is covered by the synthetic apify-actor-start event.


❓ FAQ

Do I need a Twitter/X API key? No. The scraper works against X's public web search.

Why do some runs switch to a residential proxy? X aggressively rate-limits datacenter IPs. The actor detects this and escalates automatically so your run keeps going.

Can I scrape replies? Yes β€” set repliesDepth to 1 or higher (up to 20). Note this is much slower.

Can I use my own account? Yes β€” paste your auth_token and ct0 cookies in the Authentication section.


  • Only publicly available data is collected.
  • You are responsible for complying with X's Terms of Service and applicable laws (GDPR, CCPA, etc.).
  • Do not use scraped data for spam or harassment.

πŸ›Ÿ Support

Found a bug or need a new field? Open an issue on the actor's Issues tab β€” real answers, fast.