- as the
web_searchprovider for the generic search tool - as explicit plugin tools:
tavily_searchandtavily_extract
Getting started
1
Install the plugin
2
Get an API key
Create a Tavily account at tavily.com, then generate an API key in the dashboard.
3
Configure the plugin and provider
4
Verify search runs
Trigger a
web_search from any agent, or call tavily_search directly.Tool reference
tavily_search
Use this when you want Tavily-specific search controls instead of generic web_search.
For publication metadata, use
topic: "news". When Tavily supplies a
published_date, OpenClaw returns it as published; GMT news timestamps are
converted to ISO 8601. Missing dates, relative ages, and arbitrary text stay
absent. A time_range filter is not evidence of a publication date, and returned
dates still need source verification for freshness-sensitive workflows.
Search depth tradeoff:
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.
Extract depth tradeoff:
Choosing the right tool
The generic
web_search tool with Tavily as provider supports query and count (up to 20 results). For Tavily-specific controls (search_depth, topic, include_answer, domain filters, time range), use tavily_search instead.Advanced configuration
Tavilyweb_search and tavily_search use tools.web.search.cacheTtlMinutes
for OpenClaw’s local result cache (default: 15 minutes). Set it to 0 to bypass
cache reads and writes. A shorter TTL limits reuse of existing entries; a
longer TTL does not extend their original expiry. This setting does not control
the separate tavily_extract cache.
API key resolution order
API key resolution order
The Tavily client looks up its API key in this order:
plugins.entries.tavily.config.webSearch.apiKey(resolved through SecretRefs).TAVILY_API_KEYfrom the gateway environment.
tavily_search and tavily_extract both raise a setup error if neither is present.Custom base URL
Custom base URL
Override
plugins.entries.tavily.config.webSearch.baseUrl, or set TAVILY_BASE_URL, if you front Tavily through a proxy. Config takes priority over the env var. The default is https://api.tavily.com.chunks_per_source requires query
chunks_per_source requires query
tavily_extract rejects calls that pass chunks_per_source without a query. Tavily ranks chunks by query relevance, so the parameter is meaningless without one.Related
Web Search overview
All providers and auto-detection rules.
Firecrawl
Search plus scraping with content extraction.
Exa Search
Neural search with content extraction.
Configuration
Full config schema for plugin entries and tool routing.