String won the measured fetch comparison. ScrapingAnt has the largest recurring free tier in the field and charges less than String's premium path at some plan sizes. On the September 16, 2026 Web Data Frontier Benchmark, String returned verified content on 97.0% of 500 requests and ScrapingAnt returned 36.4%, up 5.7 points on the August run and last of the sixteen providers. String's failure-aware latency score was 7.06 seconds against ScrapingAnt's 18.95.
TL;DR
| String | ScrapingAnt | |
|---|---|---|
| Product type | Fetch, search, sitemap, and remote browser | Web scraping platform with Chrome, rotating proxies, Markdown, AI extraction, and MCP |
| Benchmark success rate | 97.0% (485/500) | 36.4% (182/500), residential proxy and raw HTML |
| Latency score | 7.06s, first of 16 | 18.95s, tenth of 16 |
| Mean attempt time | 7.67s | 2.57s, second fastest |
| Per-target outcome | 92 perfect, 5 partial, 2 zero | 20 perfect, 19 partial, 60 zero |
| Anti-bot highlights | 100% Cloudflare, Kasada, and Fastly | 60.0% Fastly, 48.9% PerimeterX, 67.7% proprietary or other |
| Pricing basis | Plan plus successful-request usage; credits roll over | Monthly credit pool; unused credits expire; failed requests cost zero |
| Entry point | First 5,000 requests free | 10,000 free monthly credits, no card |
| Agent tooling | Hosted MCP and HTTP API | Hosted MCP, Markdown, AI extraction, and integrations |
| Where it wins | Measured coverage and completion time | Skyscanner, raw-attempt speed, proxy controls, extraction tools, and some premium-path prices |
We built the Web Data Frontier Benchmark and sell the product that ranks first. The defense against that conflict is reproducibility. The targets and pass criteria, every provider adapter, and the raw results are public. A request passes only when its body contains an expected marker from the real page. A captcha or empty shell with HTTP 200 fails.
The ScrapingAnt adapter called GET /v2/general with proxy_type: "residential" and browser: false. ScrapingAnt's proxy documentation describes residential as its premium proxy type. Its request reference confirms that disabling browser returns the target response without a headless browser.
That configuration costs 25 credits for each successful response. ScrapingAnt also supports JavaScript rendering with datacenter proxies for 10 credits and browser rendering with residential proxies for 125 credits. The credit table makes the fivefold step from the tested mode explicit. The benchmark did not measure that 125-credit path, custom JavaScript, a wait selector, cookies, or a chosen proxy country. We cannot infer what those settings would score.
If ScrapingAnt believes another general configuration is fairer, the adapter is one file and a pull request changes the next run. A Firecrawl engineer used that route in benchmark pull request 6, and the next run raised Firecrawl's result by 7.7 points.
Pricing and product claims were checked against live first-party pages on August 31, 2026. Performance figures are from the September 16, 2026 run.
ScrapingAnt is a web scraping platform built around a general API backed by headless Chrome and rotating proxies. Its request endpoint can use a datacenter or residential proxy, choose a country, forward cookies and headers, run custom JavaScript, wait for a selector, and return raw or rendered HTML. A separate proxy mode exposes the same API behavior through an HTTP or HTTPS proxy port.
The platform also has a Markdown endpoint, a natural-language AI extractor, and a hosted MCP server with HTML, Markdown, and text tools. ScrapingAnt publishes official JavaScript and Python clients, plus GitHub Actions, Make, and n8n integrations.
ScrapingAnt also sells standalone residential and datacenter proxy bandwidth. String does not sell a raw proxy product. String's narrower access surface adapts each fetch behind one endpoint, with search, sitemap crawling, a remote browser over CDP, and MCP beside it.
The benchmark sent 16 providers the same 100 URLs five times each. Most targets are protected retail, travel, news, real-estate, and social pages.
| Provider | Successful requests | Success rate | Latency score |
|---|---|---|---|
| String | 485/500 | 97.0% | 7.06s |
| Decodo | 253/500 | 50.6% | 25.41s |
| Scrapingdog | 228/500 | 45.6% | 26.55s |
| Browserbase | 207/500 | 41.4% | 17.73s |
| ZenRows | 206/500 | 41.2% | 18.80s |
| ScrapingAnt | 182/500 | 36.4% | 18.95s |
ScrapingAnt ranked 14th for success and ninth on the failure-aware latency score. Its raw mean attempt was 2.57 seconds, second fastest in the field. Those measurements are not contradictory. ScrapingAnt returned or failed quickly, while the latency score charges a complete miss the target's successful-provider p75, or 90 seconds when nobody succeeded. A fast block does not finish the data job.
The 60.6-point success gap measures ScrapingAnt's residential, non-browser path, which is the configuration the September run sends. It does not measure the 125-credit browser-plus-residential mode.
ScrapingAnt won no target outright in the September run. Skyscanner, which it cleared on all five attempts in August while String returned none, is now 5 of 5 for String and 4 of 5 for ScrapingAnt.
It was still perfect on 22 targets, including Canada Goose, AutoTrader, Ticketmaster, Kayak, X, TikTok, GOAT, Vinted, Rightmove, eMAG, Alibaba, YouTube, Pinterest, CoinMarketCap, AT&T, TradingView, Nike, arXiv, Bing and Databricks. Its strongest industry groups are social media at 80.0%, developer and research at 53.3% and travel at 44.4%.
Against named anti-bot groups, ScrapingAnt returned 100% of the benchmark's single Fastly target, 53.3% across PerimeterX and 53.3% on Kasada. Its group of sites with no named vendor reached 68.9%. These are useful pockets even though the aggregate result is the lowest in the run.
| Outcome across 100 sites | String | ScrapingAnt |
|---|---|---|
| Passed all 5 attempts | 93 | 22 |
| Passed 1 to 4 attempts | 5 | 25 |
| Passed none | 2 | 53 |
| Passed at least once | 98 | 47 |
Of ScrapingAnt's 53 shutouts, String passed 48 on all five attempts. Both providers failed Temu and Idealista. String's five partial results were Yelp, AutoTrader, Coupang, Allegro and Foot Locker.
The anti-bot columns show where the gap forms. ScrapingAnt passed 8.0% of Cloudflare requests against String's 100%, 4.2% of DataDome against 92.6%, and 33.0% of Akamai against 98.0%. Its DataDome result is the lowest any provider posted on any wall in the run. Its closer results are PerimeterX and Kasada, both 53.3%, against String's 100% and 93.3%.
ScrapingAnt had 25 partial targets. Retrying helps those sites. It does not change the 53 that missed every attempt.
ScrapingAnt's current plans include 10,000 free credits per month, then 100,000 for $19, 500,000 for $49, 3 million for $249, and 8 million for $599. No card is required for the free allowance. Failed requests cost zero, and unused credits do not roll over.
| Request path | Credits per success | $49 Startup capacity | Startup cost per 1,000 successes |
|---|---|---|---|
| Datacenter, no browser | 1 | 500,000 | $0.10 |
| Datacenter, browser + JS | 10 | 50,000 | $0.98 |
| Residential, no browser, benchmark mode | 25 | 20,000 | $2.45 |
| Residential, browser + JS | 125 | 4,000 | $12.25 |
String charges a monthly plan plus successful-request usage. Starter is $20 per month, then $0.30 per 1,000 standard fetches or $3 per 1,000 premium fetches. Growth is $100, then $0.20 or $2. Browser paths cost more. Blocks are free and credits roll over.
The honest comparison depends on the path. ScrapingAnt's tested residential mode costs $2.45 per 1,000 successes on Startup, below String Starter premium at $3 and slightly above String Growth premium at $2 before String's monthly plan fee. ScrapingAnt's untested browser-plus-residential path costs $12.25 per 1,000 on the same plan. String's standard path is cheaper, but a hard target may require premium or browser work.
ScrapingAnt can also be cheaper at higher commitments. The $249 Business plan makes the tested 25-credit path about $2.08 per 1,000 successes; the $599 Business Pro plan makes it about $1.87. Those prices buy successful responses, not coverage: on this run ScrapingAnt delivered 182 pages for every 485 String delivered.
ScrapingAnt exposes more knobs on a single scrape. Its browser documentation covers real Chrome rendering, custom JavaScript, and selector waits. The request can also carry cookies, headers, a country, and a proxy type. ScrapingAnt says every plan has no concurrency cap and can send 1,000 parallel requests through an auto-scaling Chrome cluster.
For downstream data work, the Markdown and extraction APIs return LLM-ready text or JSON described in natural language. The hosted MCP server gives agents three direct page-reading tools. Official clients and workflow integrations reduce setup work, while standalone proxies support teams that do not want a managed scrape response.
String wins the measured retrieval layer. ScrapingAnt wins when the purchase also needs raw proxy bandwidth, explicit browser controls, first-party AI extraction, broad workflow integrations, or uncapped parallel submission.
String was better on the measured fetch task: 97.0% success against 36.4%, with a 7.06-second latency score against 18.95. ScrapingAnt was better on Skyscanner, raw-attempt speed, explicit controls, proxy products, and extraction breadth.
Sometimes. The tested residential, non-browser path costs $2.45 per 1,000 successful pages on ScrapingAnt Startup. That is below String Starter premium at $3 and above String Growth premium at $2, before String's monthly fee. ScrapingAnt browser plus residential costs $12.25 per 1,000 on Startup. Standard paths are much cheaper for both.
No. ScrapingAnt's pricing page says failed requests cost zero. String also bills only requests that return content.
The public adapter used the /v2/general endpoint with residential proxies and browser: false. That returns raw page HTML and costs 25 credits for each successful response.
Not every mode. The September run sends ScrapingAnt's residential proxy path without browser rendering. It did not test browser rendering with residential proxies, a 125-credit path. It also did not use custom JavaScript, selector waits, cookies, or location targeting. The 36.4% result applies to the published adapter, not every possible configuration.
Sometimes, but not reliably in this run. ScrapingAnt passed 6.7% across 15 Cloudflare targets. It did better on PerimeterX at 48.9% and on the single Fastly target at 60.0%.
Yes. ScrapingAnt documents a hosted MCP server with tools for HTML, Markdown, and plain text. It uses the same account credits as the API.
Run the open-source benchmark with your own keys. The results JSON, target markers, and provider adapters are public. Start with your target subset because a full run makes thousands of billable calls.