NewLaunching String Web Access APIRead the manifesto →
Web Access API

Access any page.
Even the hardest ones.

One HTTP call against any URL. String returns clean content, and you only pay when it comes back.

Get an API key ↗Read the docs
First request in seconds · Free to start · Pay only on success
Live · fetch
$ curl https://request.usestring.ai/v1/fetch \
  -H "Authorization: Bearer sk_live_…" \
  -d '{ "url": "https://www.zillow.com/homedetails/…" }'
200 · 412ms · 18.4 KB clean text
<!doctype html> … fully rendered, anti-bot cleared, no proxy to manage.

Fast

0.41s
p50 latency
0.9s
p95 latency

Warm browser pools and a rendering path that skips a cold spin-up wherever a target allows it. Concurrency holds the tail flat under load, so a burst of requests doesn't turn into a queue.

Reliable

Reliable means it gets through the systems that others can't, and recovers on its own when a target shifts.

CloudflareDataDomePerimeterXAkamaiKasadaCAPTCHA challenges

Every request escalates automatically: lightweight request-based fetches, full browser rendering, residential proxies, geolocated routing, and CAPTCHA solving - which compliance-sensitive teams can switch off per request.

Who it's for

AI application companies

Provide your agents access to live web data better, faster and cheaper than Firecrawl, Browserbase, Exa, and Parallel.

Want to give your users the ability to query live web data? Plug in our API / MCP and see their satisfaction rates jump.

GTM teams

Enrichment: Build agents that can use String to pull live web data for any deal or contact to superpower your sales teams.

Every GTM engineer's dream: a Claygent that actually works, that doesn't get blocked, and that's way more affordable.

Data companies

Quality: Access data you previously couldn't due to anti-bot or engineering-capacity limits - we get you data from the whole web.

Tired of customers finding issues with your data - stale, lacking coverage? Use String's API and get access to the entire web without issues. Customers have reported a 50%+ reduction in triage tickets.

Vibe coders

Ship without a scraping stack: point a script at any page and get clean data back, no proxies, retries, or bot walls to babysit.

Building a side project or an agent on a weekend? Pull the pages you need with a single call instead of losing Saturday to rotating proxies and a Cloudflare challenge that wasn't there yesterday.

Q3 2026 · re-run monthly

The Web Data Frontier Benchmark, in full.

Every provider, every target, same time, head to head. The two numbers that decide whether a scraper is worth running: did it get through, and how fast.

99 hard targets14 of 15 tested providers shown495 requests per providerdata generated August 11, 2026View the open-source benchmark on GitHub ↗
Why we built our own benchmark →
Benchmark methodology
Real pages, real defenses, verified content.

We tested String Web Access API against fourteen other web access APIs by loading 99 real-world pages known to be difficult to scrape, including targets protected by anti-bot and WAF systems such as DataDome, Akamai, Cloudflare, and Kasada.

The suite covers pages with high scraping value: product detail pages, search results, social platforms, and similarly protected surfaces. Each URL was requested 5 times per provider - 495 requests each - and a request only counted as successful when the API returned a 2xx and the response contained the page's expected content.

Latency includes every target. Content uses the 75th percentile of successful attempt latencies. A complete miss uses the 75th percentile of providers that returned content for that target, or the 90-second timeout when nobody succeeds.

01 · Overall success rate
All targets, all requests. Higher is better.
string
97.0%
context_dev
79.2%
firecrawl
78.6%
bright
78.0%
oxylabs
76.8%
zyte
72.7%
decodo
70.7%
nimble
66.3%
scraperapi
64.2%
scrapingdog
54.3%
browserbase
42.2%
zenrows
34.3%
scrapingant
30.7%
scrapingbee
29.7%
0%25%50%75%100%
02 · Latency score
Mean per-target p75 latency; complete misses use that target's successful-provider p75. Lower is better - read it alongside success rate.
string
9.98s
context_dev
12.68s
firecrawl
9.21s
bright
26.14s
oxylabs
14.67s
zyte
14.85s
decodo
22.63s
nimble
18.41s
scraperapi
13.65s
scrapingdog
12.51s
browserbase
14.19s
zenrows
17.60s
scrapingant
16.08s
scrapingbee
16.97s
0s9s18s27s36s
Get an API key ↗Free to start · Pay only on success
Data generated August 11, 2026 (Q3 2026 run).

One call. That's the integration.

Send a URL, get clean content back. No proxy list to rotate, no headless browser to babysit.

Request · curl
curl https://request.usestring.ai/v1/fetch \
  -H "Authorization: Bearer sk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "url": "https://hard-target.com", "format": "markdown" }'
200 · 412ms · 18.4 KB clean text

Give your agents the same reach.

Add String over MCP and your agent fetches any page, even the hardest ones, as a single tool call, in Claude, ChatGPT, Cursor, or anything that speaks the protocol.

MCP · Claude / ChatGPT / Cursor
{
    "mcpServers": {
        "string": {
            "url": "https://mcp.usestring.ai/v1/mcp",
            "headers": { "Authorization": "Bearer sk_live_…" }
        }
    }
}

Frequently asked questions

What is the Web Access API?

A web scraping API for humans and agents. One HTTP call against any URL returns the page as clean content, fully rendered and past whatever anti-bot is sitting in front of it. You only pay when it comes back.

Which anti-bot systems does it get through?

Cloudflare, DataDome, PerimeterX, Akamai, Kasada, and CAPTCHA challenges. Every request escalates on its own: a lightweight fetch first, then full browser rendering, residential proxies, and geolocated routing if the target needs it. CAPTCHA solving is part of the same escalation, and teams with compliance constraints can turn it off per request.

How fast is it?

0.41s at p50, 0.9s at p95. Browser pools stay warm and the rendering path skips a cold spin-up wherever a target allows it, so a burst of requests doesn't turn into a queue.

How reliable is it?

String passed 97.0% of requests in the open-source Web Data Frontier Benchmark, the best success rate of any provider in the run. The run covers 99 hard targets at 495 requests per provider, and repeats monthly.

Can my agent use it?

Yes. Add String over MCP and your agent fetches any page as a single tool call, in Claude, ChatGPT, Cursor, or anything that speaks the protocol.

How much does it cost?

Run up to first 5,000 requests for free. After that, plans start at $20/month and usage is billed per request. Blocks are free: you only pay when String returns content.

Get your API key now.

Get an API key ↗
First request in seconds · Free to start · Pay only on success
© 2026 StringBuilt in New York City 🗽 🍎