String API
Two APIs — get any page on the web, or build a feed from a sentence.
String ships two products, each with its own API and its own keys. They are not interchangeable: a key for one is a
401 on the other.
Web Access API
Retrieve any URL, run a structured search, drive a remote browser, capture screenshots. One key, no block pages.
Composer API
Describe a dataset in prose. Composer researches the source, drafts a schema, asks you what it needs, and publishes a feed on a schedule.
Web Access API
The String Web Access API is a single interface for retrieving data from the web at scale. Point it at a URL and it picks the right strategy automatically, from a lightweight request-based fetch to a full browser with residential proxies and antibot handling. You get the data instead of a block page.
One API key gives you everything an agent or scraper needs: unblocked fetches, structured search, a remote browser over CDP, and screenshots & browser actions.
What you can do
Fetch a page
Retrieve any URL as structured JSON, raw bytes, or clean Markdown. The API handles JavaScript rendering, proxies, and captcha solving.
Extract structured data
Pass a JSON Schema and get back only the fields you asked for, extracted from the page with AI.
Search web
Search Google, DuckDuckGo, Brave, or Mojeek and get the top organic results as structured JSON.
Drive a real browser
Connect Puppeteer or Playwright to a remote Chrome over a CDP WebSocket.
Capture screenshots
Render a page and capture a screenshot, or run a sequence of browser actions before capturing.
API reference
Full request/response reference for every endpoint, with examples.
Make your first request
Every request is authenticated with a Bearer API key. Send a POST to /v1/fetch with a target URL:
curl https://request.usestring.ai/v1/fetch \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "url": "https://example.com", "format": "markdown" }'See the Quickstart for a step-by-step walkthrough, or Authentication for how API keys work.
Which endpoint should I use?
| If you want to… | Use |
|---|---|
| Get the content of a known URL | /fetch |
| Pull specific fields out of a page | /fetch with jsonSchema |
| Find pages for a query | /search |
| Drive a page interactively (automation) | /wss browser |
| Capture an image of a page | Screenshots |
Need access to a restricted destination?
Some destinations require approval before use. Each access-control case returns its own status code so you can branch on it — see Access control & KYC. Contact [email protected] for access.
Composer API
Where Web Access gets you one page at a time, Composer produces a maintained dataset. You describe what you want in prose; Composer finds the source, proposes a schema, stops to ask you about anything it cannot decide alone, and — once you approve — publishes the feed and keeps it running on a schedule.
v1 is supervised-only
A build stops and asks you questions, and somebody has to answer them. mode: "autonomous" and mode: "fast"
return 501. Read Limits before designing an unattended integration.
Start at the Composer overview, or go straight to Gates — answering them is the part your integration actually has to implement.