NewLaunching String Web Access APIRead the manifesto →
← Blog

Web Data Frontier Benchmark: the October 2026 run

Bruce Magness · November 2, 2026

Summary

  • Completed October 30, 2026: 100 bot-protected targets, 17 providers, five attempts per page, 8,500 live requests.
  • String ranked first at 98.6%, 493 of 500 requests, with the fastest latency score in the run, 4.24s. Scrape.do, new to the benchmark, ranked second at 94.0%.
  • String returned every attempt on 95 of the 100 sites. The most any other provider managed was 91, by Scrape.do and Context.dev.
  • String returned at least one attempt on every site, and was the only provider to return temu.com on every attempt.
  • String's weakest site was kroger.com, two of five attempts, where five other providers returned all five.

Leaderboard: 17 scraping APIs ranked

RankProviderSuccess rateLatency scorePassed
1String98.6%4.24s493/500
2Scrape.do94.0%5.08s470/500
3Context.dev93.0%10.96s465/500
4Scrapfly86.8%19.62s434/500
5ScrapingBee85.2%20.30s426/500
6Firecrawl81.2%8.87s406/500
7Zyte79.6%14.43s398/500
8Apify79.4%24.87s397/500
9ScraperAPI76.4%15.19s382/500
10Bright75.4%27.88s377/500
11Decodo71.2%28.29s356/500
12Nimble68.0%22.65s340/500
13Oxylabs67.4%16.62s337/500
14Browserbase43.0%18.01s215/500
15ZenRows41.8%21.91s209/500
16ScrapingAnt40.0%18.39s200/500
17Scrapingdog27.6%31.52s138/500
Web Data Frontier Benchmark · 100 targets · 500 requests per provider · October 30, 2026
Overall success rate across all 500 requests per provider. Web Data Frontier Benchmark · 100 targets · 500 requests per provider · October 30, 2026
Accuracy against latency score. The upper right quadrant is accurate and fast. Web Data Frontier Benchmark · 100 targets · 500 requests per provider · October 30, 2026

What we noticed

Speed moved again. String's median successful attempt fell from 1.9 seconds to 1.5, and 86% of its successful attempts came back in under five seconds, up from 79%. The gap between its fastest and slowest attempt on the same URL halved again, to a median of 1.2 seconds. Against Scrape.do, the closest provider on success rate, String's median attempt was faster on 72 of the 97 sites both returned at least once.

None of String's seven failed attempts was a block page. Three were HTTP 502 responses from the String API, two of them on kroger.com, and the other four hit the 90-second timeout.

On average the target set got a little easier. Across the 15 other providers that ran in both months, the mean site was returned on 67.7% of attempts, up from 64.5%. That average hides sites moving hard in both directions: emag.ro fell 44 points, ebay.com 23, and aa.com and autotrader.com 21 each, while allegro.pl rose 47, idealista.com 32, and expedia.com 31.

Context.dev's rise came with no change to its adapter. It gained attempts on 28 sites and lost them on five, and HTTP 400 responses from its own API fell from 71 attempts in September to 29. Scrapingdog's fall runs the other way: 345 of its 362 failed attempts were HTTP 500 responses from its API, not pages that failed the content check.

Results by site

What separates providers is the short list of sites most of the field could not return in full. On the four sites where four or fewer of the 17 providers returned every attempt, String did so on all four: temu.com, mouser.com, coupang.com, and aa.com. On temu.com, no other provider did; on mouser.com, Firecrawl; on coupang.com, Scrape.do and Oxylabs; on aa.com, Context.dev and ScraperAPI.

String returned four of five attempts on skyscanner.net, yellowpages.com, marketwatch.com, and barrons.com. On kroger.com it returned two, while Scrape.do, ScrapingBee, Firecrawl, ScraperAPI, and Nimble returned all five.

Every response String reported as a success was the real page. Across the other 16 providers, 400 responses came back 2xx with a block page or the wrong page in the body, 75 of them from ScrapingAnt. Those count as failures here, but a pipeline that trusts the status code would have stored them as data.

The largest retail sources did not separate the field: 14 of the 17 providers returned every attempt on walmart.com.

The table groups the 100 sites into the 16 verticals they were drawn from, easiest first inside each. A cell counts the attempts that returned the real page, out of 5. Latency is left out of the cells, because a provider that never returned a site has no measured latency there.

5 of 17 providers, most accurate first.

Successful attempts out of 5 for each provider on all 100 benchmark sites, grouped by industry.
SiteIndustryStringScrape.doContext.devScrapflyScrapingBeeFirecrawlZyteApifyScraperAPIBrightDecodoNimbleOxylabsBrowserbaseZenRowsScrapingAntScrapingdog
Retail & ecommerce· 17 sites
verizon.comRetail & ecommerce5/55/55/55/55/55/55/55/55/54/54/53/55/55/55/52/52/5
alibaba.comRetail & ecommerce5/55/55/50/55/55/55/55/53/55/55/55/53/55/54/55/53/5
ashleyfurniture.comRetail & ecommerce5/55/55/55/55/55/55/55/55/54/55/55/55/54/55/51/52/5
target.comRetail & ecommerce5/55/55/55/55/55/55/55/55/53/55/55/55/55/55/55/50/5
walmart.comRetail & ecommerce5/55/55/55/55/55/55/55/55/54/55/55/55/54/55/55/51/5
att.comRetail & ecommerce5/53/55/55/55/55/55/55/55/54/50/55/50/55/55/54/53/5
autozone.comRetail & ecommerce5/55/55/55/55/55/54/54/53/55/54/50/54/50/50/50/50/5
digikey.comRetail & ecommerce5/55/55/55/55/55/55/55/51/54/53/55/55/50/50/51/52/5
homedepot.comRetail & ecommerce5/55/54/52/55/55/55/54/54/54/55/50/55/50/53/50/50/5
amazon.comRetail & ecommerce5/55/55/55/55/55/55/54/55/55/50/55/50/53/55/55/51/5
lowes.comRetail & ecommerce5/55/55/54/50/55/54/53/52/52/54/50/55/50/50/50/51/5
bestbuy.comRetail & ecommerce5/52/55/50/55/50/50/55/52/55/53/50/55/50/50/50/50/5
buybuybaby.bedbathandbeyond.comRetail & ecommerce5/55/50/54/55/55/53/50/54/50/55/51/55/50/50/50/50/5
coupang.comRetail & ecommerce5/55/50/53/50/50/50/52/51/53/51/51/55/50/54/50/50/5
mouser.comRetail & ecommerce5/53/50/53/52/55/52/51/50/50/50/50/50/50/50/50/50/5
emag.roRetail & ecommerce5/55/55/55/55/50/50/50/54/50/55/50/50/50/55/54/50/5
temu.comRetail & ecommerce5/50/50/50/50/50/50/50/50/50/50/50/50/50/50/50/50/5
Fashion & luxury· 11 sites
carters.comFashion & luxury5/55/55/55/55/55/55/55/55/55/55/55/55/55/55/53/50/5
footlocker.comFashion & luxury5/55/55/53/55/55/55/55/51/55/55/55/55/55/50/53/50/5
macys.comFashion & luxury5/55/55/55/55/55/55/55/55/54/55/55/55/55/55/50/55/5
ralphlauren.comFashion & luxury5/55/55/52/55/55/55/55/54/55/55/53/51/53/54/51/50/5
nike.comFashion & luxury5/55/55/55/55/55/55/55/55/55/55/55/53/50/55/55/52/5
neimanmarcus.comFashion & luxury5/55/55/55/54/55/50/53/55/54/50/54/52/50/52/50/50/5
canadagoose.comFashion & luxury5/55/55/55/55/55/55/55/53/50/55/55/55/50/54/55/53/5
zara.comFashion & luxury5/55/55/50/55/55/55/52/53/55/55/50/50/50/55/50/53/5
saksfifthavenue.comFashion & luxury5/55/55/54/55/55/52/55/55/53/51/50/50/50/53/50/50/5
shop.lululemon.comFashion & luxury5/50/55/54/55/50/53/55/54/55/54/53/50/50/55/51/50/5
us.louisvuitton.comFashion & luxury5/55/55/55/51/55/50/50/54/50/55/50/50/50/50/50/50/5
Marketplaces & classifieds· 10 sites
goat.comMarketplaces & classifieds5/55/55/55/55/55/55/55/55/54/55/55/55/55/50/55/53/5
vinted.frMarketplaces & classifieds5/55/55/55/55/55/55/55/55/55/54/55/55/54/50/55/55/5
leboncoin.frMarketplaces & classifieds5/55/55/55/55/55/54/55/55/55/54/55/54/54/50/50/52/5
etsy.comMarketplaces & classifieds5/55/55/54/55/55/55/54/54/53/55/55/55/53/55/50/50/5
cars.comMarketplaces & classifieds5/55/55/55/55/55/55/55/55/54/54/55/55/50/55/50/50/5
ebay.comMarketplaces & classifieds5/55/50/54/55/55/55/53/54/54/50/53/55/50/54/50/51/5
allegro.plMarketplaces & classifieds5/55/55/54/54/51/55/55/54/54/54/55/55/50/55/50/50/5
autotrader.comMarketplaces & classifieds5/55/55/55/50/50/54/50/55/55/55/51/55/50/55/51/50/5
cargurus.comMarketplaces & classifieds5/55/55/55/53/55/50/54/51/52/55/50/53/50/50/50/50/5
stockx.comMarketplaces & classifieds5/55/55/55/54/55/55/55/50/53/53/50/50/50/50/50/50/5
News & finance· 9 sites
coinmarketcap.comNews & finance5/55/55/55/55/55/55/55/55/55/55/55/55/55/50/55/50/5
tradingview.comNews & finance5/55/55/55/55/55/55/55/55/55/55/55/55/55/50/55/51/5
bloomberg.comNews & finance5/55/55/55/55/55/55/55/55/55/55/55/55/53/50/54/50/5
marketwatch.comNews & finance4/55/55/55/55/55/55/55/55/55/55/55/55/54/55/50/51/5
wsj.comNews & finance5/55/55/55/55/55/55/54/52/53/55/54/55/55/53/50/50/5
barrons.comNews & finance4/55/55/55/55/55/55/55/55/54/55/55/55/53/55/50/50/5
finance.yahoo.comNews & finance5/55/55/55/55/55/55/55/55/50/55/55/55/55/50/55/50/5
nytimes.comNews & finance5/55/55/55/55/50/55/55/55/55/55/55/55/55/55/55/52/5
reuters.comNews & finance5/55/55/55/50/55/55/50/53/50/55/50/54/50/55/50/52/5
Travel· 9 sites
airbnb.comTravel5/53/55/52/55/55/55/55/54/53/55/54/55/55/50/52/53/5
delta.comTravel5/55/55/55/55/55/55/55/55/55/55/55/55/50/50/55/50/5
expedia.comTravel5/55/55/55/55/55/55/55/55/53/55/55/52/55/55/55/55/5
hyatt.comTravel5/55/55/55/55/55/55/55/54/55/55/53/55/50/55/50/50/5
tripadvisor.comTravel5/55/55/55/55/55/53/55/54/53/54/55/55/50/55/50/51/5
skyscanner.netTravel4/55/55/55/50/55/52/50/53/53/50/50/55/50/50/50/50/5
kayak.comTravel5/55/55/55/55/55/55/55/55/55/50/55/50/50/50/55/52/5
booking.comTravel5/55/55/55/50/55/55/50/54/53/55/55/50/50/54/50/51/5
aa.comTravel5/51/55/53/51/50/50/53/55/51/52/50/52/50/51/50/51/5
Social media· 8 sites
x.comSocial media5/55/55/55/55/55/55/55/50/55/55/55/55/55/55/55/55/5
instagram.comSocial media5/55/55/54/55/50/55/55/50/55/55/55/55/55/50/55/55/5
linkedin.comSocial media5/55/55/54/55/50/50/55/55/55/52/55/55/55/55/52/51/5
pinterest.comSocial media5/55/55/55/55/50/55/50/55/55/55/55/55/55/50/55/55/5
reddit.comSocial media5/55/55/55/55/50/53/54/55/55/55/55/55/55/50/51/51/5
tiktok.comSocial media5/55/55/55/52/50/55/54/54/55/55/53/55/55/50/51/52/5
youtube.comSocial media5/55/55/55/55/55/55/55/55/50/55/55/55/55/50/54/55/5
facebook.comSocial media5/55/55/54/55/50/55/55/50/55/55/55/50/55/50/55/51/5
Real estate· 7 sites
redfin.comReal estate5/55/55/55/54/55/55/55/55/55/55/55/55/55/50/50/51/5
rightmove.co.ukReal estate5/55/55/55/55/55/55/55/55/55/55/55/55/55/50/55/53/5
zillow.comReal estate5/55/55/55/55/55/54/55/55/55/54/55/55/55/55/55/50/5
zoopla.co.ukReal estate5/55/55/55/55/55/55/55/55/55/55/55/55/50/50/53/54/5
apartments.comReal estate5/55/55/55/55/55/50/55/55/55/55/50/50/50/50/51/50/5
idealista.comReal estate5/55/55/55/55/55/55/55/55/53/52/53/52/50/50/50/54/5
realtor.comReal estate5/55/55/54/50/55/51/54/50/55/53/52/50/50/52/50/50/5
Reviews & local· 6 sites
capterra.comReviews & local5/55/55/54/55/55/55/54/50/54/55/54/55/50/50/53/50/5
crunchbase.comReviews & local5/55/55/54/55/55/55/55/55/54/55/50/55/50/55/50/50/5
yellowpages.comReviews & local4/55/55/55/55/55/50/55/55/55/55/55/55/50/50/50/53/5
g2.comReviews & local5/55/55/54/54/55/53/55/54/55/50/55/50/50/55/50/50/5
trustpilot.comReviews & local5/55/55/55/55/55/55/55/55/55/54/50/50/50/50/50/50/5
yelp.comReviews & local5/55/55/55/53/50/50/54/52/55/50/51/50/50/52/50/50/5
Grocery & food· 5 sites
allmenus.comGrocery & food5/53/55/55/53/55/55/55/54/55/54/55/55/55/50/53/53/5
safeway.comGrocery & food5/55/55/55/54/55/55/55/53/54/55/55/55/55/55/55/50/5
asda.comGrocery & food5/50/55/53/55/55/55/55/51/55/55/55/55/50/55/53/54/5
instacart.comGrocery & food5/55/55/55/55/50/55/55/55/54/52/55/55/55/50/55/55/5
kroger.comGrocery & food2/55/50/50/55/55/50/52/55/53/53/55/51/50/50/50/50/5
Jobs & hiring· 5 sites
databricks.comJobs & hiring5/55/55/55/55/55/55/55/55/55/55/55/55/55/55/55/52/5
monster.comJobs & hiring5/55/55/55/53/55/50/55/53/55/53/50/55/50/50/50/50/5
glassdoor.comJobs & hiring5/55/55/55/55/54/55/55/55/55/53/55/55/50/55/51/52/5
ziprecruiter.comJobs & hiring5/55/55/55/55/55/54/55/55/54/55/52/55/50/50/50/51/5
indeed.comJobs & hiring5/55/52/54/54/55/55/50/54/50/54/54/51/50/55/52/50/5
Tickets & events· 4 sites
seatgeek.comTickets & events5/55/55/55/55/55/54/53/53/54/50/55/50/51/50/50/51/5
ticketmaster.comTickets & events5/55/55/55/55/55/55/51/55/50/50/50/50/55/50/55/50/5
stubhub.comTickets & events5/55/55/55/55/55/55/55/55/54/50/50/50/50/50/50/52/5
axs.comTickets & events5/55/55/55/55/55/55/51/53/51/50/50/50/50/50/50/50/5
Developer & research· 3 sites
arxiv.orgDeveloper & research5/55/55/55/55/50/55/55/55/55/50/55/55/55/50/55/50/5
github.comDeveloper & research5/55/55/55/55/55/55/55/55/55/55/55/55/50/50/55/55/5
stackoverflow.comDeveloper & research5/55/55/55/55/55/55/55/54/53/53/53/50/50/50/50/52/5
Gaming & betting· 2 sites
sportsbook.draftkings.comGaming & betting5/55/55/55/55/55/55/55/54/55/55/55/55/55/50/54/53/5
roblox.comGaming & betting5/55/55/52/55/55/55/50/55/55/50/55/50/50/50/55/50/5
Search engines· 2 sites
google.comSearch engines5/55/55/55/50/51/53/55/55/53/50/51/55/55/50/50/55/5
bing.comSearch engines5/55/55/51/55/55/55/50/53/51/50/55/50/55/50/55/54/5
Government· 1 site
congress.govGovernment5/55/55/55/55/55/55/55/55/55/50/53/50/50/50/50/51/5
Health & pharmacy· 1 site
goodrx.comHealth & pharmacy5/55/54/55/55/55/55/54/50/55/55/54/55/54/54/50/50/5

Attempts returning the real page, out of 5, per site · Web Data Frontier Benchmark · 100 targets · 500 requests per provider · October 30, 2026

What changed since September

The target set is the same 100 sites as the September run, but six fixtures were repaired after their pages changed: asda.com, autozone.com, marketwatch.com, cargurus.com, cars.com, and temu.com. Each keeps its site, anti-bot vendor, and vertical. Scrape.do joined the field through its own pull request, and no provider left. The latency definition is unchanged.

Three adapters changed. ScrapingBee is now scored on its final HTTP status rather than the status before a redirect. Decodo accepts the dashboard API key through Decodo's Web Data API, with the same request body. Browserbase no longer retries inside its SDK, so each attempt is one request. String's adapter now records the trace ID String returns in a response header; the request it sends is unchanged. The harness also normalizes every response body before checking it.

ProviderSeptember 16October 30ChangeAdapter
Context.dev72.0%93.0%+21.0Unchanged
Decodo50.6%71.2%+20.6Changed
ScrapingBee73.0%85.2%+12.2Changed
Zyte68.0%79.6%+11.6Unchanged
ScrapingAnt36.4%40.0%+3.6Unchanged
ScraperAPI84.0%76.4%-7.6Unchanged
Scrapingdog45.6%27.6%-18.0Unchanged
Providers whose success rate moved more than three points between the September 16 and October 30 runs. Adapter shows whether the harness changed how it calls that provider.

Context.dev rose 21 points, from eighth to third, and Zyte 11.6 points, with no change to either adapter. Decodo's 20.6-point rise came with its new endpoint, and its September 16 figure included 145 attempts on which its API returned HTTP 429 (too many requests). ScrapingBee's 12.2 points came with the scoring fix.

Scrapingdog fell 18 points, to last, and ScraperAPI 7.6 points, from third to ninth. Neither adapter changed.

String's success rate rose from 97.0% to 98.6%, and its latency score fell from 7.06s to 4.24s. It returned every attempt on temu.com and idealista.com, the two sites it failed outright in September. The temu.com fixture is one of the six repaired, so that site is not a like-for-like comparison.

Results by anti-bot vendor and industry

DataDome, Akamai, Cloudflare, and PerimeterX guard 63 of the 100 targets between them.

ProviderDataDome (19)Akamai (20)Cloudflare (15)PerimeterX (9)
String97.9%97%98.7%97.8%
Scrape.do97.9%87%93.3%100%
Context.dev100%79%96%97.8%
Scrapfly92.6%78%93.3%93.3%
ScrapingBee85.3%74%97.3%88.9%
Firecrawl85.3%80%98.7%100%
Success rate by anti-bot vendor, the four largest groups. Site counts in the header. Web Data Frontier Benchmark · 100 targets · 500 requests per provider · October 30, 2026

String led alone on Akamai, 20 sites, at 97%, and tied Firecrawl on Cloudflare at 98.7%. It trailed on two. On DataDome, Context.dev at 100% finished ahead of String's 97.9%. On PerimeterX, where String returned every attempt in September, Scrape.do at 100% and Firecrawl at 100% finished ahead of its 97.8%.

By vertical, String trailed in four: travel, news & finance, reviews & local, and grocery & food. News and finance had the most providers ahead, six: Scrape.do, Context.dev, Scrapfly, Zyte, Decodo, and Oxylabs. In grocery and food, Nimble at 100% finished ahead of String's 88%.

Success rate by anti-bot vendor. Web Data Frontier Benchmark · 100 targets · 500 requests per provider · October 30, 2026
Success rate by industry vertical. Web Data Frontier Benchmark · 100 targets · 500 requests per provider · October 30, 2026

How the benchmark works

The original post makes the case for the benchmark. A request passes when it returns a 2xx status and the body contains text found only on the real page, such as a product title or a listing address. A 200 carrying a challenge page or an empty JavaScript shell fails. Each provider gets five attempts per target, with a 90-second timeout.

The latency score is failure-aware. On each target, a provider that returned the page scores the nearest-rank p75 of its successful attempts. A provider that never returned it takes the p75 of the providers that did, and a target nobody returned scores the 90-second timeout. The score is the mean across targets, so failing fast does not make a provider look fast.

Seven providers take the proxy pool as a request parameter: ScraperAPI, ScrapingAnt, Scrapingdog, ZenRows, Decodo, Scrapfly, and Scrape.do. Their adapters pin the top pool. The other 10 choose the bypass server-side, so their adapters show only part of the configuration. String is one of them: its adapter sends no tier or configuration flag, so String's result reflects its default routing. JS rendering stays off wherever the caller controls it, except for ZenRows and Decodo, whose adapters predate that rule. Apify runs through its Web Fetch Actor.

Run it yourself

The harness, the 100 target URLs, the pass criteria, and every provider's adapter are public, and the repository takes your own API keys. This run's raw results record every attempt, including the error each failure returned. A full run makes thousands of billable calls, so start with a subset. If your numbers differ from ours, open a pull request.

The current leaderboard lives at the benchmark page, which moves with every run. This post stays as published.

Notes
  1. The ZenRows row includes attempts that never measured a target. The ZenRows API closed the connection without a response on all 215 attempts against the last 43 targets in suite order. The harness scores those attempts as failures like any other, so they count in both totals and show as 0 of 5 in the per-site table.

Cheers,
String team