Web search (multi-engine)
web_searchSearch multiple independent web engines at once and get one de-duplicated, re-ranked result list. Use it to find pages before fetching or reading them.
Instructions
Search the web across several independent engines at once and get back one de-duplicated, re-ranked result list. Results from every engine are merged with Reciprocal Rank Fusion, so a page several engines agree on outranks a page only one engine found — this is materially more stable than querying a single provider. Runs with no API key by default; engines that are blocked or failing are skipped automatically and reported. Prefer this over fetch_url when you do not yet know which page has the answer. Use research() when you want the pages read for you as well.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| site | No | Restrict results to one domain (host suffix match), e.g. "docs.python.org". Equivalent to adding site: to the query but applied after fusion, so it cannot be ignored by an engine. | |
| query | Yes | The search query. Natural language works; operators such as "site:example.com", quoted phrases and "filetype:pdf" are passed through to engines that support them. | |
| format | No | Output format. "markdown" (default) is compact and readable; "json" returns structured data for post-processing. | |
| region | No | Region hint such as "us", "cn", "de". Selects region-appropriate engines and result sets. | |
| engines | No | Engines to use, in priority order. Omit for automatic tiered selection (keyless defaults first, then fallbacks, then matching subject indexes). Use ["all"] for every configured engine, or see the list_engines tool for ids. | |
| language | No | Language hint such as "en", "zh", "ja". Also picks language-appropriate default engines. | |
| freshness | No | Only return results newer than this. Honoured by engines that support it (Google News, Bing, Serper, Tavily, Brave, Google CSE) and ignored by the rest. | |
| max_results | No | Maximum fused results to return (default 12). | |
| safe_search | No | Safe-search level. Defaults to the server configuration ("moderate"). | |
| exclude_domains | No | Drop results from these domains. | |
| include_domains | No | Only keep results from these domains. |