tavily-ai/skills · Official

tavily-best-practices

Build production-ready Tavily integrations with best practices baked in. Reference documentation for developers using coding assistants (Claude Code, Cursor, etc.) to implement web search, content extraction, crawling, and research in agentic workflows, RAG systems, or autonomous agents.

All-time #1078 Trending #1255 Hot #6440 First seen Jan 23, 2026
8-week activity · all time api

Installation

$ npx skills add tavily-ai/skills --skill tavily-best-practices

Summary

  • Web search API for LLMs with real-time data access, content extraction, site crawling, and AI-powered research.
  • Five core methods: search() for web results, extract() for URL content, crawl() for site-wide extraction, map() for URL discovery, and research() for end-to-end AI synthesis Supports Python and JavaScript SDKs with async clients for parallel queries and configurable search depth (ultra-fast/fast/basic/advanced) Crawl method accepts semantic instructions to focus extraction on specific content types; Map-then-Extract pattern available for targeted workflows Research method offers three model tiers (mini/pro/auto) with polling-based async execution, streaming support, and structured output schemas Integrates with LangChain, LlamaIndex, CrewAI, Vercel AI SDK, and other frameworks; supports Hybrid RAG patterns and project-level usage tracking

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from tavily-ai/skills · top by installs.

npx skills add tavily-ai/skills

Browse all from tavily-ai/skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 477
License LICENSE
Default branch main
Open issues 4
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents claude-code cursor

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,377 B
  • docs SUMMARY.md 317 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 16,800 installs

SKILL.md

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](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:

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

response = client.search(
    query="quantum computing breakthroughs",  # Keep under 400 chars
    max_results=10,
    search_depth="advanced"
)
print(response)

Key parameters: query, maxresults, searchdepth (ultra-fast/fast/basic/advanced), includedomains, excludedomains, time_range

See [references/search.md](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), extractdepth, query, chunksper_source (1-5)

See [references/extract.md](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, maxdepth, maxbreadth, limit, instructions, chunkspersource, selectpaths, excludepaths

See [references/crawl.md](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, outputschema, citationformat

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