String vs Bright Data (2026): 100 sites compared
Which is better, String or Bright Data?
String is the better fit when the job is returning difficult, bot-protected pages through one API. Bright Data is the better fit when you need raw proxy infrastructure, datasets, search results, browser automation, and web unlocking under one contract. In the September 16, 2026 Web Data Frontier Benchmark, String returned verified content on 97.0% of 500 requests. Bright Data returned it on 74.6%. String's failure-aware latency score was 7.06 seconds, compared with 15.62 seconds for Bright Data.
- Choose String if a fixed list of protected pages has to come back. Bright Data returned nothing on 16 of the 100 benchmark sites; String returned nothing on two.
- Choose Bright Data if you want raw proxies, datasets, a SERP API, and managed browsers from one vendor.
- Do not switch if your own test shows Web Unlocker already returns every page you need at its $1.50 per 1,000 rate.
Bright Data still wins important cases. Its product catalog is much broader, it returned AutoTrader and Foot Locker on five of five attempts where String returned four, both providers passed all 40 social-platform requests, and its Web Unlocker pay-as-you-go rate is cheaper than String when String needs a browser on a premium proxy. Buyers should test their own targets before choosing either provider.
Last updated October 27, 2026. Benchmark figures come from the September 16, 2026 run. Bright Data product, pricing, and billing claims were checked against its published product catalog, Web Unlocker, residential proxy, and feature documentation on October 27, 2026.
TL;DR
- String passed 485 of 500 benchmark requests, or 97.0%. Bright Data passed 373, or 74.6%, sixth of 16 providers.
- String returned content on every attempt for 93 of 100 sites. Bright Data did so for 63.
- String's latency score was 7.06 seconds, first of 16 providers. Bright Data's was 15.62 seconds, fourth, down from 26.14 seconds in the August 11, 2026 run.
- Both providers passed all 40 requests across LinkedIn, X, Instagram, Reddit, TikTok, Facebook, Pinterest, and YouTube.
- Bright Data sells residential proxies, datasets, a SERP API, browser infrastructure, and Web Unlocker. String does not sell raw proxies or ready-made datasets.
- Bright Data Web Unlocker costs $1.50 per 1,000 successful requests pay as you go. String Growth ranges from $0.16 to $3.25 per 1,000 successful requests, depending on the fetch and proxy path.
- Bright Data is cheaper when String needs a browser plus premium proxy. String is cheaper on plain requests, premium requests and browser requests on standard proxies.
- Every benchmark number comes from a public harness that accepts your own API keys.
| String | Bright Data | |
|---|---|---|
| Product shape | One fetch API, plus search, sitemap crawling, remote Chrome, and MCP | Proxies, Web Unlocker, scraper APIs, datasets, SERP API, and Browser API |
| Benchmark success | 97.0% (485/500) | 74.6% (373/500) |
| Failure-aware latency score | 7.06s, first of 16 | 15.62s, fourth of 16 |
| Sites passed on all 5 attempts | 93 of 100 | 63 of 100 |
| Sites passed on no attempts | 2 of 100 | 16 of 100 |
| Social-platform requests | 40/40 | 40/40 |
| Entry price | 20,000 free standard fetches; Starter $19, all of it usage | 5,000 Web Unlocker requests free; pay as you go has no monthly commitment |
| Usage price | Growth: $0.16 to $3.25 per 1,000 successful requests | Web Unlocker: $1.50 per 1,000 successful requests; premium domains cost more |
| Raw proxy network | No | 400M+ monthly residential IPs, plus ISP, datacenter, and mobile products |
| Best fit | Protected pages that have to return reliably | Broad web-data and proxy infrastructure under one vendor |
String vs Bright Data 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, Bright Data adapter, and complete results JSON are available for review. Bright Data ran through Web Unlocker with raw output, the closest match to String's fetch endpoint.
| Provider | Successful requests | Success rate | Latency score |
|---|---|---|---|
| String | 485/500 | 97.0% | 7.06s |
| Bright Data | 373/500 | 74.6% | 15.62s |
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.
Where the 22-point success gap appears
Bright Data returned nothing on all five attempts for 16 sites: Temu, AutoZone, Louis Vuitton, Yelp, Canada Goose, Saks Fifth Avenue, G2, Idealista, Ticketmaster, SeatGeek, Etsy, Yahoo Finance, Allegro, Reuters, Bing, and buybuy BABY. String returned content on 14 of those 16 and passed all five attempts on 12. Temu and Idealista shut out both providers.
The less visible difference was inconsistency. Bright Data returned some, but not all, attempts on 21 sites. String was partial on five. Expedia, Coupang, and StubHub passed one of five attempts through Bright Data; Mouser, Safeway, Best Buy, Capterra, Monster, and Vinted passed two. String cleared every attempt on those sites except Coupang, where it passed four.
That does not prove String will win on every buyer's list. It shows how the two products behaved on the benchmark's 100 targets. Run a subset of the public harness against the domains that matter to you.
Anti-bot systems and social platforms
| Anti-bot system | String | Bright Data |
|---|---|---|
| Cloudflare | 100% | 88% |
| Akamai | 98% | 79% |
| DataDome | 92.6% | 47.4% |
| PerimeterX | 100% | 100% |
String led on Cloudflare, Akamai, and DataDome. PerimeterX was a tie, and so were social platforms: both providers passed all 40 requests across the eight social targets. If public social pages dominate the workload, this benchmark gives neither provider an advantage.
What each product is
Bright Data Web Unlocker accepts a URL and returns unblocked HTML or JSON. It manages proxy selection, retries, CAPTCHA solving, and browser rendering. It can also convert pages to Markdown. That makes it a direct String competitor.
Bright Data is also much more than Web Unlocker. Its catalog includes residential proxies, ISP, datacenter, and mobile proxy products; structured datasets; a SERP API; scraper APIs; and managed browsers. Teams that want those products under one vendor should count that breadth as a real advantage.
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 a raw proxy network, prebuilt datasets, or Bright Data's full scraper catalog.
Both providers publish agent integrations. Bright Data maintains an official MCP package and documents a 5,000-request MCP free tier. String's MCP server is listed as ai.usestring/web-access and exposes fetch, search, and sitemap tools.
The same request in Bright Data 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.brightdata.com/request \
-H "Authorization: Bearer $BRIGHTDATA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"zone": "YOUR_UNLOCKER_ZONE", "url": "https://www.example.com/product/123", "format": "raw", "data_format": "markdown", "render": "true"}'
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"}'
Both requests are one POST with a bearer key. Web Unlocker also needs a zone, created in the Bright Data dashboard before the first call and named in every request, and a required format field. data_format: "markdown" converts the page and render forces a browser. 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.
Pricing: compare the path, not one headline rate
Bright Data Web Unlocker pricing is straightforward for standard domains:
- Free: 5,000 requests each month.
- Pay as you go: $1.50 per 1,000 successful requests, with no commitment.
- Scale: $499 per month for 383,000 included requests, then $1.30 per 1,000.
- Enterprise: custom volume pricing.
Bright Data's premium-domain feature uses a higher rate shown in the customer dashboard. The public page does not provide one universal premium-domain price. Regular Web Unlocker usage bills successful requests. If custom headers, cookies, or expect elements are enabled, the same feature documentation says every request bills, successful or failed.
String bills successful requests, and each plan's fee is usage credit. The first 20,000 standard fetches are free. Starter is $19 a month and includes $19 of usage; Growth is $99 and includes $99 of usage at these rates:
| 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 |
The honest comparison changes with the page. String is cheaper than Bright Data's $1.50 rate on its standard request, standard-browser and premium-request paths. Bright Data is cheaper than String's $3.25 browser-plus-premium path, before any Bright Data premium-domain surcharge. Bright Data can also be cheaper for a light workload because its pay-as-you-go plan has no monthly minimum, while String Growth bills at least its $99 fee. Any of that fee you do not use rolls over, and blocked requests are not billed.
Do not divide either provider's normal success-billed rate by its benchmark success rate. A blocked request normally costs neither provider anything, so that division invents a charge. Success rate answers whether the page arrives. The rate card answers what a successful page costs. Keep those two questions separate.
Bright Data's raw proxy product uses a different unit. Its residential pricing page lists $8 per GB pay as you go before the coupon shown on October 27, with committed plans beginning at $499. Headers, response size, assets, and retries all affect bandwidth. That is useful infrastructure, but it cannot be compared with a successful-request API by looking at one headline number.
Where Bright Data is the better choice
- You need raw residential, ISP, datacenter, or mobile proxies and want direct control over sessions and geography.
- You want datasets, scraper APIs, SERP results, browsers, and unblocking from one vendor.
- Bright Data already satisfies procurement and you value one existing contract more than a narrower benchmark lead.
- Your own target test shows Web Unlocker returning everything you need at its $1.50 rate.
- Public social pages dominate the job. Bright Data and String tied at 40/40 in this run.
- String needs its browser-plus-premium path and Bright Data classifies the domains at its standard Web Unlocker rate.
Where String is the better choice
- The workload is a fixed list of protected pages and missing one matters.
- Your targets resemble the benchmark's retail, travel, news, ticketing, or review sites where Bright Data was partial or absent.
- You want one request interface and do not need to manage a proxy portfolio.
- Plain fetches make up most of the workload, where String Growth lists $0.16 per 1,000 successful requests.
- You want blocked requests to be unambiguously free even when the API controls headers and escalation.
Using String and Bright Data together
The products do not have to replace each other. Keep Bright Data for raw proxy sessions, datasets, or search-engine results, and send the protected URLs that miss through String. For Google results specifically, how to scrape Google search results shows String's search endpoint with working code. The reverse can also make sense: use String as the default fetch layer and Bright Data when a workflow needs a proxy session or one of its structured products.
Switching from Bright Data to String
What carries over. A POST to api.brightdata.com/request keeps its bearer-key shape and becomes a POST to String's /v1/fetch. Drop the zone and format fields. data_format: "markdown" maps to "format": "markdown" and render to "executeJS": true. Code that sends Web Unlocker traffic through the brd.superproxy.io proxy port moves to API calls, because String has no proxy-port interface.
What you rebuild. Scraper APIs and their per-site datasets, Scraper Studio, the Dataset Marketplace, the SERP API, the Browser API, async Unlocker jobs with webhook delivery, and the residential, ISP, datacenter, and mobile proxies. String's /search endpoint covers live Google results, and its remote browser takes Playwright or Puppeteer over CDP. Datasets and raw proxies stay with Bright Data.
Integrations to reconnect. Bright Data publishes Python and JavaScript SDKs, a CLI, a hosted MCP server, and integrations for Zapier, n8n, Make, Clay, LangChain, LlamaIndex, CrewAI, and many others. 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. Bright Data's per-domain success-rate API shows which of your domains fail there; start with those, plus the retail, travel, news, ticketing, and review sites where it was partial or absent in this run. String's free tier and Bright Data's 5,000 free monthly requests are each enough to compare a representative list before you move production traffic. 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 Bright Data is one option among several, the Bright Data alternatives comparison ranks the substitutes on the same benchmark.
FAQ
Is String better than Bright Data for protected websites?
On the September 2026 Web Data Frontier Benchmark, yes. String returned more of the 500 requests and had the faster failure-aware latency score. The benchmark covers 100 specific sites, so buyers should still run the public test harness against their own targets.
Is String cheaper than Bright Data?
Sometimes. String Growth costs $0.16 per 1,000 successful standard requests, $0.80 with a browser on a standard proxy and $0.90 on a premium proxy, all below Bright Data Web Unlocker's $1.50 pay-as-you-go rate. Bright Data is cheaper than String's $3.25 browser-plus-premium path when the target remains in Bright Data's standard domain class. Bright Data also has no monthly minimum on pay as you go, while String Growth bills at least $99 a month, all of it usage.
Does Bright Data charge for failed requests?
Regular Web Unlocker usage bills successful requests. Bright Data's feature documentation says enabling custom headers, cookies, or expect elements changes billing to every request, including failures. Raw proxies bill bandwidth, not successful pages.
Which product has the larger proxy network?
Bright Data. Its residential proxy page advertises more than 400 million monthly IPs across 195 countries, and it also sells ISP, datacenter, and mobile proxy products. String does not sell raw proxies.
Which product is faster?
String, and the gap holds on pages both products returned. On the 61 sites where String and Bright Data each returned all five attempts in the September 2026 run, String's median was 2.30 seconds per site against Bright Data's 3.80, and String was quicker on 47 of the 61. The failure-aware benchmark score points the same way, but that score also charges each provider for the sites it fails, so it is not a raw response-time figure. Test the domains and configuration you plan to use.
When should I stay with Bright Data?
Stay when you need raw proxy control, structured datasets, SERP results, managed browser infrastructure, or an established enterprise vendor under one contract. Bright Data also matched String on every social-platform request in the benchmark and can be cheaper on pages that push String onto its browser-plus-premium path.
Can I verify these results?
Yes. The benchmark repository, Bright Data adapter, and September results file are public. A full run makes thousands of billable requests, so begin with a subset of your own target list.