tavily-best-practices

API de recherche web pour LLMs avec accès aux données en temps réel, extraction de contenu, exploration de sites et recherche assistée par IA. Cinq méthodes principales : search() pour les résultats web, extract() pour le contenu d'URL, crawl() pour l'exploration complète d'un site, map() pour la découverte d'URL, et research() pour la synthèse IA de bout en bout. Prend en charge les SDK Python et JavaScript avec des clients asynchrones pour les requêtes parallèles et une profondeur de recherche configurable (ultra-rapide/rapide/basique/avancée). La méthode crawl accepte des instructions sémantiques pour concentrer l'extraction sur...

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

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:

Plus de skills de tavily-ai

research
tavily-ai
Recherche approfondie sur n'importe quel sujet avec collecte automatique des sources, analyse et citations. Effectue des recherches web multi-sources avec citations explicites, idéal pour les comparaisons, l'actualité, l'analyse de marché et les rapports détaillés. Propose trois options de modèle : mini pour une recherche ciblée sur un seul sujet (~30s), pro pour une analyse complète multi-angle (~60-120s), et auto pour la détection de complexité via API. S'authentifie via OAuth via le serveur MCP Tavily avec connexion automatique basée sur le navigateur...
official
search
tavily-ai
We need to translate the given English text into French, preserving the name "search" if it appears. The text is a description of a web search agent skill. The instruction says to translate only the text inside <text>, and not include the name unless it appears in the source text. The name "search" is not in the provided text? Actually the text starts with "Web search..." so "search" is part of the phrase "Web search". But the instruction says "Name to preserve: search" - that likely means the skill name is "search", but it's not explicitly in the text as a standalone name. The text says "Web search" which includes "search". We should preserve that as is? The instruction says "Do not include the name unless it appears in the source text." Since "search" appears as part of "Web search", we should keep "Web search" as is? But we are translating to French, so "Web search" would become "Recherche Web" or "Recherche sur le Web"? However, the instruction says
official
tavily-cli
tavily-ai
Recherche web, extraction de contenu, exploration de sites et recherche approfondie via Tavily CLI. Cinq modes de commande couvrant la recherche, l'extraction, la découverte d'URL, l'exploration en masse et la recherche multi-sources avec citations. Toutes les commandes prennent en charge la sortie JSON et la sauvegarde de fichiers pour des workflows structurés et agentiques. Un modèle d'escalade vous guide de la recherche simple à l'extraction, la cartographie, l'exploration, jusqu'à la recherche complète selon vos besoins. Nécessite l'installation de tavily-cli et l'authentification par clé API via tvly login.
official
tavily-crawl
tavily-ai
Robot de site web multi-pages avec filtrage sémantique et export en Markdown. Parcourez des sections entières de site avec contrôle de la profondeur et de la largeur ; filtrez par expression régulière de chemin, domaine ou instructions en langage naturel pour cibler les résultats. Enregistrez chaque page sous forme de fichiers Markdown locaux via --output-dir, ou renvoyez du JSON structuré pour un traitement agentique. Utilisez des instructions sémantiques avec extraction par fragments pour éviter le gonflement du contexte lors de l’envoi des résultats aux LLM ; utilisez l’extraction de page entière pour les téléchargements de documentation hors ligne. Prend en charge...
official
tavily-dynamic-search
tavily-ai
Rechercher sur le web, filtrer les résultats et extraire le contenu afin que les données brutes de recherche n’entrent jamais dans votre fenêtre de contexte. Seul votre résultat print() organisé est renvoyé.
official
tavily-extract
tavily-ai
Extrayez du markdown ou du texte propre à partir de jusqu'à 20 URL, avec prise en charge du rendu JavaScript et du découpage ciblé par requête. Gère les pages rendues par JavaScript avec une profondeur d'extraction configurable (basique pour les pages simples, avancée pour les SPA dynamiques et les tableaux). Prend en charge l'extraction ciblée par requête pour ne renvoyer que les fragments de contenu pertinents au lieu des pages entières. Renvoie par déf
official
tavily-map
tavily-ai
Découverte rapide d'URLs sur des sites web sans extraction de contenu, idéale pour trouver des pages spécifiques sur de grands sites. Renvoie des listes structurées de toutes les URLs d'un domaine avec une profondeur et une largeur configurables, un filtrage par expression régulière des chemins, et des instructions en langage naturel pour un filtrage sémantique. Prend en charge le contrôle de la profondeur (1 à 5 niveaux), les limites de largeur par page, l'inclusion/exclusion de liens externes, et le filtrage de domaine via des motifs regex. Conçue comme étape 1 d'un workflow : cartographier pour trouver la bonne page, puis utiliser extract ou...
official
tavily-research
tavily-ai
Recherche complète alimentée par l'IA avec synthèse multi-sources et citations. Produit des rapports structurés basés sur des sources web, prenant 30 à 120 secondes selon le modèle choisi (mini pour les requêtes ciblées, pro pour les comparaisons complexes). Prend en charge plusieurs formats de sortie : rapports en markdown, JSON avec schémas personnalisés et styles de citation configurables (numérotés, MLA, APA, Chicago). Inclut un flux de travail asynchrone pour les recherches longues via les commandes --no-wait, status et poll, ainsi qu'un temps réel...
official