In short. Adding web_search makes web search available, but the model selects the tool call from the prompt and instructions.
Definition: No. Perplexity's Agent API documentation says that adding
web_searchto thetoolsarray makes web search available to the model, which then decides whether to call it from the prompt and instructions.
Key facts
- Perplexity's Web Search documentation says that
web_searchlets the model search during an Agent API request and that the model decides when to call it. - Perplexity's Presets documentation says that each preset bundles a model, search configuration, reasoning steps, system prompt, and available tools.
- The Agent response reference lists
none,auto, andrequiredas tool-choice strategies and describestoolsas tools available to the model.
What does adding web_search do?
The web_search entry exposes a built-in web search tool to the model for that request. It does not turn every input into a search request. Perplexity describes the selection as prompt dependent: the model decides when to call the tool from the prompt and instructions.
{
"input": "Question requiring current information",
"tools": [
{
"type": "web_search"
}
]
}
The same documentation describes current information, recent news, source-grounded research, and questions beyond the model's training data as uses for the tool. These are reasons to write instructions that make a search relevant. They are not a statement that the tool runs for every request.
Can tool_choice force web_search?
The Agent response reference separates the tools array from tool_choice. It describes tool_choice as a strategy and lists none, auto, and required.
The reference gives an object example that forces image search:
{"type":"image_search"}
For web_search, the reference does not document a web-search-specific force object. The documented page therefore supports a distinction between making web search available and recording an actual web search call.
How can a preset change the available tools?
Perplexity says presets provide defaults for a use case. A dynamic preset resolves to Perplexity's current configuration, while a frozen configuration copies the current model, tools, system prompt, and parameters into the request. A website integration that depends on a stable tool set can therefore record which form it sends.
Preset fields passed in the request override their defaults. Tools are the exception to whole-set replacement: Perplexity says that tools merge per tool, so listing one tool overrides that tool's options and leaves the preset's other tools enabled. The model still chooses among the tools made available by the resulting request.
How can you tell whether a search ran?
Perplexity's Web Search documentation says that a response can include a search_results output item before the final assistant message when web_search runs. A request log can therefore record the configured tools array separately from the response output. The former shows exposure; the latter supplies the documented response signal for a search invocation.
The web search tool also has optional controls. search_type can be "web" or "fast"; when it is omitted, the tool inherits a configured preset value or uses "web". max_results controls the upper bound of results collected per call.
Related terms
- Perplexity
- Agentic search
- Can a Perplexity Agent preset's search type be overridden?
- Is a Perplexity Agent web search billed separately from model tokens?
FAQ
If you add web_search, will every question trigger a search?
No. Perplexity says the model decides when to call the tool from your prompt and instructions. Ask for current or source-grounded information when that is the intended use.
Does tool_choice=required specifically select web_search?
The reference lists required as a tool-choice strategy and gives an object example for forcing image search. It does not document a web_search-specific force object, so you should not treat required alone as a documented web-search selector.
Can a preset keep other tools when you add web_search?
Yes. Perplexity says tools merge per tool when a preset is customized. When you list one tool, the preset's other tools remain enabled unless their configuration is changed.
What response field shows that web search ran?
When you receive a response, look for a search_results output item before the final assistant message. Perplexity documents that item as a possible result of a web_search call.
Sources
- Perplexity, "Web Search", undated
- Perplexity, "Presets", undated
- Perplexity, "Create Agent Response", undated
Check how a page reads to answer engines. Open the GEO score analyzer