Native web search providers: Vertex AI (Google), Azure OpenAI, OpenAI, Anthropic, xAI, Perplexity
Browse models with web search in the Requesty Console. Look for
supports_web_search: true in the List Models response.How It Works
Each provider implements web search differently. Requesty normalizes these differences behind a single tool definition that works across all three inference endpoints:
We recommend using streaming (
"stream": true) for all web search requests. Streaming delivers citations and content in real time, and avoids the extra latency of waiting for the full search to finish.
Usage
- Chat Completions
- Responses API
- Messages API
POST /v1/chat/completions - Add { "type": "web_search" } to the tools array.model to switch providers:web_search metadata on streamed chunks with citation URLs and titles:Web search requires models with tool use support. Check the Model Library to confirm web search support for specific models.
Requesty Web Search (Beta)
requesty:web_search is a server-side tool: Requesty runs the search, not the provider. Use it to add web search to models that support tool calling but have no native web search tool.
How it works
- Requesty replaces
requesty:web_searchwith aweb_searchfunction that takes a singlequerystring. - When the model calls
web_search, Requesty runs the search and sends the results back to the model as a tool result. Each search returns the top 5 results and a short answer. - Requesty keeps calling the model until it replies without calling
web_search. You only receive that final reply.
Usage
Add{ "type": "requesty:web_search" } to the tools array. It works on all three endpoints:
Chat Completions example:
/v1/responses and /v1/messages:
requesty:web_search with your own function tools. If the model calls one of your tools, Requesty returns the tool call to you as usual.
Streaming
Streaming ("stream": true) works. While a search runs, Requesty sends the SSE comment line : REQUESTY EXECUTING SERVER SIDE TOOL to keep the connection alive. SSE clients, including the OpenAI SDKs, ignore comment lines.
During the beta, Requesty buffers each model turn, so the final answer arrives once the model has finished generating rather than token by token.
Pricing
Requesty runs searches through Tavily. Each search is billed at Tavily’s pay-as-you-go rate of 0.008. Search charges are deducted from your balance on top of the model’s token cost.Limitations
- The model must support tool calling.
- The model can’t call
web_searchand one of your own tools in the same turn. If it does, the request fails withThe provider executed both a client and a server side tool call. Aborting execution as this is not supported. - You can’t define your own function named
web_searchin the same request. Requesty rejects it withtool name conflicts with server-side tool: web_search. - Search results and citations aren’t included in the response.
- Unknown
requesty:tool types are rejected, e.g.unsupported server-side tool type: requesty:foo.