Tweet Scraper - X / Twitter, No Login, Cheapest
No-login X/Twitter scraper: tweets, profiles, search, likes, retweets, views and media to JSON/CSV. No minimums, no caps, failed runs free. ~$0.14/1k.
How it works
- 1Open it on Apify
Hit Run on Apify — it opens the tool in the cloud, no install.
- 2Set the inputs
Adjust
twitterHandles,startUrls,searchTerms(sensible defaults are pre-filled). - 3Click Run
The tool runs on Apify’s cloud and collects the data for you.
- 4Export the results
Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.
Pricing
$0.00014 per tweet = $0.14 per 1,000
| You are charged for | When | Price |
|---|---|---|
| Tweet returned | Charged once per unique tweet returned in the dataset. Failed or empty runs are not charged. | $0.00014 |
Pay-per-event pricing: you are billed per result, not per subscription — a run that returns nothing costs nothing beyond the start fee. Billing is handled by Apify on your own account. These are the live Apify store prices, in effect since 2026-08-03, and they are what you are actually charged.
Inputs
| Field | What it does | Type |
|---|---|---|
twitterHandles | X / Twitter usernames (with or without @) to scrape recent tweets from. The most reliable, fully keyless mode. Example: elonmusk, nasa. | array |
startUrls | Paste X/Twitter URLs directly — a profile URL (https://x.com/nasa) scrapes its timeline, a status URL (https://x.com/nasa/status/123) scrapes that single tweet via the stable syndication CDN. | array |
searchTerms | Full X search queries (supports advanced operators like from:, since:, filter:media, min_faves:). Note: keyless search is rate-limited by X and less reliable than profile/URL modes. NOTE: X no longer serves search to signed-out clients (its SearchTimeline API answers guest tokens with an empty 404), so this mode needs the optional X session cookies below. Profile handles and tweet URLs work with no login. | array |
sort | For search terms: newest tweets (Latest) or most relevant (Top). | string |
maxItems | Maximum number of tweets to collect across all inputs. You are charged per tweet returned. | integer |
includeReplies | For profile timelines: include the account's replies, not just top-level tweets. Replies also require the optional X session cookies below; without them the run falls back to original tweets only and says so in a diagnostic row. | boolean |
onlyVerifiedUsers | Keep only tweets whose author is verified (legacy or X Premium / blue). | boolean |
since | Only keep tweets on/after this date (YYYY-MM-DD). Profile timelines have no server-side date filter, so the actor walks the timeline backwards (up to 80 pages) to reach the window; a window years in the past may be out of reach and the run will say how far back it got. | string |
until | Only keep tweets on/before this date (YYYY-MM-DD). Profile timelines have no server-side date filter, so the actor walks the timeline backwards (up to 80 pages) to reach the window; a window years in the past may be out of reach and the run will say how far back it got. | string |
xAuthToken | Optional. The auth_token cookie from a logged-in x.com browser session. Only needed for Search terms and for Include replies — X refuses both to signed-out clients. Profile handles and tweet URLs need no login. Use a throwaway account; X may rate-limit or lock accounts used for scraping. | string |
xCsrfToken | Optional. The ct0 (CSRF) cookie from the same logged-in x.com session as the auth_token above. Both must come from the same session or X rejects the request. | string |
notionConnector | Optional. If set, the tweets are also delivered to your connected Notion via Apify MCP connectors — no extra code. Leave empty to just use the dataset. | string |
notionParentId | Optional Notion database/data-source id to create the pages in. If empty, pages are created privately in your workspace. | string |
What you get
A structured dataset — each result includes fields like:
idurltextcreatedAtlangreplyCountretweetCountlikeCountquoteCountviewCounthashtagsmentionsurlsmediaauthorExport every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.
5 ready-to-run use cases
Scrape @elonmusk's Latest Tweets
Pull Elon Musk's latest tweets with likes, retweets, replies & views. No login or API key. Export to JSON, CSV or Excel.
Scrape @NASA's Tweets
Collect NASA's recent tweets with full text, media, hashtags & engagement metrics. Keyless X scraper, export JSON/CSV/Excel.
Scrape #Bitcoin Tweets
Track popular #Bitcoin tweets with 50+ likes, including author, engagement & timestamps. No API key needed. Export anywhere.
Monitor Mentions of @Nike on Twitter
Monitor what people say about Nike on X. Scrape mentions with engagement metrics for brand & sentiment analysis. Keyless.
Scrape Tweets About AI from @OpenAI
Pull OpenAI's announcements and AI news tweets with full text & engagement. No login, no token. Export JSON/CSV/Excel.
Related tools in Social Media Scrapers
Other ready-to-run tools in the same category — all pay-per-use on the Apify cloud.
Twitter (X) User Scraper - Profiles & Followers, No Login
Keyless X (Twitter) profile scraper: followers, bio, verified status & more by username. No login or API key, pay per profile, failed lookups free.
TikTok User Scraper - Profiles, Followers & Stats (No Login)
Scrape TikTok profiles without login or API key. Get followers, likes, bio, verified status & stats. Export CSV/JSON. Only $0.35 per 1,000 profiles.
Reddit Scraper
Scrape Reddit posts and comments from any subreddit or user profile. Sort by top/hot/new, filter by score, get clean text. No key or login needed.
Reddit Posts Search Scraper
Search Reddit by keyword across the site or one subreddit and export matching posts as JSON. Sort by relevance, top, new or hot. No code needed.
Reddit Video Scraper & Downloader
Download v.redd.it videos from any subreddit or Reddit user, with audio muxed in plus metadata. Filter by sort, time, and duration. No login or API key.
Telegram Channel Scraper
Scrape public Telegram channels without login or an API key. Get posts with text, date, views, media, plus channel title and subscriber count.
Where this tool sits
- Categories
- Social Media Scrapers
- Platforms
- X (Twitter)
⚡ 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
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.