## web_search()


Create a general-web search tool.


Usage

``` python
web_search(
    *,
    provider="auto",
    allowed_engines=None,
    default_engine=None,
    include_examples=True,
    api_key=None,
    client=None,
    default_params=None,
    timeout=None,
    mode=SearchResultMode.COMPACT,
    response_format=SearchResultFormat.MARKDOWN,
    result_limit=10,
    name="web_search"
)
```


## Parameters


`provider: ProviderName | str = ``"auto"`  
Agent SDK adapter name, `"auto"`, or `"function"` for a callable.

`allowed_engines: Iterable[WebSearchEngine | str] | WebSearchEngine | str | None = None`  
Web indexes exposed in the model-facing `engine` enum.

`default_engine: WebSearchEngine | str | None = None`  
Engine used when the model omits `engine`. Defaults to Google Light when it is allowed.

`include_examples: bool = ``True`  
Add a short call example to the model-facing description.

`api_key: str | None = None`  
Runtime authentication, custom client, application filters, timeout, and response mode and serialization selection.

`client: str | None = None`  
Runtime authentication, custom client, application filters, timeout, and response mode and serialization selection.

`default_params: str | None = None`  
Runtime authentication, custom client, application filters, timeout, and response mode and serialization selection.

`timeout: str | None = None`  
Runtime authentication, custom client, application filters, timeout, and response mode and serialization selection.

`mode: str | None = None`  
Runtime authentication, custom client, application filters, timeout, and response mode and serialization selection.

`response_format: str | None = None`  
Runtime authentication, custom client, application filters, timeout, and response mode and serialization selection.

`result_limit: int | None = ``10`  
Maximum items kept in each result list in both response modes; use `None` to keep all returned results.

`name: str = ``"web_search"`  
Tool name presented to the model.


## Returns


`Any`  
A provider-native tool whose input fields are `query` and `engine`.
