Openclaw tavily
Tavily web search, content extraction, and research tools.
install
source · Clone the upstream repo
git clone https://github.com/openclaw/openclaw
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/openclaw "$T" && mkdir -p ~/.claude/skills && cp -r "$T/extensions/tavily/skills/tavily" ~/.claude/skills/openclaw-openclaw-tavily && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/openclaw "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/extensions/tavily/skills/tavily" ~/.openclaw/skills/openclaw-openclaw-tavily && rm -rf "$T"
manifest:
extensions/tavily/skills/tavily/SKILL.mdsource content
Tavily Tools
When to use which tool
| Need | Tool | When |
|---|---|---|
| Quick web search | | Basic queries, no special options needed |
| Search with advanced options | | Need depth, topic, domain filters, time ranges, or AI answers |
| Extract content from URLs | | Have specific URLs, need their content |
web_search
Tavily powers this automatically when selected as the search provider. Use for straightforward queries where you don't need Tavily-specific options.
| Parameter | Description |
|---|---|
| Search query string |
| Number of results (1-20) |
tavily_search
Use when you need fine-grained control over search behavior.
| Parameter | Description |
|---|---|
| Search query string (keep under 400 characters) |
| (default, balanced) or (highest relevance, slower) |
| (default), (real-time updates), or |
| Number of results, 1-20 (default: 5) |
| Include an AI-generated answer summary (default: false) |
| Filter by recency: , , , or |
| Array of domains to restrict results to |
| Array of domains to exclude from results |
Search depth
| Depth | Speed | Relevance | Best for |
|---|---|---|---|
| Faster | High | General-purpose queries (default) |
| Slower | Highest | Precision, specific facts, detailed research |
Tips
- Keep queries under 400 characters — think search query, not prompt.
- Break complex queries into sub-queries for better results.
- Use
to focus on trusted sources.include_domains - Use
for recent information (news, current events).time_range - Use
when you need a quick synthesized answer.include_answer
tavily_extract
Use when you have specific URLs and need their content. Handles JavaScript-rendered pages and returns clean markdown. Supports query-focused chunking for targeted extraction.
| Parameter | Description |
|---|---|
| Array of URLs to extract (1-20 per request) |
| Rerank extracted chunks by relevance to this query |
| (default, fast) or (for JS-heavy pages, tables) |
| Chunks per URL, 1-5 (requires ) |
| Include image URLs in results (default: false) |
Extract depth
| Depth | When to use |
|---|---|
| Simple pages — try this first |
| JS-rendered SPAs, dynamic content, tables, embedded content |
Tips
- Max 20 URLs per request — batch larger lists into multiple calls.
- Use
+query
to get only relevant content instead of full pages.chunks_per_source - Try
first, fall back tobasic
if content is missing or incomplete.advanced - If
results already contain the snippets you need, skip the extract step.tavily_search
Choosing the right workflow
Follow this escalation pattern — start simple, escalate only when needed:
— Quick lookup, no special options needed.web_search
— Need depth control, topic filtering, domain filters, time ranges, or AI answers.tavily_search
— Have specific URLs, need their full content or targeted chunks.tavily_extract
Combine search + extract when you need to find pages first, then get their full content.