mcpField
T
tavily-best-practices

tavily-best-practices

github.com/tavily-aiDevelopment49121.0k installsUpdated 8w ago
Repository

About tavily-best-practices

A reference skill for using the Tavily Python and JavaScript SDKs in LLM-based applications. It explains how to select search, URL extraction, site crawling, URL mapping, or AI-synthesized research for different tasks.

Key features

  1. 01Python and JavaScript SDK guidance
  2. 02Web search and URL extraction
  3. 03Site crawling and URL mapping
  4. 04AI-synthesized research
  5. 05Guides to parameters and integrations

Use cases

  1. 01Choose Tavily methods for an agent workflow
  2. 02Extract content from selected URLs
  3. 03Discover and process pages across a site

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/tavily-ai/skills --skill tavily-best-practices

After installing, type/tavily-best-practicesin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
crawl.md
extract.md
integrations.md
research.md
sdk.md
search.md

Details

From the project README

Tavily

Tavily is a search API designed for LLMs, enabling AI applications to access real-time web data.

Installation

Python:

pip install tavily-python

JavaScript:

npm install @tavily/core

See references/sdk.md for complete SDK reference.

Client Initialization

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:

NeedMethod
Web search resultssearch()
Content from specific URLsextract()
Content from entire sitecrawl()
URL discovery from sitemap()

For out-of-the-box research:

NeedMethod
End-to-end research with AI synthesisresearch()

Quick Reference

search() - Web Search
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 for complete search reference.

extract() - URL Content Extraction
# 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 for complete extract reference.

crawl() - Site-Wide Extraction
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 for complete crawl reference.

map() - URL Discovery
response = client.map(
    url="https://docs.example.com"
)
print(response)
research() - AI-Powered Research
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 for complete research reference.

Detailed Guides

For complete parameters, response fields, patterns, and examples:

Comments

Markdown supported