Tweet Scraper - $0.14 per 1,000, No X API Key
Pricing
Pay per event
Tweet Scraper - $0.14 per 1,000, No X API Key
$0.14 per 1,000 tweets, flat - no volume tiers, no plan gates. Full text, engagement counts, media, timestamps and author data from any handle or search. No X API key, no $200/month developer plan, no login.
Pricing
Pay per event
Rating
5.0
(1)
Developer
Dami's Studio
Maintained by CommunityActor stats
0
Bookmarked
32
Total users
14
Monthly active users
2 days ago
Last modified
Categories
Share
⚡ Tweet Scraper — X / Twitter Scraper (No Login, No API Key)
Scrape X (Twitter) at scale without a login, an account, or an API key. Pull tweets by profile, by tweet URL, or by search query and get back the full text plus every engagement metric — likes, retweets, replies, views, quotes and bookmarks — with author, media, hashtags and mentions. Export to JSON, CSV or Excel, hit it from the API, or have results delivered straight to Notion. Just $0.14 per 1,000 tweets — ideal for researchers, marketers, traders, and builders who need Twitter data now.
No
sessionid. No bearer token to find. No API key. Paste a handle and run. (Search terms and replies are the one exception — X requires a logged-in session for those; see below.)
What works without a login. Profile handles (
twitterHandles), profile URLs and tweet URLs need no credentials. Search terms and Include replies do: X answers itsSearchTimelineandUserTweetsAndRepliesoperations with an empty404for signed-out guest tokens. Paste theauth_tokenandct0cookies from a logged-in x.com session intoxAuthToken/xCsrfTokento unlock them. Without them the run still returns profile tweets and explains the gap in an uncharged diagnostic row.Date windows. X profile timelines have no server-side date filter, so
since/untilare applied while walking the timeline backwards (up to 80 pages). Only tweets that are actually delivered count towardmaxItems. A window years in the past may sit beyond that walk-back budget; the run reports how far back it reached.
Why this scraper beats the rest
- 🔓 Truly keyless — uses X's public guest-token GraphQL API + the syndication CDN. You never supply credentials.
- 🛡️ Self-healing — X rotates its GraphQL feature flags constantly; this actor detects the change mid-run and repairs the request automatically, so it keeps working when other scrapers 400.
- 💸 Flat $0.14 / 1,000 tweets — billed per tweet actually returned, with no volume tiers and no charge on empty or failed runs.
- 🧹 Clean, flat output — one tidy record per tweet, ready for spreadsheets, dashboards, or LLM pipelines. No raw nested soup.
- 🔁 Auto-dedupe — the same tweet is never returned (or charged) twice in a run.
- 📬 Built-in delivery — optionally push every run straight into Notion via Apify connectors, with zero extra code (most scrapers stop at the dataset).
- 🚦 Honest errors — if X blocks or rate-limits, you get a clear
errorCoderow instead of silent emptiness.
What you can scrape
| Mode | Input | Reliability |
|---|---|---|
| Profile timeline | twitterHandles or a profile URL | ✅ Fully keyless, most reliable |
| Single tweet | a …/status/123 URL | ✅ Rock-solid (syndication CDN) |
| Replies timeline | profile + includeReplies | ✅ Keyless |
| Search | searchTerms (supports from:, min_faves:, filter:media, date ops) | ⚠️ Keyless search is rate-limited by X — use profiles/URLs for volume |
Input
twitterHandles— usernames to scrape recent tweets from (e.g.nasa,elonmusk).startUrls— profile URLs (timeline) orstatusURLs (single tweet).searchTerms— full X search queries +sort(Latest/Top).maxItems— cap the number of tweets (you pay per tweet).includeReplies,onlyVerifiedUsers,since/until— filters.proxyConfiguration— optional; the actor already runs on its own stable egress pool.notionConnector— optional, deliver results to Notion.
Output (one record per tweet)
{"id": "20","url": "https://x.com/Twitter/status/20","text": "just setting up my twttr","createdAt": "Tue Mar 21 20:50:14 +0000 2006","lang": "und","replyCount": 1300,"retweetCount": 112000,"likeCount": 175000,"quoteCount": 8200,"viewCount": null,"hashtags": [], "mentions": [], "urls": [],"media": [],"author": {"id": "12", "userName": "jack", "name": "jack","followersCount": 6400000, "verified": true, "isBlueVerified": true}}
Pricing
$0.14 per 1,000 tweets ($0.00014 each), with no run-start fee. Flat rate — no volume tiers, no plan gates — and you are charged only for tweets actually returned.
Duplicates are removed before charging, and blocked, rate-limited or empty runs return an errorCode row that is never billed, so a failed run costs $0.00 today.
Price change on 19 August 2026: the per-tweet price stays at $0.00014, and a $0.001 run-start fee is added to each run from that date.
FAQ
Do I need a Twitter account or API key? No. Profiles, timelines and individual tweets work entirely keyless.
Is search reliable? Keyless search is rate-limited by X. For large/steady volume, scrape by profile handle or tweet URL.
Do I need to set up a proxy? No. The actor ships with its own pool of stable, long-lived egress addresses tuned for X, at no extra bandwidth cost to you. You can still supply your own proxy servers if you want the traffic to come from your addresses.
It returned an errorCode row — why? That's the actor telling you exactly what happened (e.g. RATE_LIMITED, BLOCKED, NOT_FOUND) instead of failing silently. Retry, lower volume, or switch proxy country.
What will 1,000 tweets cost me? $0.14 today. From 19 August 2026, $0.141 — the extra $0.001 is the run-start fee, charged once per run however many tweets it returns.