Skip to main content
Reference material for Web Fetch: request parameters, response body details, error handling, common gotchas, and the API summary. For walk-through examples, see Web Fetch and Recipes.

Request parameter reference

ParameterTypeRequiredDefaultDescription
urlsstring[]YesURLs to fetch. Min: 1, max: 10. Must include http:// or https://.
human_modebooleanNofalseAttempt a browser-like fetch path when a site is protected by Cloudflare or similar bot controls.

Response fields reference

The response is a top-level array. Each item corresponds to one URL in your request.
FieldTypeDescription
successbooleanWhether this URL was fetched successfully.
urlstring?The URL that was fetched. null if the fetch failed.
timestampinteger?Unix timestamp (seconds) when fetched. null on failure.
titlestring?The <title> tag content. null on failure.
contentstring?Full HTML content of the page. null on failure.
Timestamps: Fetch timestamps are in seconds. Search timestamps are in milliseconds. Account for this when comparing timestamps across endpoints.
Two kinds of failure, two places to check:
  • Request-level errors (400, 401) — the entire request failed. You get an error object, not an array. Caused by missing fields, empty arrays, or bad auth.
  • Per-URL failures within a 200 — individual entries with success: false and null fields. Caused by unreachable URLs, timeouts, or bot protection.
Always check the HTTP status first, then check success for each entry in the array.

Error handling

Fetch returns request-level errors for invalid input or auth failures. These are separate from per-URL success: false entries within a 200 response.
{
    "error": {
        "type": "invalid_request",
        "message": "urls: This field is required.",
        "metadata": []
    }
}

Common gotchas

MistakeFix
Omitting http:// or https:// in URLsAll URLs must include the protocol prefix.
Sending more than 10 URLsThe API accepts a maximum of 10 URLs per request. Batch larger lists.
Assuming response order matches requestMatch results by the url field, not by array index.
Treating a 200 as all-successA 200 can contain failed entries. Check success for each item.
Sending an empty urls arrayReturns 400: "urls: This list may not be empty.".
Expecting JavaScript-rendered contentCurrent platform behavior: The API fetches server-side HTML. JavaScript-heavy SPAs may return minimal HTML.
Comparing Search and Fetch timestampsSearch uses milliseconds, Fetch uses seconds. Divide Search by 1000 to compare.

API reference summary

DetailValue
EndpointPOST /web/enrich/live
AuthBearer token + x-api-version: 2025-11-01
Pricing1 credit per page
Requesturls (1–10 URLs, required). Optional: human_mode.
ResponseTop-level array: [{ success, url, timestamp, title, content }]
Errors400 (bad request), 401 (bad auth), 500 (server error). Per-URL failures appear in the array.
See the full API reference for the complete OpenAPI schema.