Best Twitter/X scrapers 2026
For most tweet pulls, start with apidojo/twitter-scraper-lite (event-based pricing, covers search/URLs/profiles/lists) or kaitoeasyapi's Tweet Scraper, priced $0.18 to $0.25 per 1,000 tweets depending on your Apify plan (apify.com, checked 2026-09-09). Skip apify/twitter-scraper: that slug returns "not found" at Apify's own API, and its marketing URL now redirects to a Store category page, not a product.
X shut off free API reads in 2023. As of 2026 the X API no longer sells monthly tiers — it runs on pay-per-usage credits instead, roughly $0.001–$0.010 per resource read and $0.005–$0.200 per write request (docs.x.com, checked 2026-09-09). Reading 1,000 Tweets costs about $5 in credits before you've written a line of code; a pay-per-result Apify Actor gets the same 1,000 Tweets for $0.18–$0.40. The Apify Store has ~20+ Twitter Actors (apify.com/scrapers/twitter, checked 2026-09-09); the ones worth your time are the pay-per-result and event-based listings, not the monthly rentals.
- No-code tutorial: Run a mainstream Twitter Actor end-to-end.
- Browse all Twitter Actors: Full category listing.
- Best Apify Actors: Picks across every category, not just Twitter/X.
Comparison table
Pricing is verified against Apify's API (api.apify.com/v2/acts/...) and ratings are the figure each Actor's Apify Store listing displays, both checked 2026-09-09. Note that Apify's API reports a lower actorReviewRating than the Store display for some Actors (4.06 vs 4.76 for apidojo/twitter-scraper-lite, 3.11 vs 4.22 for epctex/twitter-profile-scraper), so treat star ratings as directional, not precise. Re-check before committing to a large run — Apify Store discounts and ratings both move.
| Actor | Pricing | Rating (Apify Store, 2026-09-09) | Best for |
|---|---|---|---|
| apidojo/twitter-scraper-lite | Event-based: ~$0.016/query (first ~40 results) + $0.0004+/item | 4.76 | Default pick: one Actor for search, URLs, profiles, lists, conversations. |
| kaitoeasyapi/...cheapest | $0.25/1,000 (Free) down to $0.18/1,000 (Business+) | 4.28 | Cheapest per-tweet pricing; best for high-volume keyword/handle pulls. |
| apidojo/tweet-scraper (V2) | $0.40 / 1,000 tweets, flat on every plan | 3.94 | Advanced search filters, 30–80 tweets/sec, mature Actor. |
| epctex/twitter-profile-scraper | $10/mo rental + usage | 4.22 | Profile-only research (bios, counts, verified flag). |
Corrected kaitoeasyapi's headline price: it advertises both $0.25 and $0.18 per 1,000 tweets on its own listing, tier-dependent, not a flat $0.25. Pulled apify/twitter-scraper from this table entirely — api.apify.com/v2/acts/apify~twitter-scraper returns "Actor with this name was not found," and the marketing URL 308-redirects to apify.com/scrapers/twitter, a category page, not an Actor with its own pricing or rating. Also rewrote the X API cost comparison below for its 2026 move to pay-per-usage credits.
Pick by input shape
Twitter scrapers diverge by what you hand them. Match the Actor to the input, not the other way around.
- Handles / profile URLs →
apidojo/twitter-scraper-liteorkaitoeasyapi. Both accepthttps://x.com/usernameand paginate the user timeline. - Keyword or advanced-search query (
from:,since:,until:,lang:,min_faves:) →apidojo/tweet-scraperV2 has the richest search-operator support;kaitoeasyapiis cheaper but with fewer filters. - Tweet URLs → full thread / replies →
apidojo/twitter-scraper-litehandles conversation expansion; single-tweet queries cost a flat fee per URL on most pay-per-result Actors. - Lists →
apidojo/twitter-scraper-liteis the only mainstream option that accepts list URLs directly. - Profile metadata only (no tweets) →
epctex/twitter-profile-scraperif you prefer a rental model with a stable schema; otherwise strip the profile block from any of the pay-per-result Actors. - Follower / following lists → There is no great cheap option. Every Actor I've tried in this category either requires login cookies or sits on a low rating. Scrape profile snapshots over time and diff them as a workaround, or budget for the friction.
X API vs Apify scrapers
| Dimension | X API (pay-per-usage, 2026) | Apify scrapers |
|---|---|---|
| Pricing model | Credits, bought upfront; $0.001–$0.010/resource read, $0.005–$0.200/request written (docs.x.com, checked 2026-09-09) | None to buy; pay per tweet or per run |
| Cost at 100k tweet reads | ~$500 in credits (100k × $0.005 for a Post read) | ~$18 (kaitoeasyapi, Business+) to ~$40 (apidojo V2) |
| Data scope | Whatever your credit balance and endpoint allow | Whatever is publicly visible to the Actor |
| Search operators | Full filtered-stream / recent search | Most Actors expose X's web search operators |
| Login-gated content | Official app auth | Some Actors accept session cookies; others don't |
| Maintenance | Stable HTTP contract | Publisher ships fixes when X breaks markup |
| Compliance burden | Developer agreement | You own ToS, copyright, and privacy decisions |
For read-only public research, Apify scrapers beat the X API's per-resource credit cost by roughly 12–28x at realistic tweet-read volumes, with no credits to buy upfront. The tradeoff is you're downstream of frontend changes, so budget a day or two of occasional breakage per quarter.
X aggressively rate-limits logged-out browsing and gates parts of search behind login. Mainstream Actors (apidojo, kaitoeasyapi) handle this internally with rotating sessions, so you shouldn't need to supply cookies for tweet/profile/search work. Follower lists and DMs are a different story: expect friction or paid rental Actors. Never paste your own session tokens into an untrusted Actor.
Cost control
- Pin maxItems early. Both apidojo and kaitoeasyapi honor hard caps; a missing
maxItemson a broad query is the most common way to burn through $20 by accident. - Prefer pay-per-result over compute-unit. Event-based and per-tweet pricing are predictable; CU-based Actors swing with page weight.
- Split by date window. For historical pulls, chunk
since:/until:queries by week and checkpoint between runs. - Use Apify Proxy only when needed. The pay-per-result Actors include proxy costs in the unit price.
- Watch your plan tier. kaitoeasyapi's per-tweet rate drops as your Apify plan goes up, so a higher tier can pay for itself on a large pull.
The X API moved to pay-per-usage credits in 2026: about $0.005 to read one Tweet, so 1,000 reads costs roughly $5 before you've written any code. A pay-per-result Apify Actor gets the same 1,000 tweets for $0.18–$0.40, with no credits to buy upfront.
apify/twitter-scraper isn't a live Actor: querying it at Apify's own API returns "not found," and the marketing URL now 308-redirects to apify.com/scrapers/twitter, a category page pointing at the 20+ community Twitter Actors on the Store. Go straight to apidojo/twitter-scraper-lite, apidojo/tweet-scraper, or kaitoeasyapi instead.
For tweets, profiles, and search, no. The mainstream Actors handle auth internally. For follower/following lists and some gated search results, you may need to supply session cookies to an Actor that accepts them. Never share session tokens in public repos or untrusted Actors.
kaitoeasyapi, from $0.18 per 1,000 tweets on Business-tier Apify plans and up ($0.25 on the Free plan), followed by apidojo/tweet-scraper V2 at a flat $0.40/1,000 on every plan. Rental Actors ($10–$30/month) rarely pencil out unless you're already running a consistent monthly workload.
Scraping public posts is generally tolerated but implicates X's terms, copyright, and regional privacy law (GDPR, CCPA). Don't scrape personal data without a legitimate basis, and read our scraping legality primer. It is not legal advice.
Free read access ended in 2023. In 2026 X dropped its monthly subscription tiers too: the API now runs on pay-per-usage credits, roughly $0.001-$0.010 per resource read and $0.005-$0.200 per write (docs.x.com, checked 2026-09-09). That structural shift is what keeps pushing researchers and startups toward scraper marketplaces.
Common mistakes and fixes
Runs fail after X changes its frontend.
Pin to an actively maintained Actor (check the last-updated date on the Store listing), drop concurrency, and retry. Community publishers like apidojo and kaitoeasyapi typically ship fixes within a day or two of frontend breaks.
I'm getting empty results on search queries.
X gates some search results behind login. Either supply session cookies in an Actor that accepts them, switch to a profile/URL-based input, or use a pay-per-result Actor that handles login internally.
Costs ballooned on a large pull.
Prefer event-based or pay-per-result Actors (apidojo/twitter-scraper-lite, kaitoeasyapi) over compute-unit Actors for predictable unit economics. Split big queries by date window and cap maxItems.