Twitter / X Scraper - Tweets, Profiles, Search, Hashtags avatar

Twitter / X Scraper - Tweets, Profiles, Search, Hashtags

Pricing

$1.00 / 1,000 tweet scrapeds

Go to Apify Store
Twitter / X Scraper - Tweets, Profiles, Search, Hashtags

Twitter / X Scraper - Tweets, Profiles, Search, Hashtags

Scrape Twitter / X profiles, tweets, hashtags, and search results at scale. Extract follower counts, engagement metrics, user bios, and full tweet history. Supports multi-strategy data collection via Apify API.

Pricing

$1.00 / 1,000 tweet scrapeds

Rating

0.0

(0)

Developer

Hasnain Nisar

Hasnain Nisar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 hours ago

Last modified

Share

Twitter / X Scraper 🐦 Tweets, Profiles, Search & Hashtags β€” No API Key

Scrape tweets, user profiles, hashtags and advanced-search results from X (formerly Twitter) β€” no developer account, no API key, no $100/month X API bill. Paste search queries, handles, or URLs and get clean, structured tweet data with engagement metrics, author details, media, and timestamps. Export to JSON, CSV, Excel, or the API.

The output is drop-in compatible with apidojo's Tweet Scraper (likeCount, retweetCount, author.userName, …) β€” switch Actors without rewriting a single field in your pipeline.


⚑ At a glance

ScrapesTweets by search query, by profile/handle, by hashtag, and by direct URL
Engagementlikes, retweets, replies, quotes, views, bookmarks
Author datausername, display name, verified flag, avatar, profile links
Filterslanguage, date range, min likes/retweets/replies, media-only, verified-only
Outputapidojo-compatible JSON β†’ CSV Β· Excel Β· XML Β· API
API key❌ Not required
X sessionoptional β€” add authToken + ct0 for full-completeness scraping
Proxyresidential-ready (recommended for X)
Advanced searchβœ… Full from:, since:, filter:media, min_faves: … syntax

🎯 What it does

  • βœ… Search scraping β€” any Twitter advanced-search query: keywords, from:user, #hashtag, filter:media, lang:en, min_faves:100, and more.
  • βœ… Profile timelines β€” newest tweets from any handle, with optional replies/retweets.
  • βœ… Hashtag tracking β€” pass #topic as a search term.
  • βœ… Direct URLs β€” tweet, profile, or search URLs; paste and go.
  • βœ… Rich filters β€” language, start/end date, minimum engagement, media-only, verified-only.
  • βœ… apidojo-compatible output β€” migrate from Tweet Scraper V2 with zero field renaming.

πŸš€ Quick start

{
"searchTerms": ["from:NASA"],
"sort": "Latest",
"maxItems": 100
}

Click Start, then download the dataset as CSV / JSON / Excel.

More examples

Keyword search in English

{ "searchTerms": ["artificial intelligence"], "tweetLanguage": "en", "sort": "Top" }

Hashtag with media only

{ "searchTerms": ["#AI filter:media"], "onlyImage": true }

A user's tweets between two dates

{ "searchTerms": ["from:elonmusk since:2024-01-01 until:2024-06-01"], "sort": "Latest" }

Profile timeline by handle

{ "twitterHandles": ["nasa", "spacex"], "maxItems": 50, "includeReplies": false }

High-engagement tweets only

{ "searchTerms": ["climate change"], "minimumFavorites": 500, "minimumRetweets": 100 }

Direct URLs

{ "startUrls": ["https://x.com/NASA", "https://x.com/NASA/status/1728108619189874825"] }

πŸ’‘ Tip: You can test any query on x.com/search first β€” the scraper fetches what you see there.


🍜 Output example (apidojo-compatible)

{
"type": "tweet",
"id": "1728108619189874825",
"url": "https://x.com/elonmusk/status/1728108619189874825",
"twitterUrl": "https://twitter.com/elonmusk/status/1728108619189874825",
"text": "More than 10 per human on average",
"retweetCount": 11311,
"replyCount": 6526,
"likeCount": 104121,
"quoteCount": 2915,
"viewCount": 8200000,
"bookmarkCount": 702,
"createdAt": "Fri Nov 24 17:49:36 +0000 2023",
"lang": "en",
"isReply": false,
"isRetweet": false,
"isQuote": true,
"media": ["https://pbs.twimg.com/media/HBUzlGwbcAUboWU.jpg"],
"author": {
"type": "user",
"userName": "elonmusk",
"name": "Elon Musk",
"url": "https://x.com/elonmusk",
"twitterUrl": "https://twitter.com/elonmusk",
"isVerified": true,
"profilePicture": "https://pbs.twimg.com/profile_images/.../yRsRRjGO_normal.jpg"
},
"source": "graphql-auth"
}

🍚 Input parameters

FieldTypeDescription
searchTermsarraySearch queries (full advanced-search syntax).
twitterHandlesarrayProfile handles (without @) to scrape timelines for.
startUrlsarrayDirect X/Twitter tweet, profile, or search URLs.
maxItemsintegerMax tweets to return in total.
sortLatest | TopResult ordering.
tweetLanguagestringISO 639-1 code (e.g. en).
onlyImage / onlyVideobooleanMedia-only filters.
onlyVerifiedUsers / onlyQuotebooleanAuthor/type filters (applied when metadata is present).
minimumRetweets / minimumFavorites / minimumRepliesintegerMinimum-engagement thresholds.
start / enddateDate range for search terms (YYYY-MM-DD).
includeReplies / includeRetweetsbooleanTimeline composition for handles.
authToken / csrfTokenstring (secret)Your X auth_token + ct0 cookies β€” optional, for full-completeness scraping.
proxyConfigurationobjectProxy settings (residential recommended).

Legacy aliases queries, usernames, urls, maxTweets are still accepted.


πŸ”‘ Using your X session (optional, for best results)

X heavily restricts logged-out access. Supplying your own session cookies unlocks X's native GraphQL API for the most complete, highest-volume results β€” and keeps you in control instead of relying on a shared, throttled pool.

  1. Log in at x.com in Chrome/Edge (a secondary account is fine).
  2. Press F12 β†’ Application tab β†’ Cookies β†’ https://x.com.
  3. Copy the value of auth_token β†’ paste into authToken.
  4. Copy the value of ct0 β†’ paste into csrfToken.

πŸ”’ Cookies are used only to sign read requests for this run and are never stored or logged. Pair them with a residential proxy (ideally same region as the account) for stability. Without a session, the Actor still works via public endpoints (syndication, mirrors) β€” just with lower completeness on search.


πŸ†š Why choose this Actor

Feature🐦 This Actorapidojo Tweet Scraper V2Microworlds
No X API key requiredβœ…βœ…βœ…
Advanced-search syntaxβœ…βœ…βœ…
apidojo-compatible outputβœ… (drop-in)n/a❌
Free users via APIβœ…βŒ (UI only)varies
No 50-tweet minimum per queryβœ…βŒ (min 50)βœ…
Single-tweet & small queriesβœ…βŒβœ…
Bring-your-own sessionβœ…βŒβŒ
Date / language / engagement filtersβœ…βœ…βœ…
Residential-proxy supportβœ…βœ…βœ…
Transparent fallback chainβœ…βŒβŒ

Where this Actor wins: no per-query minimums, works for single tweets and tiny result sets, usable on the free tier via API for testing, and emits the exact field names apidojo users already depend on β€” so migration is copy-paste.


πŸ”— Integrations & automation

  • Google Sheets / Excel β€” export with one click or schedule a recurring run.
  • Make / Zapier / n8n β€” trigger downstream on new dataset items.
  • Apify API β€” pull the dataset in any language:
$curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?format=csv&clean=true&token=<YOUR_TOKEN>"

❓ FAQ

Do I need a Twitter/X API key or developer account? No. This Actor works without the paid X API. Add your own session cookies only if you want maximum completeness on search.

Is there a minimum number of tweets per query? No. Unlike some large-scale-only scrapers, there's no 50-tweet minimum β€” fetch a single tweet or a handful if that's all you need.

Can I scrape tweets from a specific user? Yes β€” use twitterHandles: ["nasa"] or a search term like from:nasa.

Can I scrape a hashtag? Yes β€” pass it as a search term: searchTerms: ["#AI"].

How do I filter by date, language, or engagement? Use start/end, tweetLanguage, and minimumFavorites/minimumRetweets/minimumReplies. You can also embed operators directly in a query: from:nasa since:2024-01-01 min_faves:100.

Why did I get fewer results than expected without cookies? X restricts logged-out search. Add authToken + ct0 and a residential proxy for full-volume scraping. Public endpoints are best-effort.

Is the output compatible with apidojo's Tweet Scraper? Yes β€” fields like id, url, text, likeCount, retweetCount, replyCount, createdAt, and author.userName match, so most pipelines work unchanged.

Is scraping X legal? Scraping public data is generally permitted in many jurisdictions, but you must comply with X's Terms, GDPR/CCPA, and local laws. Use data responsibly.


⚠️ Limitations

  • Logged-out search is heavily restricted by X; for reliable, high-volume search add your session + a residential proxy.
  • Shadow-banned or filtered tweets may not appear β€” this is X-side behavior, outside the Actor's control.
  • Datacenter IPs are rate-limited fast; use residential proxies for scale.
  • X can change its GraphQL/search behavior at any time; the Actor degrades gracefully through a fallback chain (auth GraphQL β†’ syndication β†’ mirrors β†’ search hydration).

πŸ“¨ Support & feedback

Need an extra field or hit an issue? Open it on the Actor page β€” requests are reviewed quickly. If this saved you time, a short ⭐ review on Apify helps others find it.

Happy scraping! πŸš€