Tweet Scraper - X / Twitter, No Login, Cheapest avatar

Tweet Scraper - X / Twitter, No Login, Cheapest

Pricing

$0.30 / 1,000 tweet returneds

Go to Apify Store
Tweet Scraper - X / Twitter, No Login, Cheapest

Tweet Scraper - X / Twitter, No Login, Cheapest

The cheapest no-login X/Twitter scraper on the store. No minimums, no item caps - just paste a handle, URL or search and run. Get full tweet text plus likes, retweets, replies, views, media and author. Failed runs cost nothing. Export to JSON, CSV or Excel. ~$0.13/1k.

Pricing

$0.30 / 1,000 tweet returneds

Rating

0.0

(0)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 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.30 per 1,000 tweets — ideal for researchers, marketers, traders, and builders who need Twitter data now.

No sessionid. No bearer token to find. No cookies to paste. Paste a handle and run.

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.
  • 💸 Cheaper — $0.30 / 1,000 tweets, billed per tweet actually returned (no charge on empty/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 — Residential recommended (datacenter IPs hit X's limits faster).
  • 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.30 per 1,000 tweets (pay-per-result). You are only charged for tweets actually returned — failed or empty runs cost nothing.

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.

Why residential proxy? X rate-limits datacenter IP ranges quickly. Residential keeps success rates high on sustained runs.

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.