NewLaunching String Web Access APIRead the manifesto →
← Comparisons

String vs Zyte (2026): 100 sites compared

Logan Harless, Founder, String · Updated September 23, 2026

String is the better fit when protected pages have to return consistently and you want a published rate for each fetch path. Zyte is the better fit when you already use Scrapy, want the vendor to choose the lowest-cost technology for each domain, or your sites land in Zyte's inexpensive HTTP tiers. In the September 16, 2026 Web Data Frontier Benchmark, String returned verified content on 97.0% of 500 requests. Zyte's HTTP path returned it on 68.0%.

Zyte still wins meaningful cases. It returned Skyscanner on two of five attempts while String returned nothing, matched String at 100% against Kasada, and charges $0.10 to $0.95 per 1,000 successful HTTP responses at a $100 commitment. Every Zyte HTTP tier costs less than String's $2.00 premium-request rate. Buyers should test the path and domains they will actually use.

Last updated September 22, 2026. Benchmark figures come from the September 16, 2026 run; see /benchmark. Zyte product, pricing, tier-assignment, and billing claims were checked against its published pricing page, pricing documentation, error documentation, and API reference on August 31, 2026.

TL;DR

  • String passed 485 of 500 benchmark requests, or 97.0%. Zyte passed 340, or 68.0%.
  • String returned content on every attempt for 93 of 100 sites. Zyte did so for 57.
  • String's failure-aware latency score was 7.06 seconds, first of 16 providers. Zyte's was 17.46 seconds, seventh. On the 55 sites both returned in full, Zyte was the faster of the two: a median 1.50 seconds per site against String's 2.20.
  • Zyte returned nothing on 18 sites. String returned nothing on two.
  • Zyte matched String at 100% against Kasada and beat String on Skyscanner, Neiman Marcus, Allegro, and Booking.com.
  • Zyte assigns one of five tiers to each website and request type, reviews assignments quarterly, and gives two weeks' notice of changes.
  • At a $100 commitment, Zyte HTTP costs $0.10 to $0.95 per 1,000 successful responses. Browser requests cost $0.75 to $12.00.
  • String Growth costs $100 plus $0.20 to $4.00 per 1,000 verified requests, depending on the fetch and proxy path.
  • Both providers make ban and unsuccessful responses free. Zyte treats a non-ban target 404 as a successful, billable response.
  • Every benchmark number comes from a public harness that accepts your own API keys.
String Zyte
Product shape One fetch API, plus search, sitemap crawling, remote Chrome, and MCP Zyte API with HTTP, browser, automatic extraction, and Scrapy integration
Benchmark path String selects the request or browser path httpResponseBody, the HTTP path
Benchmark success 97.0% (485/500) 68.0% (340/500)
Failure-aware latency score 7.06s, first of 16 17.46s, seventh of 16
Sites passed on all 5 attempts 93 of 100 57 of 100
Sites passed on no attempts 2 of 100 26 of 100
Entry offer 5,000 free requests; Starter $20 plus usage $5 free credit for 30 days, no commitment
Roughly $100 tier Growth $100 plus $0.20 to $4.00 per 1,000 verified requests $100 commitment; HTTP $0.10 to $0.95, browser $0.75 to $12.00 per 1,000 successful responses
Pricing control Four published paths chosen per request Five automatic tiers per domain and request type
Best fit Protected pages that must return consistently Scrapy teams and domains assigned to inexpensive Zyte tiers

String vs Zyte benchmark results

The Web Data Frontier Benchmark sends every provider the same 100 URLs five times. A response passes only when it contains a marker from the real page. A CAPTCHA or block page that returns HTTP 200 still fails. The September run made 8,000 live requests across 16 providers.

String built the benchmark and sells the product that ranked first. The test is public so that conflict is inspectable: the target list and pass criteria, Zyte adapter, and complete results JSON are available for review.

Provider Successful requests Success rate Latency score
String 485/500 97.0% 7.06s
Zyte 340/500 68.0% 17.46s

The latency score is failure-aware. For each target it takes the p75 of successful attempts; a provider that never returns the page inherits the p75 of providers that did. That prevents a fast block page from looking like good performance.

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

The benchmark tested Zyte's HTTP path

The Zyte adapter posts to /v1/extract with httpResponseBody: true. Zyte's HTTP documentation says this path does not reflect content loaded at runtime by JavaScript.

Zyte also sells browser requests that return rendered HTML, screenshots, execute actions, and capture network traffic. A browser request could plausibly clear pages the HTTP path missed. It is also a different price band: at a $100 commitment, tier 1 rises from $0.10 to $0.75 per 1,000 and tier 5 from $0.95 to $12.00.

The 68.0% result is therefore not a claim about the ceiling of every Zyte configuration. It is the measured result for the lower-cost HTTP path. String chooses its request or browser path behind the same endpoint and bills the path actually used.

Where the 24-point success gap appears

Zyte returned nothing on all five attempts for 26 sites: Temu, Mouser, Trustpilot, Best Buy, Apartments.com, Lowe's, Realtor.com, AutoZone, Louis Vuitton, Yelp, Neiman Marcus, Saks Fifth Avenue, G2, Coupang, Idealista, StubHub, American Airlines, Cars.com, Yellow Pages, Allegro, Wall Street Journal, LinkedIn, Asda, Booking.com, CarGurus and Kroger.

String returned content on 24 of those 26. It passed all five attempts on 21, and four of five on Coupang and Allegro. Temu and Idealista shut out both providers.

Zyte won no target outright in the September run. The four it won in August did not survive: String now returns Skyscanner, Neiman Marcus and Booking.com on all five attempts, and Zyte returns nothing on Allegro.

Anti-bot systems

Anti-bot system String Zyte
Cloudflare 100% 58.7%
Akamai 98.0% 64.0%
DataDome 92.6% 50.5%
PerimeterX 100% 88.9%
Kasada 93.3% 100%

Zyte stayed close on PerimeterX and beat String on Kasada, 100% against 93.3%, the only column where it leads. Its largest gaps are Cloudflare and DataDome, which together protect 34 of the 100 targets, and AWS WAF, where it fell to 30.0%.

What each product is

Zyte API combines automatic proxy selection, anti-ban work, HTTP fetching, browser rendering, and extraction. The API reference supports httpResponseBody, browserHtml, screenshots, actions, sessions, and structured extraction for products, articles, jobs, forums, and search results.

Zyte is particularly natural for Scrapy teams. Its HTTP path works through scrapy-zyte-api, while the browser path supplies rendered DOM and actions. Zyte decides which infrastructure a domain needs and folds datacenter, residential, and rendering costs into the assigned tier.

String is narrower. Send a URL to the Web Access API and get Markdown, HTML, or JSON. Proxy rotation, fingerprinting, CAPTCHA solving, and browser escalation happen behind the endpoint. String also provides search, an asynchronous sitemap crawl, remote Chrome over CDP, and an MCP server.

String publishes a server in the official MCP registry as ai.usestring/web-access. Zyte publishes a guide to building an MCP server, but does not publish a hosted official server. MCP is an advantage for String; native Scrapy integration is an advantage for Zyte.

Pricing: automatic tiers versus published paths

Zyte API pricing assigns every combination of website and request type to one of five tiers.

Zyte tier HTTP PAYG HTTP at $100 Browser PAYG Browser at $100
Simple $0.13 $0.10 $1.01 $0.75
Easy $0.23 $0.17 $2.01 $1.50
Moderate $0.44 $0.33 $4.02 $3.00
Complex $0.70 $0.53 $8.04 $6.00
Advanced $1.27 $0.95 $16.08 $12.00

Rates are per 1,000 successful responses. Zyte's pricing documentation says new domain and request-type combinations begin on a temporary tier, permanent assignments are reviewed quarterly, and affected customers get two weeks' notice. A $100 spending limit has no commitment; a $100 commitment buys a $200 spending limit and a 25% discount.

Zyte does not charge rate-limit or unsuccessful responses. Its error documentation says an unavoidable ban returns a 520 response and is free. A non-ban response such as a target 404 is returned as a successful Zyte response and is billable.

String charges a subscription plus requests that return verified content. The first 5,000 requests are free. Starter is $20 per month and Growth is $100. Growth rates are:

Fetch path Price per 1,000 verified requests
Request, standard proxy $0.20
Browser, standard proxy $1.00
Request, premium proxy $2.00
Browser, premium proxy $4.00

The honest price comparison runs both ways. All five Zyte HTTP tiers undercut String's $2.00 premium-request rate, and Zyte's Simple and Easy HTTP tiers undercut String's $0.20 standard rate. String is cheaper than Zyte's Moderate-through-Advanced browser tiers and publishes the same four path prices for every domain.

Do not divide either provider's success-billed rate by benchmark success. A blocked request costs neither provider anything. Success rate answers whether the page arrives. The rate card answers what a successful response costs. The broader 16-provider pricing comparison keeps those questions separate.

Where Zyte is the better choice

  • You already use Scrapy and want a first-party integration rather than a separate fetch client.
  • Your target domains fall in the Simple or Easy HTTP tiers, where Zyte can be cheaper than String's standard path.
  • Kasada, DataDome, or PerimeterX dominates the list rather than Cloudflare or Akamai.
  • You need structured extraction, browser actions, screenshots, or a browser path through the same API.
  • Skyscanner, Neiman Marcus, Allegro, or Booking.com matters more than the overall benchmark.

Where String is the better choice

  • A fixed list of protected pages must return consistently through one endpoint.
  • Your targets resemble Zyte's retail, local, real-estate, travel, or ticketing shutouts.
  • Cloudflare and Akamai protect much of the list.
  • You want published path rates instead of a vendor-assigned domain tier that can change quarterly.
  • You want a hosted MCP server and Markdown by default.

Using String and Zyte together

Keep Zyte for inexpensive HTTP-tier domains, structured extraction, or a Scrapy-native workflow, and send the pages that miss through String. The reverse can also work: use String for protected retrieval and Zyte for automatic extraction or browser actions.

Both products offer a free evaluation. Compare Zyte's HTTP and browser paths with String against a representative target list before changing production traffic.

If Zyte is one option among several, the Zyte alternatives comparison places six substitutes next to the same benchmark.

FAQ

Is String better than Zyte for protected websites?

On the September 2026 Web Data Frontier Benchmark overall, yes. String returned verified content on 97.0% of 500 requests and Zyte's HTTP path on 68.0%, with 2 total shutouts against 26. Zyte beat String on Kasada, 100% against 93.3%, and is the faster of the two on sites both return. Run the public test harness against your own domains.

Is String cheaper than Zyte?

Not always. At a $100 commitment, every Zyte HTTP tier from $0.10 to $0.95 per 1,000 successful responses is cheaper than String's $2.00 premium-request path. The two cheapest tiers also undercut String's $0.20 standard rate. String is cheaper than Zyte's $6.00 and $12.00 high-tier browser rates, and its prices do not change by domain.

Does Zyte charge for blocked requests?

No. Zyte's error documentation says ban, rate-limit, and unsuccessful responses are free. A target response that is not a ban, such as a real 404 page, counts as a successful response and is billable. String bills only when verified content returns.

Did the benchmark test Zyte's browser path?

No. It tested httpResponseBody, the lower-priced HTTP path. Zyte's browser path could clear JavaScript-heavy pages the HTTP path missed, but it costs 7.5 to 12.6 times more within the same tier at a $100 commitment.

Which product is faster?

String on the failure-aware benchmark score: 7.06 seconds against Zyte's 17.46. Zyte is the faster product on pages it returns: across the 55 sites both cleared on all five attempts, its median per-site time was 1.50 seconds against String's 2.20. The failure-aware score includes the cost of targets a provider fails, which is where the two separate.

When should I stay with Zyte?

Stay when you use Scrapy, your domains sit in inexpensive Zyte tiers, or you need structured extraction and browser actions through the same API. Zyte is also competitive against Kasada, DataDome, and PerimeterX and returned four targets more reliably than String.

Can I verify these results?

Yes. The benchmark repository, Zyte adapter, and August results file are public. A full run makes thousands of billable requests, so begin with a subset.

Best Diffbot Alternatives in 2026: 7 Tools ComparedUpdated October 1, 2026Oxylabs Alternatives 2026: 6 Tested, Plus Oxylabs vs ZyteUpdated September 29, 2026Firecrawl Alternatives 2026: Free, Open Source and HostedUpdated September 24, 2026
Get your API key →Explore the Web Access API
© 2026 StringEU and UK GDPR Article 27 representative — appointment verified by EuverifyBuilt in New York City 🗽 🍎