Premium
Services
Premium

Best Twitter (X) Scrapers: Benchmarked

Nazlı Şipi
Nazlı Şipi
updated on Aug 13, 2026

We benchmarked four web scraping APIs for Twitter scraping on the same 1,000 X post URLs, for 4,000 requests in total. For every request, we measured success rate and completion time. 

Twitter (X) scrapers benchmark

Loading Chart

The fastest provider also had the highest success rate. Zyte completed 99.6% of the 1,000 X post requests at 8 seconds per request.

Oxylabs (99.6%) and Decodo (99.5%) matched Zyte on success rate but took about twice as long, at 15 and 16 seconds per request.

Nimble was the outlier. It completed 91.1% of requests, so about 9 in 100 failed, and it averaged 30 seconds per request, almost four times Zyte’s time.

None of the four returned parsed fields. All returned rendered HTML, so post data has to be extracted with CSS selectors.

See our benchmark methodology for more details.

What data can be scraped from Twitter

When scraping X, you get the page either as rendered HTML, which you parse with CSS selectors, or as structured JSON from a dedicated X scraper. All four providers we benchmarked returned HTML, and we extracted the author handle, post text and reply, repost and like counts from it. Public X pages contain the following data: 

  • Posts: post text, author handle and display name, post date, reply, repost, like, bookmark and view counts, attached images and videos, hashtags, mentions, links, and the quoted or parent post.
  • Profiles: display name, handle, bio, location, website, join date, follower and following counts, post count, profile and banner images, and verification status.
  • Replies: reply text, author, date and engagement counts, along with the post each reply answers.
Get our team to automate one of your business processes with AI agents, free of charge.
Automate a process

Twitter scrapers free trial

Prices reflect each provider’s standard plan. Cost per 1K can vary across packages.

The best Twitter scraping tools

Bright Data’s Twitter Scraper API returns X posts as structured JSON with 33 metadata fields, including engagement counts, author profile, embedded media, parent and quoted post details, and verification status, so no HTML parsing is needed.

Bright Data offers four X scrapers:

  • Posts, collect by URL: extracts a post’s data from its URL
  • Posts, discover by profile URL: collects all post URLs and their data from a profile
  • Profiles, collect by URL: extracts profile details from a profile URL
  • Profiles, discover by user name: collects profiles by user name 

Bright Data also offers ready-made social media datasets through its Dataset Marketplace, including pre-collected Twitter Posts and Profiles.

Start for free, 5,000 records/mo with no credit card required

Get Free Access

We tested Oxylabs on the Realtime endpoint of its Web Scraper API, with the universal source and HTML rendering. It tied Zyte for the highest success rate at 99.6% of 1,000 X post requests, averaging 15 seconds each. Each response is a rendered page, and CSS selectors read the post text and engagement counts out of it.

Decodo’s success rate was 99.5% of the 1,000 X post requests and averaged 16 seconds per request. Our Decodo setup used the Web Scraping API’s generic endpoint, with headless rendering on and requests routed through the premium proxy pool. The response contains no parsed fields. You get the full rendered page and write your own CSS selectors for the author handle, post text, and reply, repost and like counts.

Zyte was the fastest provider in the benchmark at 8 seconds per request and tied with Oxylabs for the highest success rate at 99.6%. Zyte API returns the fully rendered page through browserHtml in a single call. The output is HTML, so post text and engagement counts have to be extracted with CSS selectors.

Nimble had the lowest success rate and the slowest time in the X benchmark. Of the 1,000 post requests, 91.1% succeeded, and each request took 30 seconds on average. We ran Nimble’s Web API on its default settings with rendered HTML output. Like the other three providers, Nimble returns no structured fields, so the post text and engagement counts come from parsing the page markup.

Don’t miss our benchmarks and data-driven insights. The button opens Google; selecting AIMultiple confirms that you wish to see AIMultiple more often in Google search results.
GoogleAdd as preferred source

Twitter scraper benchmark methodology

We benchmarked four providers on 1,000 X post URLs. Every provider received the identical list, so the comparison holds the target set constant.

Each URL was requested once per provider, one URL per request. Requests were not batched, which keeps response time attributable to a single URL, and they ran sequentially from a single cloud server.

Responses were stored and scored in a separate pass rather than judged during the run. That keeps a parsing fix from requiring a fresh set of requests, and it means every number here can be re-derived from the saved responses.

All four return the rendered page rather than parsed data, so each response was scored by whether the post was actually in the HTML. We wrote selectors for the author handle, the post body, and the three engagement counters, and verified them against captured responses before the run.

The counters needed care. X renders the reply, repost and like counts with the same markup, so a selector that matches one matches all three. Each is pinned to the button next to it instead, which is what makes the three distinguishable.

A response counts as successful when it carries the post’s data. HTTP 404 counts as a success, since the post is gone and the provider reported that correctly. Any status outside 200 to 399 is a failure. Several APIs answer 200 while the page they fetched returned 403 or 404, so we read that inner status separately and apply the same rule to it.

Deleted posts are excluded from provider scores. Once two or more providers independently report a URL as unavailable, the remaining providers are not penalized for returning no content from it. On X this affected 15 of the requests, under 1%, the lowest of any platform we tested.

Completion time is the average across valid responses only. A provider that fails quickly should not read as a fast provider.

Cite this benchmark

Pick the format that matches where you're publishing. Pasting the link version into your CMS preserves the backlink.

Nazlı Şipi (2026) - "Best Twitter (X) Scrapers: Benchmarked". Published online at AIMultiple.com. Retrieved August 13, 2026, from: https://aimultiple.com/twitter-scraper [Online Resource]

Şipi, N. (2026, August 13). Best Twitter (X) Scrapers: Benchmarked. AIMultiple. https://aimultiple.com/twitter-scraper

@misc{sipi2026,
  author = {Şipi, Nazlı},
  title  = {{Best Twitter (X) Scrapers: Benchmarked}},
  year   = {2026},
  month  = aug,
  howpublished    = {\url{https://aimultiple.com/twitter-scraper}},
  note   = {AIMultiple. Retrieved August 13, 2026}
}
Download all data

Results and timestamps of 10.0 thousand data points. Download the summary data shown in this article's charts and tables as a ZIP file containing 2 CSV files and a README.

Last updated: October 9, 2026
Download

Want the granular data behind it? Join Premium

Changelog

21 updates
  1. Replaced the benchmarked scraper lineup, dropping Apify, NetNut, PhantomBuster and Octoparse for Decodo, Oxylabs and Zyte.

  2. Added a search market share breakdown section for Twitter scrapers and a price comparison section.

  3. Added an X API pay-per-use pricing subsection to the developer guide section.

  4. Removed the "How to scrape Twitter data" section.

Nazlı Şipi
Nazlı Şipi
AI Researcher
Nazlı is a data analyst at AIMultiple. She has prior experience in data analysis across various industries, where she worked on transforming complex datasets into actionable insights.
View Full Profile

Be the first to comment

Your email address will not be published. All fields are required. Comments are left in their original language.

0/450