Send a web request
web_access_requestSend a POST, PUT or PATCH request to any URL, through String's Web Access API. It works like web_access_fetch, but for calls that submit data rather than read a page — a JSON API that only accepts POST, a GraphQL endpoint, a search backend that takes a body.
Use web_access_fetch instead whenever you only need to read a page. This tool sends a body to the destination rather than reading it, so use it only for a request the user actually asked for.
Usage Example:
{
"url": "https://api.example.com/search",
"method": "POST",
"body": { "q": "widgets" }
}Returns: The destination's response, in the requested format.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The full URL to send the request to. Must be a valid HTTP/HTTPS URL. | |
| body | No | Request body. A string is sent as-is; an object is JSON-stringified. | |
| format | No | Output format: 'markdown' for clean LLM-optimized text, 'raw' for the destination's verbatim body, 'json' for a { statusCode, headers, data } envelope (default). | |
| method | Yes | HTTP method: POST, PUT or PATCH. GET is not accepted here — use web_access_fetch to read a page. | |
| headers | No | Custom request headers to forward (max 50). | |
| countryCode | No | ISO 3166-1 alpha-2 country code for geolocated proxy routing, e.g. 'US'. | |
| solveCaptcha | No | Whether to attempt captcha solving. Defaults to true server-side; set false to fail fast on challenges. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| error | No | Set when a browser action step failed. The call still succeeds, and body holds the page as it stood when the step failed. | |
| headers | Yes | ||
| finalUrl | No | ||
| screenshot | No | ||
| statusCode | Yes | ||
| failedActionIndex | No | 0-based index into the request's actions array identifying the step that failed. |