🐦 Twitter / X Tweets Scraper avatar

🐦 Twitter / X Tweets Scraper

Pricing

from $3.99 / 1,000 results

Go to Apify Store
🐦 Twitter / X Tweets Scraper

🐦 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

ScrapeEngine

ScrapeEngine

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

4 days ago

Last modified

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 browserPlain 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 secondsWait until the run ends to see any data
πŸ“… since_date filter built inManual post-filtering required
πŸͺ΅ Per-profile section logs with engagement previewWall-of-text logs
πŸ” Cookie-based authentication β€” bypasses guest rate limitsLimited guest quotas

πŸš€ Key Features

  • πŸ”— Bulk URL input β€” paste an unlimited number of profile URLs or @handles at 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

FieldTypeRequiredDescription
start_urlsarrayβœ…List of X profile URLs (e.g. https://x.com/peckshield) or bare usernames
auth_tokenstring (secret)βœ…Your X.com auth_token cookie
ct0string (secret)βœ…Your X.com ct0 (CSRF) cookie
max_itemsinteger–Max tweets per profile (default 100, range 1–10,000)
since_datestring–Apify datepicker: absolute YYYY-MM-DD or relative (7 days, 2 weeks, …). Only tweets from the resolved date forward
request_delaynumber–Seconds between page requests (default 1.0, jitter added in code)
proxy_configurationobject–Defaults to direct connection. Fallback escalator kicks in automatically

πŸ” How to get the cookies

  1. Open https://x.com in your browser, signed in.
  2. Press F12 β†’ Application tab β†’ Cookies β†’ https://x.com.
  3. Copy the values of auth_token and ct0 into the input fields above.
  4. 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)

  1. Log in at https://console.apify.com β†’ Actors.
  2. Open Twitter / X Tweets Scraper.
  3. Paste profile URLs / handles into πŸ”— Twitter / X Profile URLs.
  4. Paste your auth_token and ct0 cookies into the secret fields.
  5. Pick Max tweets per profile and an optional Since date.
  6. Click Start.
  7. Watch tweets stream into the Output tab in real time.
  8. 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 ApifyClient
client = 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_Team for 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.

EventWhat you pay for
πŸͺ™ apify-actor-startPer-run startup (covered up to 5s of compute)
πŸ“₯ result-itemPer 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.


  • 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.txt etiquette 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.