Skip to main content
The TypeScript SDK and docs are currently in beta. Report issues on GitHub.
Web search tool configuration

Example Usage

import { LegacyWebSearchServerTool } from "@openrouter/sdk/models";

let value: LegacyWebSearchServerTool = {
  type: "web_search",
};

Fields

FieldTypeRequiredDescriptionExample
enginemodels.WebSearchEngineEnum:heavy_minus_sign:Which search engine to use. “auto” (default) uses native if the provider supports it, otherwise Exa. “native” forces the provider’s built-in search. “exa” forces the Exa search API. “firecrawl” uses Firecrawl (requires BYOK). “parallel” uses the Parallel search API.auto
filtersmodels.WebSearchDomainFilter:heavy_minus_sign:N/A{"allowed_domains": ["example.com"],"excluded_domains": ["spam.com"]}
maxResultsnumber:heavy_minus_sign:Maximum number of search results to return per search call. Defaults to 5. Applies to Exa, Firecrawl, and Parallel engines; ignored with native provider search.5
searchContextSizemodels.SearchContextSizeEnum:heavy_minus_sign:Size of the search context for web search toolsmedium
type”web_search”:heavy_check_mark:N/A
userLocationmodels.WebSearchUserLocation:heavy_minus_sign:User location information for web search{"city": "San Francisco","country": "USA","region": "California","timezone": "America/Los_Angeles","type": "approximate"}