Skip to main content
Tavily is a search API designed for AI applications. OpenClaw exposes it in two ways:
  • as the web_search provider for the generic search tool
  • as explicit plugin tools: tavily_search and tavily_extract
Tavily returns structured results optimized for LLM consumption, with configurable search depth, topic filtering, domain filters, AI-generated answer summaries, and content extraction from URLs (including JavaScript-rendered pages).

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.
Choosing Tavily in onboarding or openclaw configure --section web installs and enables the official Tavily plugin when needed.

Tool reference

Use this when you want Tavily-specific search controls instead of generic web_search. 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:
Batch larger URL lists into multiple tavily_extract calls (max 20 per request). Use query plus chunks_per_source to get only relevant content instead of full pages.

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

The Tavily client looks up its API key in this order:
  1. plugins.entries.tavily.config.webSearch.apiKey (resolved through SecretRefs).
  2. TAVILY_API_KEY from the gateway environment.
tavily_search and tavily_extract both raise a setup error if neither is present.
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.
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.

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.