"tools": [{ "type": "web_fetch" }] is equivalent; sending both is rejected. Suffix form: ?web_fetch=true.
When It Runs
The user message must contain explicithttp(s) URLs. The gateway rejects URLs with credentials, private or loopback hosts, and local-use DNS names, fetches the rest within the request’s context budget, and injects the text before the model runs. No URL, no fetch. Domain allow or block lists combined with fetch fail closed.
Response
usage.server_tool_use.web_fetch_requests counts fetches; fetched sources appear in web_search metadata with retrieval_mode: "web_fetch".
Model Support
supports_web_fetch on the catalog entry; GET /v1/models?supports=web_fetch. Public web content only.
Related
Web Search
Query-driven retrieval.
Server-Side Tools
Overview.
Retrieve without a model
UsePOST /api/v1/web/fetch with an API key to return retrieved content directly. This standalone call takes only urls and is billed separately from inference. The chat options above remain available when a model should use the results itself.
