Tavily
OpenClaw can use Tavily in two ways:- as the
web_searchprovider - as explicit plugin tools:
tavily_searchandtavily_extract
Get an API key
- Create a Tavily account at tavily.com.
- Generate an API key in the dashboard.
- Store it in config or set
TAVILY_API_KEYin the gateway environment.
Configure Tavily search
- Choosing Tavily in onboarding or
openclaw configure --section webenables the bundled Tavily plugin automatically. - Store Tavily config under
plugins.entries.tavily.config.webSearch.*. web_searchwith Tavily supportsqueryandcount(up to 20 results).- For Tavily-specific controls like
search_depth,topic,include_answer, or domain filters, usetavily_search.
Tavily plugin tools
tavily_search
Use this when you want Tavily-specific search controls instead of generic
web_search.
| Parameter | Description |
|---|---|
query | Search query string (keep under 400 characters) |
search_depth | basic (default, balanced) or advanced (highest relevance, slower) |
topic | general (default), news (real-time updates), or finance |
max_results | Number of results, 1-20 (default: 5) |
include_answer | Include an AI-generated answer summary (default: false) |
time_range | Filter by recency: day, week, month, or year |
include_domains | Array of domains to restrict results to |
exclude_domains | Array of domains to exclude from results |
| Depth | Speed | Relevance | Best for |
|---|---|---|---|
basic | Faster | High | General-purpose queries (default) |
advanced | Slower | Highest | Precision, specific facts, research |
tavily_extract
Use this to extract clean content from one or more URLs. Handles
JavaScript-rendered pages and supports query-focused chunking for targeted
extraction.
| Parameter | Description |
|---|---|
urls | Array of URLs to extract (1-20 per request) |
query | Rerank extracted chunks by relevance to this query |
extract_depth | basic (default, fast) or advanced (for JS-heavy pages) |
chunks_per_source | Chunks per URL, 1-5 (requires query) |
include_images | Include image URLs in results (default: false) |
| Depth | When to use |
|---|---|
basic | Simple pages - try this first |
advanced | JS-rendered SPAs, dynamic content, tables |
- Max 20 URLs per request. Batch larger lists into multiple calls.
- Use
query+chunks_per_sourceto get only relevant content instead of full pages. - Try
basicfirst; fall back toadvancedif content is missing or incomplete.
Choosing the right tool
| Need | Tool |
|---|---|
| Quick web search, no special options | web_search |
| Search with depth, topic, AI answers | tavily_search |
| Extract content from specific URLs | tavily_extract |