npx agentspec-cli install 2e695cf9-8b57-4046-ae9a-4aa42a6054fa --framework ClaudeCode→ .claude/skills/tavily-best-practices/SKILL.md
# Tavily
Tavily is a search API designed for LLMs, enabling AI applications to access real-time web data.
## Installation
**Python:**
```bash
pip install tavily-python
```
**JavaScript:**
```bash
npm install @tavily/core
```
See **[references/sdk.md](references/sdk.md)** for complete SDK reference.
## Client Initialization
```python
from tavily import TavilyClient
# Uses TAVILY_API_KEY env var (recommended)
client = TavilyClient()
#With project tracking (for usage organization)
client = TavilyClient(project_id="your-project-id")
# Async client for parallel queries
from tavily import AsyncTavilyClient
async_client = AsyncTavilyClient()
```
## Choosing the Right Method
**For custom agents/workflows:**
| Need | Method |
|------|--------|
| Web search results | `search()` |
| Content from specific URLs | `extract()` |
| Content from entire site | `crawl()` |
| URL discovery from site | `map()` |
**For out-of-the-box research:**
| Need | Method |
|------|--------|
| End-to-end research with AI synthesis | `research()` |
## Quick Reference
### search() - Web Search
```python
response = client.search(
query="quantum computing breakthroughs", # Keep under 400 chars
max_results=10,
search_depth="advanced"
)
print(response)
```
Key parameters: `query`, `max_results`, `search_depth` (ultra-fast/fast/basic/advanced), `include_domains`, `exclude_domains`, `time_range`
See **[references/search.md](references/search.md)** for complete search reference.
### extract() - URL Content Extraction
```python
# Simple one-step extraction
response = client.extract(
urls=["https://docs.example.com"],
extract_depth="advanced"
)
print(response)
```
Key parameters: `urls` (max 20), `extract_depth`, `query`, `chunks_per_source` (1-5)
See **[references/extract.md](references/extract.md)** for complete extract reference.
### crawl() - Site-Wide Extraction
```python
response = client.crawl(
url="https://docs.example.com",
instructions="Find API documentation pages", # Semantic focus
extract_depth="advanced"
)
print(response)
```
Key parameters: `url`, `max_depth`, `max_breadth`, `limit`, `instructions`, `chunks_per_source`, `select_paths`, `exclude_paths`
See **[references/crawl.md](references/crawl.md)** for complete crawl reference.
### map() - URL Discovery
```python
response = client.map(
url="https://docs.example.com"
)
print(response)
```
### research() - AI-Powered Research
```python
import time
# For comprehensive multi-topic research
result = client.research(
input="Analyze competitive landscape for X in SMB market",
model="pro" # or "mini" for focused queries, "auto" when unsure
)
request_id = result["request_id"]
# Poll until completed
response = client.get_research(request_id)
while response["status"] not in ["completed", "failed"]:
time.sleep(10)
response = client.get_research(request_id)
print(response["content"]) # The research report
```
Key parameters: `input`, `model` ("mini"/"pro"/"auto"), `stream`, `output_schema`, `citation_format`
See **[references/research.md](references/research.md)** for complete research reference.
## Detailed Guides
For complete parameters, response fields, patterns, and examples:
- **[references/sdk.md](references/sdk.md)** - Python & JavaScript SDK reference, async patterns, Hybrid RAG
- **[references/search.md](references/search.md)** - Query optimization, search depth selection, domain filtering, async patterns, post-filtering
- **[references/extract.md](references/extract.md)** - One-step vs two-step extraction, query/chunks for targeting, advanced mode
- **[references/crawl.md](references/crawl.md)** - Crawl vs Map, instructions for semantic focus, use cases, Map-then-Extract pattern
- **[references/research.md](references/research.md)** - Prompting best practices, model selection, streaming, structured output schemas
- **[references/integrations.md](references/integrations.md)** - LangChain, LlamaIndex, CrewAI, Vercel AI SDK, and framework integrations
Built on the Agent Skills standard
TypeScript Best Practices
Cursor IDE rules and conventions for AI-assisted development.
by AgentHub Crawler
Vue.js Best Practices
Cursor IDE rules and conventions for AI-assisted development.
by AgentHub Crawler
Python Best Practices
Cursor IDE rules and conventions for AI-assisted development.
by AgentHub Crawler
Python Best Practices
Sign in to leave a comment.
Cursor IDE rules and conventions for AI-assisted development.
by AgentHub Crawler