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.13/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.
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. | 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. | 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). | string |
until | Only keep tweets on/before this date (YYYY-MM-DD). | 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.
⚡ 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
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— 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.