# `Nous.Tools.TavilySearch`
[🔗](https://github.com/nyo16/nous/blob/v0.17.1/lib/nous/tools/tavily_search.ex#L1)

Built-in tool for search using Tavily Search API.

Tavily is purpose-built for AI research and returns clean, pre-extracted
content from search results (no HTML parsing needed).

## Setup

Get your API key from https://tavily.com and set:

    export TAVILY_API_KEY="your-api-key"

Or configure in your application:

    config :nous,
      tavily_api_key: System.get_env("TAVILY_API_KEY")

## Usage

    agent = Agent.new("openai:gpt-4",
      tools: [&TavilySearch.search/2]
    )

# `search`

```elixir
@spec search(Nous.RunContext.t(), map()) :: map()
```

Search using Tavily API with AI-optimized results.

## Arguments

- query: The search query (required)
- search_depth: "basic" or "advanced" (default: "basic")
- max_results: Number of results (default: 5, max: 10)
- include_answer: Whether to include a direct answer (default: true)

## Returns

A map with results list and optional direct answer.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
