NewLaunching String Web Access APIRead the manifesto →
← Comparisons

String vs ScrapingAnt (2026): 100 protected sites

Logan Harless, Founder, String · Updated October 28, 2026

Which is better, String or ScrapingAnt?

String won the measured fetch comparison. ScrapingAnt gives 10,000 free credits every month and has more explicit browser and proxy controls. 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.

  • Choose String if coverage decides it. String returned 97.0% of requests and ScrapingAnt 36.4%, and a usable page on 98 of 100 sites to ScrapingAnt's 47.
  • Choose ScrapingAnt if you want a free tier that refreshes every month, standalone proxies, explicit Chrome controls, or uncapped parallel requests.
  • Do not switch if your list sits inside the 22 targets ScrapingAnt returned perfectly, such as Ticketmaster, Kayak, and TikTok.

TL;DR

  • Success rate: String 97.0% (485/500), ScrapingAnt 36.4% (182/500)
  • Latency score: String 7.06s (first of 16), ScrapingAnt 18.95s (tenth of 16)
  • Mean attempt time: String 5.31s, ScrapingAnt 5.51s
  • Perfect targets: String 93 of 100, ScrapingAnt 22. Total shutouts: String 2, ScrapingAnt 53
  • ScrapingAnt win: AutoTrader, five of five against String's four of five
  • Benchmark mode: residential proxies, browser rendering off, raw HTML, 25 credits per success
  • Untested stronger mode: browser rendering plus residential proxies, 125 credits per success
  • Every number comes from a public harness you can run with your own keys
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 5.31s 5.51s, fourth fastest
Per-target outcome 93 perfect, 5 partial, 2 zero 22 perfect, 25 partial, 53 zero
Anti-bot highlights 100% Cloudflare, PerimeterX, AWS WAF, and Fastly 100% Fastly, 53.3% PerimeterX, 68.9% 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 20,000 standard fetches 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 AutoTrader, proxy controls, extraction tools, and a monthly free allowance

How we tested, and the configuration caveat

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 was checked against live first-party pages on October 28, 2026. Performance figures are from the September 16, 2026 run.

What ScrapingAnt is

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 same request in ScrapingAnt and String

One job, done both ways: fetch a JavaScript-heavy product page and get its content back. Each request follows the vendor's own docs for that job, checked against those docs on October 15, 2026. Each one reads its key from an environment variable, such as $STRING_API_KEY.

curl "https://api.scrapingant.com/v2/general?url=https%3A%2F%2Fwww.example.com%2Fproduct%2F123&x-api-key=$SCRAPINGANT_API_KEY&proxy_type=residential"
curl https://request.usestring.ai/v1/fetch \
  -H "Authorization: Bearer $STRING_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.example.com/product/123", "format": "markdown"}'

ScrapingAnt renders every request in headless Chrome by default (browser=true), takes the key in the query string, and returns plain HTML. For a protected page its docs say to add proxy_type=residential. Markdown is a separate endpoint, /v2/markdown. String takes the key in a header, picks the fetch path and proxy class for each request, and bills the path it used. Add "executeJS": true if you want to force a browser.

Success rate: String 97.0%, ScrapingAnt 36.4%

The benchmark sent 16 providers the same 100 URLs five times each. Most targets are protected retail, travel, news, real-estate, and social pages. The table shows String and the five lowest-ranked providers. The full leaderboard has all 16.

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
Accuracy against latency. Accuracy is the percent of requests that returned verified content; latency is the failure-aware mean per-target p75, in seconds. Web Data Frontier Benchmark · 100 targets · 500 requests per provider · September 16, 2026. Current leaderboard

ScrapingAnt ranked 16th for success and tenth on the failure-aware latency score. Its raw mean attempt was 5.51 seconds, fourth fastest in the field and 0.20 seconds behind String's 5.31. The latency score is higher because it 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.

Where ScrapingAnt works

ScrapingAnt beat String on one target in the September run, AutoTrader, at 5 of 5 to String's 4 of 5. 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%, gaming and betting at 70.0% and developer and research at 53.3%.

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.

The measured coverage gap is 51 targets

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 a multi-site 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.

Pricing: decode the browser and proxy multipliers

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 bills requests that return the site's response, and each plan's fee is usage credit. Starter is $19 a month and includes $19 of usage at $0.25 per 1,000 standard fetches or $2.40 per 1,000 premium fetches. Growth is $99 and includes $99 of usage at $0.16 or $0.90. Browser paths cost more. Blocks are free, a site's own 404 bills, and unused credit rolls over.

The honest comparison depends on the path. ScrapingAnt's tested residential mode costs $2.45 per 1,000 successes on Startup, slightly above String Starter premium at $2.40 and well above String Growth premium at $0.90. 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.

Higher commitments lower ScrapingAnt's rate but not below String Growth's. 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.

Chrome controls, extraction, proxies, and MCP: ScrapingAnt wins breadth

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.

Which one should you pick?

  • Choose String when the core requirement is measured protected-page coverage. It returned at least one usable page on 98 of 100 targets; ScrapingAnt did so on 47.
  • Choose String when completion time across failures matters. Its latency score was 7.06 seconds against 18.95.
  • Choose ScrapingAnt when uncapped parallel submission matters.
  • Choose ScrapingAnt when you need standalone proxies, explicit Chrome controls, Markdown, AI extraction, official clients, workflow integrations, or hosted MCP.
  • Compare the exact request path. ScrapingAnt moves from 1 to 125 credits as browser and proxy choices change.
  • Test both with the open benchmark or a smaller target subset before committing spend.

Switching from ScrapingAnt to String

What carries over. A GET to /v2/general becomes a POST to String's /v1/fetch with the key in a header. Keep the URL list and the code that reads HTML. Calls to /v2/markdown become "format": "markdown", proxy_country maps to countryCode, and js_snippet and wait_for_selector map to String's browser actions. browser and proxy_type have no String equivalent, because String picks the path.

What you rebuild. The AI extractor, which String's jsonSchema replaces for the fields you name; the extended JSON response that returns cookies for chained requests; and Proxy Mode with standalone proxy bandwidth. String sells no raw proxies.

Integrations to reconnect. ScrapingAnt publishes JavaScript and Python clients, a hosted MCP server, and integrations for n8n, Make, and GitHub Actions. String ships no language SDK, so an SDK call becomes one HTTP POST. Its hosted MCP server runs at mcp.usestring.ai, n8n calls String through the HTTP Request node, and Zapier, LangChain, and the Vercel AI SDK have setup guides in String's docs.

Test on your own failing URLs first. Take the URLs that fail on ScrapingAnt today and run them through String. In this run ScrapingAnt returned nothing on 53 of the 100 sites, and String returned 48 of those on every attempt. Compare pages returned and cost per usable page, then move only the targets that improve. Leave custom headers off for the test: String does not bill a blocked request unless that request sent custom headers. The first 20,000 String standard fetches are free with no card. If you are weighing more than two tools, the ranking of 16 web scraping APIs uses the same benchmark.

FAQ

Is ScrapingAnt better than String?

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 AutoTrader, explicit controls, proxy products, and extraction breadth.

Is ScrapingAnt cheaper than String?

Sometimes. The tested residential, non-browser path costs $2.45 per 1,000 successful pages on ScrapingAnt Startup. That is above String Starter premium at $2.40 and String Growth premium at $0.90. At the $49 bundle's 20,000 residential successes, String Starter bills $48.00. Growth's $99 fee covers that volume, and any of it you do not use rolls over, so a fully used $49 bundle costs less than Growth that month. ScrapingAnt browser plus residential costs $12.25 per 1,000 on Startup. Standard paths are much cheaper for both.

Does ScrapingAnt charge for failed requests?

No. ScrapingAnt's pricing page says failed requests cost zero. String does not bill a blocked request either, but it does bill a site's own 404, because that is the site's real answer.

What ScrapingAnt configuration did the benchmark use?

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.

Did the benchmark test ScrapingAnt's strongest browser mode?

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.

Does ScrapingAnt bypass Cloudflare?

Sometimes, but not reliably in this run. ScrapingAnt passed 8.0% across 15 Cloudflare targets. It did better on PerimeterX at 53.3% and on the single Fastly target at 100%.

Does ScrapingAnt have an MCP server?

Yes. ScrapingAnt documents a hosted MCP server with tools for HTML, Markdown, and plain text. It uses the same account credits as the API.

How can I verify the benchmark numbers?

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.

Best Web Scraping APIs in 2026: 16 Tools ComparedUpdated October 28, 2026Web Scraping API Pricing in 2026: 16 Providers ComparedUpdated October 28, 2026Best ScrapingAnt Alternatives in 2026: 8 Tools ComparedUpdated October 27, 2026
Get your API key →Explore the Web Access API