tavily
Tavily AI Search
Overview
Tavily is a search engine specifically optimized for Large Language Models and AI applications. Unlike traditional search APIs, Tavily provides AI-ready results with optional answer generation, clean content extraction, and domain filtering capabilities.
Key capabilities:
- AI-generated answer summaries from search results
- Clean, structured results optimized for LLM processing
- Fast (
basic) and comprehensive (advanced) search modes - Domain filtering (include/exclude specific sources)
- News-focused search for current events
- Image search with relevant visual content
- Raw content extraction for deeper analysis
Architecture
graph TB
A[User Query] --> B{Search Mode}
B -->|basic| C[Fast Search<br/>1-2s response]
B -->|advanced| D[Comprehensive Search<br/>5-10s response]
C --> E[Tavily API]
D --> E
E --> F{Topic Filter}
F -->|general| G[Broad Web Search]
F -->|news| H[News Sources<br/>Last 7 days]
G --> I[Domain Filtering]
H --> I
I --> J{Include Domains?}
J -->|yes| K[Filter to Specific Domains]
J -->|no| L{Exclude Domains?}
K --> M[Search Results]
L -->|yes| N[Remove Unwanted Domains]
L -->|no| M
N --> M
M --> O{Response Options}
O --> P[AI Answer<br/>Summary]
O --> Q[Structured Results<br/>Title, URL, Content, Score]
O --> R[Images<br/>if requested]
O --> S[Raw HTML Content<br/>if requested]
P --> T[Return to Agent]
Q --> T
R --> T
S --> T
style E fill:#4A90E2
style P fill:#7ED321
style Q fill:#7ED321
style R fill:#F5A623
style S fill:#F5A623
Quick Start
Basic Search
# Simple query with AI answer
scripts/tavily_search.py "What is quantum computing?"
# Multiple results
scripts/tavily_search.py "Python best practices" --max-results 10
Advanced Search
# Comprehensive research mode
scripts/tavily_search.py "Climate change solutions" --depth advanced
# News-focused search
scripts/tavily_search.py "AI developments 2026" --topic news
Domain Filtering
# Search only trusted domains
scripts/tavily_search.py "Python tutorials" \
--include-domains python.org docs.python.org realpython.com
# Exclude low-quality sources
scripts/tavily_search.py "How to code" \
--exclude-domains w3schools.com geeksforgeeks.org
With Images
# Include relevant images
scripts/tavily_search.py "Eiffel Tower architecture" --images
Search Modes
Basic vs Advanced
| Mode | Speed | Coverage | Use Case |
|---|---|---|---|
| basic | 1-2s | Good | Quick facts, simple queries |
| advanced | 5-10s | Excellent | Research, complex topics, comprehensive analysis |
Decision tree:
- Need a quick fact or definition? → Use
basic - Researching a complex topic? → Use
advanced - Need multiple perspectives? → Use
advanced - Time-sensitive query? → Use
basic
General vs News
| Topic | Time Range | Sources | Use Case |
|---|---|---|---|
| general | All time | Broad web | Evergreen content, tutorials, documentation |
| news | Last 7 days | News sites | Current events, recent developments, breaking news |
Decision tree:
- Query contains "latest", "recent", "current", "today"? → Use
news - Looking for historical or evergreen content? → Use
general - Need up-to-date information? → Use
news
API Key Setup
Option 1: Clawdbot Config (Recommended)
Add to your Clawdbot config:
{
"skills": {
"entries": {
"tavily": {
"enabled": true,
"apiKey": "tvly-YOUR_API_KEY_HERE"
}
}
}
}
Access in scripts via Clawdbot's config system.
Option 2: Environment Variable
export TAVILY_API_KEY="tvly-YOUR_API_KEY_HERE"
Add to ~/.clawdbot/.env or your shell profile.
Getting an API Key
- Visit https://tavily.com
- Sign up for an account
- Navigate to your dashboard
- Generate an API key (starts with
tvly-) - Note your plan's rate limits and credit allocation
Common Use Cases
1. Research & Fact-Finding
# Comprehensive research with answer
scripts/tavily_search.py "Explain quantum entanglement" --depth advanced
# Multiple authoritative sources
scripts/tavily_search.py "Best practices for REST API design" \
--max-results 10 \
--include-domains github.com microsoft.com google.com
2. Current Events
# Latest news
scripts/tavily_search.py "AI policy updates" --topic news
# Recent developments in a field
scripts/tavily_search.py "quantum computing breakthroughs" \
--topic news \
--depth advanced
3. Domain-Specific Research
# Academic sources only
scripts/tavily_search.py "machine learning algorithms" \
--include-domains arxiv.org scholar.google.com ieee.org
# Technical documentation
scripts/tavily_search.py "React hooks guide" \
--include-domains react.dev
4. Visual Research
# Gather visual references
scripts/tavily_search.py "modern web design trends" \
--images \
--max-results 10
5. Content Extraction
# Get raw HTML content for deeper analysis
scripts/tavily_search.py "Python async/await" \
--raw-content \
--max-results 5
Response Handling
AI Answer
The AI-generated answer provides a concise summary synthesized from search results:
{
"answer": "Quantum computing is a type of computing that uses quantum-mechanical phenomena..."
}
Use when:
- Need a quick summary
- Want synthesized information from multiple sources
- Looking for a direct answer to a question
Skip when (--no-answer):
- Only need source URLs
- Want to form your own synthesis
- Conserving API credits
Structured Results
Each result includes:
title: Page titleurl: Source URLcontent: Extracted text snippetscore: Relevance score (0-1)raw_content: Full HTML (if--raw-contentenabled)
Images
When --images is enabled, returns URLs of relevant images found during search.
Best Practices
1. Choose the Right Search Depth
- Start with
basicfor most queries (faster, cheaper) - Escalate to
advancedonly when:- Initial results are insufficient
- Topic is complex or nuanced
- Need comprehensive coverage
2. Use Domain Filtering Strategically
Include domains for:
- Academic research (
.edudomains) - Official documentation (official project sites)
- Trusted news sources
- Known authoritative sources
Exclude domains for:
- Known low-quality content farms
- Irrelevant content types (Pinterest for non-visual queries)
- Sites with paywalls or access restrictions
3. Optimize for Cost
- Use
basicdepth as default - Limit
max_resultsto what you'll actually use - Disable
include_raw_contentunless needed - Cache results locally for repeated queries
4. Handle Errors Gracefully
The script provides helpful error messages:
# Missing API key
Error: Tavily API key required
Setup: Set TAVILY_API_KEY environment variable or pass --api-key
# Package not installed
Error: tavily-python package not installed
To install: pip install tavily-python
Integration Patterns
Programmatic Usage
from tavily_search import search
result = search(
query="What is machine learning?",
api_key="tvly-...",
search_depth="advanced",
max_results=10
)
if result.get("success"):
print(result["answer"])
for item in result["results"]:
print(f"{item['title']}: {item['url']}")
JSON Output for Parsing
scripts/tavily_search.py "Python tutorials" --json > results.json
Chaining with Other Tools
# Search and extract content
scripts/tavily_search.py "React documentation" --json | \
jq -r '.results[].url' | \
xargs -I {} curl -s {}
Comparison with Other Search APIs
vs Brave Search:
- ✅ AI answer generation
- ✅ Raw content extraction
- ✅ Better domain filtering
- ❌ Slower than Brave
- ❌ Costs credits
vs Perplexity:
- ✅ More control over sources
- ✅ Raw content available
- ✅ Dedicated news mode
- ≈ Similar answer quality
- ≈ Similar speed
vs Google Custom Search:
- ✅ LLM-optimized results
- ✅ Answer generation
- ✅ Simpler API
- ❌ Smaller index
- ≈ Similar cost structure
Troubleshooting
Script Won't Run
# Make executable
chmod +x scripts/tavily_search.py
# Check Python version (requires 3.6+)
python3 --version
# Install dependencies
pip install tavily-python
API Key Issues
# Verify API key format (should start with tvly-)
echo $TAVILY_API_KEY
# Test with explicit key
scripts/tavily_search.py "test" --api-key "tvly-..."
Rate Limit Errors
- Check your plan's credit allocation at https://tavily.com
- Reduce
max_resultsto conserve credits - Use
basicdepth instead ofadvanced - Implement local caching for repeated queries
Resources
See api-reference.md for:
- Complete API parameter documentation
- Response format specifications
- Error handling details
- Cost and rate limit information
- Advanced usage examples
Dependencies
- Python 3.6+
tavily-pythonpackage (install:pip install tavily-python)- Valid Tavily API key
Credits & Attribution
- Tavily API: https://tavily.com
- Python SDK: https://github.com/tavily-ai/tavily-python
- Documentation: https://docs.tavily.com
More from leoyeai/openclaw-master-skills
readgzh
ReadGZH — Let AI read full-text WeChat Official Account articles. Supports standard articles and image-post formats.
4tushare-finance
获取中国金融市场数据(A股、港股、美股、基金、期货、债券)。支持220+个Tushare Pro接口:股票行情、财务报表、宏观经济指标。当用户请求股价数据、财务分析、指数行情、GDP/CPI等宏观数据时使用。
3find-skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
2eastmoney_financial_data
本 Skill 基于东方财富权威数据库及最新行情底层数据构建,支持通过自然语言查询行情类数据(股票、行业、板块、指数、基金、债券的实时行情、主力资金流向、估值等)、财务类数据(上市公司基本信息、财务指标、高管信息、主营业务等)、关系与经营类数据(关联关系、企业经营数据)。避免模型基于过时知识回答金融数据问题,提供权威及时的金融数据。
2stock-analysis
Analyze stocks and cryptocurrencies using Yahoo Finance data. Supports portfolio management, watchlists with alerts, dividend analysis, 8-dimension stock scoring, viral trend detection (Hot Scanner), and rumor/early signal detection. Use for stock analysis, portfolio tracking, earnings reactions, crypto monitoring, trending stocks, or finding rumors before they hit mainstream.
2linkedin
LinkedIn automation via browser relay or cookies for messaging, profile viewing, and network actions.
1