String Overview
In Scrapeway's latest benchmark (August 2026), String achieved a 65% overall success rate across 11 target websites, ranking #3 out of 9 tested APIs, with an average response time of 11.1s and a cost of $0.3 per 1,000 requests.
String (usestring.ai) is a web data API that takes a URL and decides for itself how to fetch it, escalating from a
plain HTTP request up to a full browser on residential proxies when the target requires it. There is one main
endpoint, POST /v1/fetch, and the strategy it picked is reported back in the
x-billed-request-type response header.
String is the cheapest service in Scrapeway's benchmarks by a wide margin, and it wins outright on several e-commerce and real-estate targets. It is also the only service in the test that returns nothing at all on two targets, so coverage matters more than the headline average here.
Unlike most services on this list, String bills per successful request rather than per credit, and blocked requests are not charged. Its feature set is built around four capabilities:
- Fetch: retrieve any URL as JSON, raw bytes or clean markdown, with optional browser rendering.
- Structured extraction: pass a JSON Schema to
/fetchand get back only the fields you asked for. - Search: a
/searchendpoint that returns Google organic results as structured data. - Browser: a CDP WebSocket endpoint you can drive directly with Puppeteer or Playwright.
There is also a Feed Builder API for scheduled datasets, though it is described in the docs as supervised-only in
v1, with autonomous modes still returning 501.
- Cheapest cost per successful request in the benchmark, several times below the next cheapest service.
- Pay per successful request rather than per credit — blocked requests are not billed.
- 5,000 free requests to start, with no upfront credit purchase.
- Unused balance carries forward instead of expiring at the end of the month.
- Picks its own fetch strategy, so there is little to tune to get a page back.
- Markdown and JSON Schema extraction output, so LLM pipelines skip a parsing step.
- Real browser reachable over CDP with Puppeteer or Playwright, plus a dedicated Google Search endpoint.
- Ships an MCP server, both hosted and as an npm package.
- Returned nothing on two benchmark targets, and cleared under a quarter of requests on two more — coverage is uneven rather than uniformly good.
- No official SDKs for any language; the docs only show cURL.
- No webhook or callback support for long-running jobs.
- Custom headers are silently unavailable once you enable browser rendering, as the two are incompatible.
- Screenshots and browser actions are billed as a browser session by bandwidth and duration, which is harder to forecast than a flat per-request rate.
- Some destinations are gated behind an approval and KYC step and return
403until enabled. - Throughput is capped by a single org-wide rate limit of 60 requests per second with no per-plan concurrency figure, so scaling past it means going through support.
How String compares against other web scraping APIs in success rate, speed and cost.
- String has an above-average success rate of 64.8% vs industry average 56.8%
- String has a below-average speed of 11.1s vs industry average 9.1s
- String has a below-average price of $0.3/1000 vs industry average $2.7
Per-target benchmark results from our latest report.
String Pricing
String does not sell credits. The plan fee buys a rate, and you then pay per 1,000 successful requests at that rate. What you pay per request depends on which strategy the API had to use to get the page back:
| Plan | Price | Credits | Concurrency |
|---|---|---|---|
| Enterprise | — | — | custom |
| Growth | 100 | — | 60 req/s |
| Starter | 20 | — | 60 req/s |
On the $20 Starter plan a standard fetch is $0.40 per 1,000 and a standard browser fetch is $2.00 per 1,000. Premium (residential) proxies raise those to $4.00 and $8.00 respectively. The $100 Growth plan halves every rate: $0.20, $1.00, $2.00 and $4.00 per 1,000. Driving the browser yourself over CDP is billed differently again, at $10.00/GB of bandwidth plus $0.12/hour of connection time. Enterprise pricing is quoted on request.
Two things make this cheaper than the sticker rates suggest. Blocked requests are not billed, so the rate above is close to what you actually pay per usable page. And unused balance carries forward rather than expiring monthly. The catch is that a target which forces browser rendering costs 5x a target that does not, so cost per page varies with the target rather than with your plan.
String Features
String covers the core feature set of a web scraping API, with the notable gaps being webhooks and official SDKs:
| Feature | Availability |
|---|---|
| Browser control | Yes |
| Custom JS evaluation | No |
| Geolocation | 40 countries |
| Integrations | No |
| Javascreipt rendering | Yes, at extra cost |
| Proxy support | Datacenter, Residential extra cost |
| Screenshots | Yes, full page only |
| Sessions | No |
| Webhook support | No |
To add, String offers some unique features at no extra cost included with every plan:
- Automatic strategy selection, escalating from HTTP request to browser to residential proxy without you specifying which to use.
- JSON Schema extraction on the fetch call itself, returning only the fields you declared.
- A Google Search endpoint that returns organic results as structured JSON rather than HTML.
- An MCP server, hosted or via npm, so agents can call the API directly.