NewLaunching String Web Access APIRead the manifesto →
← Comparisons

String vs Oxylabs (2026): 100 sites compared

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

Which is better, String or Oxylabs?

String is the better fit when a fixed list of protected pages has to return through one API. Oxylabs is the better fit when you need a raw residential proxy network, dedicated e-commerce parsers, or one subscription that covers proxies and scraping APIs. In the September 16, 2026 Web Data Frontier Benchmark, String returned verified content on 97.0% of 500 requests. Oxylabs returned it on 69.0%, down from 76.8% in the August run. String's failure-aware latency score was 7.06 seconds, compared with 15.86 seconds for Oxylabs.

  • Choose String if a fixed list of protected pages has to return through one API.
  • Choose Oxylabs if you need raw residential proxies, dedicated Amazon parsers, or its ISO and SOC reports.
  • Do not switch if your workload runs on Oxylabs' dedicated sources, such as Amazon, which the benchmark did not test.

Oxylabs still wins specific cases. It returned Idealista on five of five attempts while String returned nothing, and AutoTrader and Foot Locker on five where String returned four. Its scraping API also offers dedicated Amazon and Google rates, JavaScript rendering, custom parsers, and browser instructions. Buyers should test their own targets rather than treating the overall score as universal.

Last updated October 28, 2026. Benchmark figures come from the September 16, 2026 run. Oxylabs prices, plans, and billing rules were checked against its published Web Unblocker pricing, /Scrape pricing, residential proxy pricing, and Web Unblocker billing documentation on October 28, 2026. Its product and compliance claims were checked against its documentation and Trust Center on August 31, 2026.

TL;DR

  • String passed 485 of 500 benchmark requests, or 97.0%. Oxylabs passed 345, or 69.0%.
  • String returned content on every attempt for 93 of 100 sites. Oxylabs did so for 62.
  • String's failure-aware latency score was 7.06 seconds, first of 16 providers. Oxylabs' was 15.86 seconds, fifth.
  • Oxylabs returned nothing on 24 sites. String returned nothing on two.
  • Oxylabs beat String on three sites: Idealista, AutoTrader and Foot Locker. String led on every anti-bot system the two share.
  • Oxylabs Basic costs $100 a month on one subscription that covers every Oxylabs product. On Basic, Web Unblocker, the product the benchmark ran, costs $6 per GB for up to 16 GB. That is about $1.26 per 1,000 requests at 201 kB a page, by our arithmetic.
  • Oxylabs' per-result Web API /scrape endpoint, which the benchmark did not test, lists most non-rendered sites at $0.90 per 1,000 results on Basic, Amazon at $0.45, and rendered pages at $1.40.
  • String Growth costs $99 a month, which includes $99 of usage at $0.16 to $3.25 per 1,000 successful requests, depending on the fetch and proxy path.
  • Oxylabs Web Unblocker counts 2xx and 4xx responses as successful for billing, so a 403 block page bills. It does not bill its own 5xx errors. String does not bill blocked requests. It bills a site's 404, because that is the site's real answer.
  • Every benchmark number comes from a public harness that accepts your own API keys.
String Oxylabs
Product shape One fetch API, plus search, sitemap crawling, remote Chrome, and MCP Web Unblocker, a Web API with dedicated scrapers, and residential, mobile, ISP, and datacenter proxies
Benchmark success 97.0% (485/500) 69.0% (345/500)
Failure-aware latency score 7.06s, first of 16 15.86s, fifth of 16
Sites passed on all 5 attempts 93 of 100 62 of 100
Sites passed on no attempts 2 of 100 24 of 100
Entry offer 20,000 free standard fetches, no card; Starter $19, all of it usage credit $5 welcome credit; Starter $30
Roughly $100 tier Growth $99, used at $0.16 to $3.25 per 1,000 successful requests Basic $100; Web Unblocker at $6 per GB for up to 16 GB, or Web API results at $0.45 to $1.40 per 1,000
Raw proxy network No 175M+ residential IPs, plus ISP, mobile, and datacenter products
Best fit Protected pages that must return consistently Proxy infrastructure and dedicated parsers on one subscription

String vs Oxylabs 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, Oxylabs adapter, and complete results JSON are available for review. The adapter sent a GET through Oxylabs' general Web Unblocker proxy with one header, X-Oxylabs-Geo-Location: United States. It did not test the dedicated scrapers the company sells.

Provider Successful requests Success rate Latency score
String 485/500 97.0% 7.06s
Oxylabs 345/500 69.0% 15.86s

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

Where the 28-point success gap appears

Oxylabs returned nothing on all five attempts for 24 sites: Temu, Mouser, Trustpilot, Apartments.com, Realtor.com, Skyscanner, G2, StubHub, Ticketmaster, SeatGeek, StockX, Zara, Kayak, Allegro, Zoopla, Congress.gov, Facebook, Amazon, Booking.com, AT&T, CarGurus, AXS, Roblox and Stack Overflow.

String returned content on 23 of those 24 and passed all five attempts on 22, with Allegro at four of five. Temu shut out both providers. Oxylabs was partial on another 14 sites; String was partial on five.

The Amazon result needs context. The benchmark used the general Web Unblocker path. Oxylabs separately publishes dedicated Amazon scrapers with parsers for products, search results, pricing, sellers, and bestsellers. The 0-for-5 benchmark result describes Web Unblocker, not the dedicated Amazon product. If you want parsed Amazon rows from String instead, the same engine ships as the Amazon Product and Amazon Search Apify Actors, and our guide to how to scrape Amazon carries the Python and TypeScript we ran against product and search pages.

The same caution applies to every buyer. Test the actual source and options you plan to purchase using a subset of the public harness.

Anti-bot systems and categories

Anti-bot system String Oxylabs
Cloudflare 100% 57.3%
Akamai 98.0% 67.0%
DataDome 92.6% 65.3%
PerimeterX 100% 86.7%
AWS WAF 100% 33.3%
Kasada 93.3% 86.7%

Oxylabs led String on no anti-bot system in this run. Its closest columns were PerimeterX and Kasada; its weakest were AWS WAF and Cloudflare. Its clearest win was a single site: Idealista, five of five attempts where String returned nothing.

String's larger advantage appeared by business category. Oxylabs passed none of the ticketing requests, 53.3% of review sites, and 57.1% of real-estate requests. String passed 100%, 96.7% and 85.7%. Oxylabs' residential proxy FAQ also says some categories, including ticketing, government, streaming, banking, and mailing, are restricted on that proxy product, and Oxylabs returned nothing on Congress.gov, the benchmark's one government site. The benchmark tested Web Unblocker, not the residential proxy product, so the published proxy restriction is not a proven cause of a Web Unblocker result.

What each product is

Oxylabs Web Unblocker, the product the benchmark ran, is a proxy, not a REST API. You send your normal request through unblock.oxylabs.io:60000, and Oxylabs handles proxy selection, browser fingerprints, retries, and optional JavaScript rendering. Options travel as request headers. Oxylabs also sells a Web API whose /scrape endpoint accepts a URL and can add geolocation, JavaScript rendering, browser instructions, and parsing. Its dedicated scrapers cover Amazon, Google, YouTube, and other common targets.

The platform goes beyond fetching. Oxylabs provides browser instructions, a custom parser, real-time and asynchronous integrations, and plan-specific rate limits. It also sells residential proxies and other proxy types for teams that want direct session and routing control.

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. It does not provide raw proxy access or Oxylabs' catalog of dedicated parsers.

Both providers publish agent integrations. Oxylabs maintains an official MCP server. String's MCP server is listed as ai.usestring/web-access and exposes fetch, search, and sitemap tools.

Oxylabs also has the stronger procurement package. Its Trust Center lists ISO/IEC 27001:2022, SOC 2 Type 1 and Type 2, and SOC 3 materials. If one of those controls is a buying gate, it may outweigh the benchmark difference.

The same request in Oxylabs 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 28, 2026. Each one reads its key from an environment variable, such as $STRING_API_KEY.

curl -k -x https://unblock.oxylabs.io:60000 \
  -U "$OXYLABS_USERNAME:$OXYLABS_PASSWORD" \
  -H "X-Oxylabs-Geo-Location: United States" \
  -H "X-Oxylabs-Render: html" \
  "https://www.example.com/product/123"
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"}'

This is the Web Unblocker request the benchmark sent, plus one render header. The target URL stays the request URL, and the username and password go to the proxy. The docs ask you to ignore the proxy's SSL certificate, so -k is required. X-Oxylabs-Render: html loads the page in a browser, and the docs ask for a 180-second client timeout when you use it. The benchmark adapter did not send the render header. Oxylabs' Web Unblocker docs suggest it "if you are observing low success rates or retrieve empty content," so a run with it could score higher. Oxylabs' separate Web API takes a bearer key at webapi.oxylabs.io/v1/scrape and uses run_js: true instead. String takes the key in a header, picks the fetch path and proxy class for each request, and bills the path it used. Pages that need JavaScript are rendered without executeJS.

Pricing: gigabytes and counted results are not verified pages

Oxylabs now sells one subscription whose monthly amount can be spent on any of its products. Its Web Unblocker pricing, for the product the benchmark ran, lists these self-service rates:

Plan Monthly price Web Unblocker rate Traffic covered
Welcome credit $5 credit, free $7.20 per GB Up to 0.7 GB
Starter $30 $7.20 per GB Up to 4 GB
Basic $100 $6.00 per GB Up to 16 GB
Flexible $500 $4.80 per GB Up to 104 GB
Enterprise From $2,500 $3.00 per GB 833 GB and up

Web Unblocker bills traffic, not pages. Its billing documentation says you are billed for "both request and response traffic of successfully extracted data." It defines success more broadly than verified content: 2xx and 4xx target responses count as successful, even when the result does not contain the expected information. Oxylabs does not bill its own 5xx errors. That means a target's 403 block page can count against the plan even though the benchmark treats it as a failure.

Page weight sets the cost of each page. At the 201 kB per request in Oxylabs' own billing example, Basic's 16 GB covers about 79,600 requests, or about $1.26 per 1,000. At 500 kB per request it covers about 32,000 requests, or about $3.13 per 1,000. Both are our arithmetic, not Oxylabs' figures. The docs also say JavaScript rendering can make the traffic for a job larger than the HTML file alone.

The same subscription also buys Oxylabs' Web API /scrape endpoint, which bills per result and which the benchmark did not test. On Basic it lists most sites at $0.90 per 1,000 results without JavaScript and $1.40 with it, Amazon at $0.45, and Google without JavaScript at $0.90.

String's plan fee is paid in as usage credit. String bills a request when it returns the site's response, including a site's 404, and does not bill blocked requests. The first 20,000 standard fetches are free with no card. Starter is $19 per month and includes $19 of usage; Growth is $99 and includes $99. Usage above that bills at the same rates, and unused credit rolls over. Growth rates are:

Fetch path Price per 1,000 successful requests
Request, standard proxy $0.16
Browser, standard proxy $0.80
Request, premium proxy $0.90
Browser, premium proxy $3.25

At the $100 level, String's standard request, premium request, and browser on a standard proxy all cost less than Web Unblocker's derived $1.26 per 1,000 at 201 kB a page. String's $3.25 browser-plus-premium path costs more than both derived Web Unblocker figures. Against the per-result Web API, String is cheaper on standard requests and on browsers through a standard proxy, and the two tie at $0.90 on a premium request against a non-rendered result. The Web API's $1.40 rendered rate is cheaper than String's $3.25 path, and its $0.45 Amazon rate is for a dedicated scraper String does not provide. The target mix and the page weight determine the answer.

Do not divide the list rate by benchmark success for either product. Their billing rules are not the same as the benchmark's content-marker rule. Success rate answers whether the page arrives. Billing documentation answers what counts against the plan. Keep those questions separate.

Oxylabs' raw proxy product is billed by the gigabyte too. On the same subscription, residential proxies cost $6 per GB on Starter, up to 5 GB, $5 per GB on Basic, up to 20 GB, and $2.50 per GB from 1,000 GB on Enterprise. Headers, response size, assets, and retries all consume bandwidth. A gigabyte cannot be compared with a verified page by looking at one headline price.

Where Oxylabs is the better choice

  • Idealista, AutoTrader or Foot Locker matters more than the overall benchmark.
  • You need raw residential, ISP, mobile, or datacenter proxies with direct session control.
  • You want dedicated Amazon parsers, custom parsers, browser instructions, or a dashboard playground.
  • Oxylabs' ISO and SOC materials satisfy a procurement requirement.
  • Your own test shows a dedicated Web API scraper returning the full dataset at its lower per-result rate.

Where String is the better choice

  • A fixed list of protected pages must return consistently through one interface.
  • Your targets resemble the benchmark's ticketing, reviews, real estate, retail, or travel shutouts.
  • You want Markdown output without maintaining parsers or proxy sessions.
  • Plain fetches make up most of the workload, where String Growth lists $0.16 per 1,000 successful requests.
  • You do not want a 403 block page to count as billable traffic.

Using String and Oxylabs together

Keep Oxylabs for raw proxy workloads and dedicated sources such as Amazon, then send the protected URLs that miss on Web Unblocker through String. The reverse can also work: use String as the default fetch layer and Oxylabs when a workflow needs dedicated parsing, browser instructions, or direct proxy control.

Switching from Oxylabs to String

What carries over. A Web Unblocker GET moves from a proxy setting to an API call. The URL goes in the body of a POST to String's /v1/fetch, and the username and password become a bearer key. X-Oxylabs-Geo-Location becomes countryCode (a two-letter code). You can drop X-Oxylabs-Render, because String renders pages that need it without being asked. A Web Scraper API realtime POST with source: "universal" maps the same way, with geo_location to countryCode and browser instructions to String's actions.

What you rebuild. Web Unblocker sessions, dedicated sources and parsers such as amazon_product and google_search, the Custom Parser, Push-Pull async jobs, batches of up to 5,000 jobs, the Scheduler, cloud-storage delivery, and the residential proxy pool. String's jsonSchema covers parsing for the fields you name and /search covers live Google results. Amazon jobs on a dedicated source often stay with Oxylabs.

Integrations to reconnect. Oxylabs publishes an MCP server for its newer Web API, a LangChain package, a LlamaIndex integration, agent skills, and a Postman collection. Its docs list no n8n, Zapier, or Make integration. 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 miss on Oxylabs today and run them through String, with the same Oxylabs configuration beside them. 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 Oxylabs is one option among several, the Oxylabs alternatives comparison ranks the substitutes on the same benchmark.

FAQ

Is String better than Oxylabs for protected websites?

On the September 2026 Web Data Frontier Benchmark overall, yes. String returned verified content on 97.0% of 500 requests and Oxylabs on 69.0%, with 2 total shutouts against 24. Oxylabs returned Idealista where String failed. Run the public test harness against your own target list.

Is String cheaper than Oxylabs?

Sometimes. Oxylabs Basic is $100 for up to 16 GB of Web Unblocker traffic at $6 per GB, about $1.26 per 1,000 requests at 201 kB a page by our arithmetic. String Growth's standard request costs $0.16 per 1,000 successful requests and its premium request $0.90, both below that figure. String's $3.25 browser-plus-premium path costs more. Oxylabs' per-result Web API lists $0.90 for most non-rendered results and $1.40 with JavaScript, with lower rates for dedicated Amazon and Google sources.

Does Oxylabs charge for blocked requests?

Its Web Unblocker billing documentation says 2xx and 4xx target responses count as successful results, while its own 5xx errors are not billed. A target 403 can therefore count against the plan even when it contains a block page. String does not bill blocked requests. It bills a site's 404, because that is the site's real answer.

Which product has the larger proxy network?

Oxylabs. Its residential proxy page advertises more than 175 million IPs, and it also sells mobile, ISP, and datacenter products. String does not sell raw proxies.

Which product is faster?

String, and the gap holds on pages both products returned. On the 59 sites where String and Oxylabs each returned all five attempts in the September 2026 run, String's median was 2.50 seconds against Oxylabs' 5.10, and String was quicker on 46 of the 59. The failure-aware benchmark score points the same way, 7.06 seconds against 15.86, but that score also charges each provider for the sites it fails, so it is not a raw response-time figure.

When should I stay with Oxylabs?

Stay when Idealista or a dedicated Oxylabs source is central to the job, when you need raw proxy control or dedicated Amazon and Google parsers, or when Oxylabs' enterprise compliance package is a procurement requirement. The benchmark tested the general Web Unblocker path and does not measure every dedicated source.

Can I verify these results?

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

Bright Data vs Oxylabs for large-scale scraping (2026)Updated October 27, 2026Best E-commerce Scraping APIs for Price Monitoring (2026)Updated October 28, 2026Best Web Scraping APIs in 2026: 16 Tools ComparedUpdated October 28, 2026
Get your API key →Explore the Web Access API