Tweet Scraper - $0.14 per 1,000, No X API Key avatar

Tweet Scraper - $0.14 per 1,000, No X API Key

Pricing

Pay per event

Go to Apify Store
Tweet Scraper - $0.14 per 1,000, No X API Key

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

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

32

Total users

14

Monthly active users

2 days ago

Last modified

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 its SearchTimeline and UserTweetsAndReplies operations with an empty 404 for signed-out guest tokens. Paste the auth_token and ct0 cookies from a logged-in x.com session into xAuthToken / xCsrfToken to 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/until are applied while walking the timeline backwards (up to 80 pages). Only tweets that are actually delivered count toward maxItems. 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 errorCode row instead of silent emptiness.

What you can scrape

ModeInputReliability
Profile timelinetwitterHandles or a profile URL✅ Fully keyless, most reliable
Single tweeta …/status/123 URL✅ Rock-solid (syndication CDN)
Replies timelineprofile + includeReplies✅ Keyless
SearchsearchTerms (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) or status URLs (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.