String Web Access API
Fetch

Overview

Execute an HTTP request to any URL and get the data back, unblocked.

POST /fetch executes an HTTP or HTTPS request to a URL and returns the result. The service chooses the most appropriate strategy for the target automatically — from a lightweight request-based fetch to full browser execution, residential proxies, and antibot handling when needed.

curl https://request.usestring.ai/v1/fetch \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "url": "https://example.com", "format": "json" }'

Methods

Supports GET, POST, PUT, and PATCH. Method names are case-insensitive and normalized to uppercase. A request body is allowed for POST, PUT, and PATCH only — sending one with GET returns a 400.

What you can control

CapabilityFieldPage
Response shapeformatResponse formats
Extract specific fieldsjsonSchemaStructured extraction
Run a real browserexecuteJS, requireWSSJavaScript rendering
Forward request headersheadersCustom headers
Geolocate the requestcountryCodeProxies & geolocation
Captcha handlingsolveCaptchaCaptcha solving
Capture an image / drive the pagescreenshot, actionsScreenshots & actions

For the complete parameter list and response schema, see the /fetch API reference.

How billing works

Usage is billed per request, and the rate depends on the strategy the API selects (request-based vs. browser-based) and the proxy class the target needs. Most failures are not billed. A target TLS/SSL failure can still be billed when an upstream attempt has already incurred billable work; those 502 responses include x-billed-request-type. See Pricing.

Access control

Some destinations require approval before use, and some request patterns require KYC. These return distinct status codes so you can branch on them — see Access control & KYC.