π¦ Twitter / X Tweets Scraper
Pricing
from $3.99 / 1,000 results
π¦ Twitter / X Tweets Scraper
Scrape public tweets from any Twitter / X profile in real time β bulk URLs, date filters, smart proxy fallback, structured JSON / CSV / Excel output.
Pricing
from $3.99 / 1,000 results
Rating
0.0
(0)
Developer
ScrapeBase
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
10 days ago
Last modified
Categories
Share
The fastest, friendliest way to collect public tweets from any X (Twitter) profile β at scale, in real time, and with built-in anti-block defences.
Paste one (or hundreds) of profile URLs, pick how many tweets per profile, and watch structured JSON / CSV / Excel rolls into your dataset live β already labelled, sorted, and ready to drop into your BI tool, spreadsheet, or LLM pipeline.
β¨ Why this Actor?
| π’ This Actor | π΄ Other tools |
|---|---|
β‘ Rust-powered HTTP via impit β looks identical to a real Chrome browser | Plain requests / httpx that anti-bot engines block on sight |
| π‘οΈ 4-tier proxy escalator (direct β datacenter β residential, sticky) | Single proxy, no fallback |
| π‘ Live streaming output β first tweet appears in seconds | Wait until the run ends to see any data |
π
since_date filter built in | Manual post-filtering required |
| πͺ΅ Per-profile section logs with engagement preview | Wall-of-text logs |
| π Cookie-based authentication β bypasses guest rate limits | Limited guest quotas |
π Key Features
- π Bulk URL input β paste an unlimited number of profile URLs or
@handlesat once - π― Per-profile cap β stop after N tweets per profile
- π Since-date filter β only tweets posted on or after a given date
- π Smart proxy fallback β starts direct, automatically escalates if X pushes back
- β±οΈ Polite, jittered pacing β configurable inter-request delay with random jitter
- π Live dataset writes β every tweet is pushed the moment it is parsed; nothing is lost on crash
- πͺ΅ Beautiful run log β engagement counts, previews, and section headers per profile
- π§Ύ Rich tweet schema β text, language, full entities, all engagement metrics, full user object, view counts, and more
π₯ Input
| Field | Type | Required | Description |
|---|---|---|---|
start_urls | array | β | List of X profile URLs (e.g. https://x.com/peckshield) or bare usernames |
auth_token | string (secret) | β | Your X.com auth_token cookie |
ct0 | string (secret) | β | Your X.com ct0 (CSRF) cookie |
max_items | integer | β | Max tweets per profile (default 100, range 1β10,000) |
since_date | string | β | Apify datepicker: absolute YYYY-MM-DD or relative (7 days, 2 weeks, β¦). Only tweets from the resolved date forward |
request_delay | number | β | Seconds between page requests (default 1.0, jitter added in code) |
proxy_configuration | object | β | Defaults to direct connection. Fallback escalator kicks in automatically |
π How to get the cookies
- Open https://x.com in your browser, signed in.
- Press F12 β Application tab β Cookies β https://x.com.
- Copy the values of
auth_tokenandct0into the input fields above. - The Actor stores both as secrets β they never appear in the run log.
π Example input
{"start_urls": [{ "url": "https://x.com/peckshield" },{ "url": "https://x.com/elonmusk" },{ "url": "naval" }],"max_items": 200,"since_date": "2026-01-01","auth_token": "REDACTED","ct0": "REDACTED","request_delay": 1.0,"proxy_configuration": { "useApifyProxy": false }}
π€ Output
Every tweet is pushed to the default dataset as soon as it is parsed. Open the Dataset β Overview tab for a clean, sortable table.
π Example output row
{"id_str": "2056183051357495735","url": "https://x.com/peckshield/status/2056183051357495735","created_at": "Mon May 18 01:20:16 +0000 2026","full_text": "@VerusCoin token has been hacked. ~$1.78M stolenβ¦","lang": "en","favorite_count": 142,"retweet_count": 31,"reply_count": 12,"quote_count": 4,"bookmark_count": 24,"views_count": "98231","is_quote_status": false,"possibly_sensitive": false,"user_screen_name": "peckshield","user_name": "PeckShield Inc.","user_followers_count": 312874,"user_is_verified": true,"_section": "@peckshield","entities": { "media": [ β¦ ], "urls": [ β¦ ], "user_mentions": [ β¦ ] },"extended_entities": { "media": [ β¦ ] },"user": { "rest_id": "β¦", "legacy": { β¦ }, "professional": { β¦ } }}
The _section column tags every row with the source profile so you can slice the dataset cleanly per profile in the Console table view.
π Dataset view
The dataset comes preconfigured with an Overview table that shows:
Tweet ID Β· Tweet URL Β· Posted At Β· Tweet Β· Lang Β· β€οΈ Likes Β· π Retweets Β· π¬ Replies Β· π Quotes Β· π Bookmarks Β· π Views Β· @handle Β· Followers Β· Verified
Export options: JSON Β· JSONL Β· CSV Β· Excel Β· HTML Β· RSS Β· XML.
π How to Use (Apify Console)
- Log in at https://console.apify.com β Actors.
- Open Twitter / X Tweets Scraper.
- Paste profile URLs / handles into π Twitter / X Profile URLs.
- Paste your
auth_tokenandct0cookies into the secret fields. - Pick Max tweets per profile and an optional Since date.
- Click Start.
- Watch tweets stream into the Output tab in real time.
- When the run finishes, export to JSON / CSV / Excel.
π€ Use via API / MCP
REST API (sync β returns dataset items in one call)
curl -X POST "https://api.apify.com/v2/acts/<ACTOR_ID>/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"start_urls": [{ "url": "https://x.com/peckshield" }],"max_items": 100,"since_date": "2026-01-01","auth_token": "REDACTED","ct0": "REDACTED"}'
Python SDK
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("<ACTOR_ID>").call(run_input={"start_urls": [{"url": "https://x.com/peckshield"}],"max_items": 50,"auth_token": "REDACTED","ct0": "REDACTED",})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["full_text"])
π― Best Use Cases
- π Market & competitor monitoring β track what top accounts in your space are saying
- π‘οΈ Security / threat intel β watch researchers like
@peckshield,@SlowMist_Teamfor live exploit reports - πͺ Crypto signal mining β feed tweets into your sentiment model
- π° News & journalism β bulk-collect statements from public figures
- π§ LLM training / fine-tuning β curate domain-specific tweet corpora
- π Brand mentions & PR β pull every tweet from a brand's official handle for analysis
π² Pricing
This Actor is monetized with pay-per-event (PPE) β you pay only for the scraped tweets you actually receive.
| Event | What you pay for |
|---|---|
πͺ apify-actor-start | Per-run startup (covered up to 5s of compute) |
π₯ result-item | Per tweet pushed to the dataset (the primary value unit) |
Configure exact prices in the Pricing tab in Console. Platform usage (compute, proxy) is included in the per-event price. The Actor exits gracefully when your ACTOR_MAX_TOTAL_CHARGE_USD is reached β you never get charged beyond your cap.
β Frequently Asked Questions
Q: Do I really need the auth_token and ct0 cookies?
Yes. X's guest endpoint is heavily throttled; authenticated requests are required for stable bulk scraping. The cookies are stored as Actor secrets and never logged.
Q: My account is at risk of being banned?
X may flag accounts that scrape aggressively. We recommend using a dedicated burner account, conservative max_items, and a positive request_delay. The Actor uses real-browser HTTP/TLS fingerprints to look like normal traffic.
Q: What if I get rate limited? The Actor automatically escalates from direct β datacenter proxy β residential proxy (sticky, with 3 IP rotations) the moment X starts pushing back. No action needed from you.
Q: Can I scrape protected / private accounts? No β the Actor only scrapes public tweets. Following a private account does not grant scrape access.
Q: How fresh is the data? Live. Each tweet hits your dataset within milliseconds of being parsed.
Q: Does this work for replies / threads / quote tweets? Yes β replies, quotes, retweets, media-only tweets, and longform note tweets are all extracted with full text and entities.
βοΈ Cautions & Legal
- Data is collected only from publicly available sources on x.com.
- You are responsible for legal compliance: GDPR, CCPA, anti-spam laws, X's Terms of Service, and any local regulation that applies to you.
- Do not use this Actor to scrape private accounts, automate harassment, or build profiles of private individuals.
- The Actor honours reasonable rate limits and
robots.txtetiquette by default.
π¬ Support & Feedback
- Open an issue on the Actor page if something is off.
- Feature requests welcome β we ship fast.
- For commercial / high-volume usage, reach out via the Actor profile.