String returned verified content on 97.0% of requests in the open Web Data Frontier Benchmark. ScrapingBee returned 73.0%. The September 16, 2026 run covered 100 real sites with five attempts each.
That gap is a quarter of the size it looked in August, and the reason matters. The August run sent ScrapingBee's default JavaScript path rather than its strongest published configuration, and it scored 29.7%. The September run corrected that, and ScrapingBee moved to 73.0%, the largest gain of any provider in the run. Read the 43.3-point jump as our adapter catching up rather than as a product change. Pick String when protected pages have to come back with no manual proxy tuning. Pick ScrapingBee for lower prepaid pricing, explicit configuration control, dedicated data APIs, and Auto Mode's cost ceiling.
TL;DR
| String | ScrapingBee | |
|---|---|---|
| Product type | Unblocker: fetch, search, sitemap, remote browser | HTML scraping API plus dedicated search, retail, AI, screenshot, and extraction tools |
| Benchmark success | 97.0% (485/500), 1st of 16 | 73.0% (365/500), 7th of 16 |
| Latency score | 7.06s, 1st | 21.96s, 14th |
| Sites with no successful attempt | 2 of 100 | 19 of 100 |
| $100-tier billing | Growth: $100 subscription plus $0.20 to $4.00 per 1,000 successful requests | Startup: $99 prepaid, 1,000,000 credits, 100 concurrent requests, excluding VAT |
| Failure billing | Blocked requests are free | 200, 404, and 410 responses bill; other failures are free |
| Automatic escalation | Built into the endpoint | Auto Mode chooses rendering and proxy strength, with an optional cost cap |
| MCP and integrations | Hosted MCP registry entry | Hosted MCP, CLI, LangChain, n8n |
| Where it wins | Measured coverage, latency, automatic retrieval on hard targets | Prepaid price, manual controls, Auto Mode, dedicated APIs, SDK and integration breadth |
We built the benchmark and sell the product that ranks first. The test is public so buyers do not have to trust our summary. The targets, methodology, provider adapters and raw results are available to inspect and rerun.
Each provider received the same 100 URLs five times. A response passed only when it contained a marker from the real page. A captcha or challenge page that returned HTTP 200 failed.
This page has been rewritten against the September 16, 2026 run. The earlier version reported 29.7% for ScrapingBee and carried a long caveat explaining that the adapter used the default JavaScript path rather than premium proxies, stealth proxies or Auto Mode. That caveat is now spent: the September run sends every provider through its strongest published configuration, and ScrapingBee's result rose to 73.0%. The honest reading is that the August figure measured our adapter and the September figure measures the product.
ScrapingBee is a configurable scraping platform. Its HTML API exposes JavaScript rendering, premium and stealth proxies, country selection, sessions, custom headers and cookies, screenshots, CSS or XPath extraction, AI extraction, and browser actions. It also has a proxy mode for tools that expect an HTTP or SOCKS proxy.
The product surface extends beyond generic page retrieval. ScrapingBee offers Fast Search, Google, Amazon, Walmart, and YouTube APIs, AI and LLM endpoints, a hosted MCP server, and a CLI that can crawl a domain or sitemap. The AI extraction API adds five credits to the underlying scrape and returns structured fields from a natural-language request.
String is narrower. Send a URL to one fetch endpoint and receive markdown, HTML, or JSON. Proxy selection, fingerprints, captcha handling, rendering, and retries happen behind the request. String also has /search, asynchronous sitemap discovery, a remote browser over CDP, and MCP tools. It does not expose ScrapingBee's proxy ladder or its catalog of dedicated retail and search APIs.
String passed 485 of 500 requests. ScrapingBee passed 365, a gap of 120 successful responses across the same target list.
| Per-target outcome | String | ScrapingBee |
|---|---|---|
| Passed all 5 attempts | 93 | 60 |
| Passed 1 to 4 attempts | 5 | 21 |
| Passed no attempts | 2 | 19 |
ScrapingBee's 60 perfect targets include Amazon, Walmart, Best Buy, Home Depot, Lowe's, LinkedIn, Facebook, Instagram, Reddit, eBay, Etsy, Expedia, Zillow, Redfin, Bloomberg, The New York Times, Ticketmaster, StubHub and GoodRx. That is a much broader footprint than the August run suggested, and it covers most of a normal retail and news workload.
The 19 shutouts are Temu, Mouser, Apartments.com, Skyscanner, Canada Goose, AutoTrader, StubHub's parent listings, Zara, Kayak, Yahoo Finance, Allegro, Wall Street Journal, Google, Reuters, CarGurus, Nike, Delta, Roblox and GitHub. String passed 16 of those 19 on every attempt. Temu defeated both products. String returned four of five on Allegro and AutoTrader, the two remaining sites in that group.
The partial column is the one worth reading closely. ScrapingBee returned content on some attempts and nothing on others for 21 of the 100 sites, against String's 5. A site that answers three times out of five does not look like a failure in a log; it looks like a gap in the data.
ScrapingBee did not beat String on any target in this run. There is no site where ScrapingBee returned all five attempts and String returned none.
The category split explains the result. ScrapingBee's September configuration is strong on Cloudflare and on sites with no named vendor, and weakest on Akamai and AWS WAF.
| Anti-bot system | Sites | String | ScrapingBee |
|---|---|---|---|
| Cloudflare | 15 | 100% | 92.0% |
| DataDome | 19 | 92.6% | 64.2% |
| Akamai | 20 | 98.0% | 63.0% |
| PerimeterX | 9 | 100% | 80.0% |
| AWS WAF | 6 | 100% | 63.3% |
| Kasada | 3 | 93.3% | 60.0% |
| Fastly | 1 | 100% | 0% |
| No named vendor | 27 | 96.3% | 80.0% |
ScrapingBee's Cloudflare result is the headline change between runs: 9.3% in August against 92.0% in September, on the same fifteen sites. Its weakest column is now Akamai at 63.0%, which covers twenty sites, the largest single group in the suite.
String's latency score was 7.06 seconds, the fastest of the sixteen. ScrapingBee's was 21.96 seconds, fourteenth. The score uses the per-target p75 of successful attempts and charges a provider for targets it cannot return, so fast failures do not look like speed.
In August the raw mean attempt time told the opposite story, because ScrapingBee's many fast failures pulled its mean down. That is no longer true. The September mean attempt time is 5.31 seconds for String and 20.00 seconds for ScrapingBee, so String now leads on the raw measure as well as the failure-aware one.
The cleanest comparison excludes failure entirely. On the 59 sites both products returned on all five attempts, the median per-site time was 2.70 seconds for String and 5.20 seconds for ScrapingBee. ScrapingBee took twice as long or worse on 33 of those 59, and three times as long or worse on 23.
ScrapingBee Startup is $99 per month for 1,000,000 prepaid credits and 100 concurrent requests, excluding VAT. Its credit system charges one credit for classic proxies without rendering, five with rendering, ten for premium without rendering, 25 for premium plus rendering, and 75 for stealth.
At full use of Startup, those weights translate to:
| ScrapingBee configuration | Credits/request | Pages included | Price per 1,000 |
|---|---|---|---|
| Classic, no JavaScript | 1 | 1,000,000 | $0.099 |
| Classic with JavaScript | 5 | 200,000 | $0.495 |
| Premium, no JavaScript | 10 | 100,000 | $0.99 |
| Premium with JavaScript | 25 | 40,000 | $2.475 |
| Stealth with JavaScript | 75 | 13,333 | $7.425 |
String Growth is a $100 monthly subscription plus usage, not a prepaid bundle. Usage per 1,000 successful requests is $0.20 for a request path on a standard proxy, $2.00 on a premium proxy, $1.00 for a browser on a standard proxy, and $4.00 for a browser on a premium proxy. Blocked requests are free and credits roll over.
ScrapingBee is genuinely cheaper for several workloads. One hundred thousand classic JavaScript requests fit inside Startup for $99. The same count on String Growth costs at least $120 if every page uses the standard request path, and more if it needs a browser or premium proxy. At 100,000 premium-plus-JavaScript pages, ScrapingBee Business has enough credits at $249, while String Growth plus premium-request usage is $300 for 100,000 successful requests.
String can be cheaper at the strongest edge. One hundred thousand stealth requests need 7.5 million ScrapingBee credits, fitting the $599 Business+ plan. String's most expensive published path, browser plus premium proxy, is $500 total at 100,000 successful requests: $100 subscription plus $400 usage.
Both products use success-oriented billing, with an important ScrapingBee footnote. ScrapingBee bills HTTP 200, 404, and 410 responses; other failures are free. A dead URL can therefore spend credits. Auto Mode bills only the successful configuration it selects and costs zero credits if all allowed configurations fail. String bills only when verified content comes back.
Pick String when your target list is varied, protected, and incomplete data is the main risk. Pick ScrapingBee when the sites are known to work, prepaid unit cost matters, or you need its dedicated APIs and explicit controls. The September run makes ScrapingBee a real option in a way the August run did not, and the remaining gap is concentrated in two places: the 19 sites it cannot return at all, and the 21 it returns inconsistently. Check both lists against your own before you decide.
On this benchmark, yes: String passed 97.0% against ScrapingBee's 73.0%, with 2 shutouts against 19. ScrapingBee has lower prepaid pricing, more manual controls, dedicated data APIs, and a SOC 2 Type II report that String does not have.
In the September 2026 run, yes. The August run used ScrapingBee's default JavaScript path and scored 29.7%, which measured our adapter more than the product. The September run sends every provider through its strongest published configuration, and ScrapingBee scored 73.0%, the largest gain of any provider between the two runs.
Often. ScrapingBee Startup includes 1,000,000 credits for $99, while String Growth is $100 plus usage. At full use, ScrapingBee's classic JavaScript path is $0.495 per 1,000 and premium plus JavaScript is $2.475. String Growth usage ranges from $0.20 to $4.00 per 1,000 successes on top of the subscription. ScrapingBee's prices exclude VAT.
ScrapingBee bills responses with HTTP 200, 404, or 410 and does not charge other failures. Auto Mode charges only the configuration that works and zero credits if all allowed configurations fail. String charges only when verified page content comes back.
Auto Mode tries classic, premium, and stealth proxy configurations with or without JavaScript rendering, starting with the cheapest. It stops at the first success. max_cost can keep it from trying expensive tiers, and a response header reports the selected credit weight.
Yes. ScrapingBee hosts a remote MCP server for scraping, screenshots, search, and dedicated data APIs. String also hosts an MCP server with fetch, search, and sitemap tools.
Nineteen of the 100: Temu, Mouser, Apartments.com, Skyscanner, Canada Goose, AutoTrader, StubHub, Zara, Kayak, Yahoo Finance, Allegro, Wall Street Journal, Google, Reuters, CarGurus, Nike, Delta, Roblox and GitHub. String returned sixteen of them on all five attempts.
Run the public benchmark repository with your own API keys. The September 16, 2026 results and every provider adapter are in the repository, and the full leaderboard is on /benchmark.