tavily
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseTavily
Tavily
Purpose
用途
Provide a curl-based interface to Tavily’s REST API for web search, extraction, mapping, crawling, and optional research. Return structured results suitable for LLM workflows and multi-step investigations.
提供基于curl的Tavily REST API接口,用于网页搜索、提取、映射、爬取及可选的研究工作。返回适用于LLM工作流和多步骤调查的结构化结果。
When to Use
使用场景
- Use when a task needs live web information, site extraction, mapping, or crawling.
- Use when web searches are needed and no built-in tool is available, or when Tavily’s LLM-friendly output (summaries, chunks, sources, citations) is beneficial.
- Use when a task requires structured search results, extraction, or site discovery from Tavily.
- 当任务需要实时网页信息、站点内容提取、映射或爬取时使用。
- 当需要进行网页搜索且没有内置工具可用,或者Tavily的LLM友好输出(摘要、内容块、来源、引用)更具优势时使用。
- 当任务需要从Tavily获取结构化搜索结果、内容提取或站点发现功能时使用。
Required Environment
所需环境
- Require in the environment.
TAVILY_API_KEY - If is missing, prompt the user to provide the API key before proceeding.
TAVILY_API_KEY
- 环境中需配置。
TAVILY_API_KEY - 如果缺少,请提示用户提供该API密钥后再继续操作。
TAVILY_API_KEY
Base URL and Auth
基础URL与认证
- Base URL:
https://api.tavily.com - Authentication:
Authorization: Bearer $TAVILY_API_KEY - Content type:
Content-Type: application/json - Optional project tracking: add if project attribution is needed.
X-Project-ID: <project-id>
- 基础URL:
https://api.tavily.com - 认证方式:
Authorization: Bearer $TAVILY_API_KEY - 内容类型:
Content-Type: application/json - 可选项目追踪: 如果需要项目归因,可添加。
X-Project-ID: <project-id>
Tool Mapping (Tavily REST)
工具映射(Tavily REST)
1) search → POST /search
1) search → POST /search
Use for web search with optional answer and content extraction.
Recommended minimal request:
bash
curl -sS -X POST "https://api.tavily.com/search" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TAVILY_API_KEY" \
-d '{
"query": "<query>",
"search_depth": "basic",
"max_results": 5,
"include_answer": true,
"include_raw_content": false,
"include_images": false
}'Key parameters (all optional unless noted):
- (required): search text
query - :
search_depth|basic|advanced|fastultra-fast - : 1–3 (advanced only)
chunks_per_source - : 0–20
max_results - :
topic|general|newsfinance - :
time_rangeday|week|month|year|d|w|m|y - ,
start_date:end_dateYYYY-MM-DD - :
include_answer|false|true|basicadvanced - :
include_raw_content|false|true|markdowntext - : boolean
include_images - : boolean
include_image_descriptions - : boolean
include_favicon - ,
include_domains: string arraysexclude_domains - : country name (general topic only)
country - : boolean
auto_parameters - : boolean
include_usage
Expected response fields:
- (if requested),
answerwithresults[],title,url,content,score(optional),raw_content(optional)favicon - ,
response_time,usagerequest_id
用于网页搜索,可选择开启答案和内容提取功能。
推荐的最小请求示例:
bash
curl -sS -X POST "https://api.tavily.com/search" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TAVILY_API_KEY" \
-d '{
"query": "<query>",
"search_depth": "basic",
"max_results": 5,
"include_answer": true,
"include_raw_content": false,
"include_images": false
}'关键参数(除非标注,否则均为可选):
- (必填): 搜索文本
query - :
search_depth|basic|advanced|fastultra-fast - : 1–3(仅高级模式可用)
chunks_per_source - : 0–20
max_results - :
topic|general|newsfinance - :
time_rangeday|week|month|year|d|w|m|y - ,
start_date:end_dateYYYY-MM-DD - :
include_answer|false|true|basicadvanced - :
include_raw_content|false|true|markdowntext - : 布尔值
include_images - : 布尔值
include_image_descriptions - : 布尔值
include_favicon - ,
include_domains: 字符串数组exclude_domains - : 国家名称(仅通用主题可用)
country - : 布尔值
auto_parameters - : 布尔值
include_usage
预期响应字段:
- (若请求)、
answer包含results[]、title、url、content、score(可选)、raw_content(可选)favicon - 、
response_time、usagerequest_id
2) extract → POST /extract
2) extract → POST /extract
Use for extracting content from specific URLs.
bash
curl -sS -X POST "https://api.tavily.com/extract" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TAVILY_API_KEY" \
-d '{
"urls": ["https://example.com/article"],
"query": "<optional intent for reranking>",
"chunks_per_source": 3,
"extract_depth": "basic",
"format": "markdown",
"include_images": false,
"include_favicon": false
}'Key parameters:
- (required): array of URLs
urls - : rerank chunks by intent
query - : 1–5 (only when
chunks_per_sourceprovided)query - :
extract_depth|basicadvanced - :
format|markdowntext - : 1–60 seconds
timeout - : boolean
include_usage
Expected response fields:
- with
results[],url,raw_content,imagesfavicon - ,
failed_results[],response_time,usagerequest_id
用于从特定URL提取内容。
bash
curl -sS -X POST "https://api.tavily.com/extract" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TAVILY_API_KEY" \
-d '{
"urls": ["https://example.com/article"],
"query": "<optional intent for reranking>",
"chunks_per_source": 3,
"extract_depth": "basic",
"format": "markdown",
"include_images": false,
"include_favicon": false
}'关键参数:
- (必填): URL数组
urls - : 根据意图对内容块重新排序
query - : 1–5(仅当提供
chunks_per_source时可用)query - :
extract_depth|basicadvanced - :
format|markdowntext - : 1–60秒
timeout - : 布尔值
include_usage
预期响应字段:
- 包含
results[]、url、raw_content、imagesfavicon - 、
failed_results[]、response_time、usagerequest_id
3) map → POST /map
3) map → POST /map
Use for generating a site map (URL discovery only).
bash
curl -sS -X POST "https://api.tavily.com/map" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TAVILY_API_KEY" \
-d '{
"url": "https://docs.tavily.com",
"max_depth": 1,
"max_breadth": 20,
"limit": 50,
"allow_external": true
}'Key parameters:
- (required)
url - : natural language guidance (raises cost)
instructions - : 1–5
max_depth - : 1+
max_breadth - : 1+
limit - ,
select_paths,select_domains,exclude_paths: arrays of regex stringsexclude_domains - : boolean
allow_external - : 10–150 seconds
timeout - : boolean
include_usage
Expected response fields:
- ,
base_url(list of URLs),results[],response_time,usagerequest_id
用于生成站点地图(仅URL发现)。
bash
curl -sS -X POST "https://api.tavily.com/map" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TAVILY_API_KEY" \
-d '{
"url": "https://docs.tavily.com",
"max_depth": 1,
"max_breadth": 20,
"limit": 50,
"allow_external": true
}'关键参数:
- (必填)
url - : 自然语言指导(会增加成本)
instructions - : 1–5
max_depth - : 1+
max_breadth - : 1+
limit - ,
select_paths,select_domains,exclude_paths: 正则表达式字符串数组exclude_domains - : 布尔值
allow_external - : 10–150秒
timeout - : 布尔值
include_usage
预期响应字段:
- 、
base_url(URL列表)、results[]、response_time、usagerequest_id
4) crawl → POST /crawl
4) crawl → POST /crawl
Use for site traversal with built-in extraction.
bash
curl -sS -X POST "https://api.tavily.com/crawl" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TAVILY_API_KEY" \
-d '{
"url": "https://docs.tavily.com",
"instructions": "Find all pages about the Python SDK",
"max_depth": 1,
"max_breadth": 20,
"limit": 50,
"extract_depth": "basic",
"format": "markdown",
"include_images": false
}'Key parameters:
- (required)
url - : optional; raises cost and enables
instructionschunks_per_source - : 1–5 (only with
chunks_per_source)instructions - ,
max_depth,max_breadth: same as maplimit - :
extract_depth|basicadvanced - :
format|markdowntext - ,
include_images,include_faviconallow_external - : 10–150 seconds
timeout - : boolean
include_usage
Expected response fields:
- ,
base_urlwithresults[],url,raw_contentfavicon - ,
response_time,usagerequest_id
用于站点遍历并内置提取功能。
bash
curl -sS -X POST "https://api.tavily.com/crawl" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TAVILY_API_KEY" \
-d '{
"url": "https://docs.tavily.com",
"instructions": "Find all pages about the Python SDK",
"max_depth": 1,
"max_breadth": 20,
"limit": 50,
"extract_depth": "basic",
"format": "markdown",
"include_images": false
}'关键参数:
- (必填)
url - : 可选;会增加成本并启用
instructionschunks_per_source - : 1–5(仅当提供
chunks_per_source时可用)instructions - 、
max_depth、max_breadth: 与map接口相同limit - :
extract_depth|basicadvanced - :
format|markdowntext - 、
include_images、include_faviconallow_external - : 10–150秒
timeout - : 布尔值
include_usage
预期响应字段:
- 、
base_url包含results[]、url、raw_contentfavicon - 、
response_time、usagerequest_id
Optional Research Workflow (Deep Investigation)
可选研究工作流(深度调查)
Use when a query needs multi-step analysis and citations.
当查询需要多步骤分析和引用时使用。
create research task → POST /research
创建研究任务 → POST /research
bash
curl -sS -X POST "https://api.tavily.com/research" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TAVILY_API_KEY" \
-d '{
"input": "<research question>",
"model": "auto",
"stream": false,
"citation_format": "numbered"
}'Expected response fields:
- ,
request_id,created_at(pending),status,input,modelresponse_time
bash
curl -sS -X POST "https://api.tavily.com/research" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TAVILY_API_KEY" \
-d '{
"input": "<research question>",
"model": "auto",
"stream": false,
"citation_format": "numbered"
}'预期响应字段:
- 、
request_id、created_at(pending)、status、input、modelresponse_time
get research status → GET /research/{request_id}
获取研究状态 → GET /research/{request_id}
bash
curl -sS -X GET "https://api.tavily.com/research/<request_id>" \
-H "Authorization: Bearer $TAVILY_API_KEY"Expected response fields:
- :
statuscompleted - : report text or structured object
content - :
sources[]{ title, url, favicon }
bash
curl -sS -X GET "https://api.tavily.com/research/<request_id>" \
-H "Authorization: Bearer $TAVILY_API_KEY"预期响应字段:
- :
statuscompleted - : 报告文本或结构化对象
content - :
sources[]{ title, url, favicon }
streaming research (SSE)
流式研究(SSE)
Set in the POST body and use curl with to stream events:
"stream": true-Nbash
curl -N -X POST "https://api.tavily.com/research" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TAVILY_API_KEY" \
-d '{"input":"<question>","stream":true,"model":"pro"}'Handle SSE events (tool calls, tool responses, content chunks, sources, done).
在POST请求体中设置,并使用带参数的curl来流式接收事件:
"stream": true-Nbash
curl -N -X POST "https://api.tavily.com/research" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TAVILY_API_KEY" \
-d '{"input":"<question>","stream":true,"model":"pro"}'处理SSE事件(工具调用、工具响应、内容块、来源、完成)。
Usage Notes
使用注意事项
- Treat ,
search,extract, andmapas the primary endpoints for discovery and content retrieval.crawl - Return structured results with URLs, titles, and summaries for easy downstream use.
- Default to conservative parameters (,
search_depth: basic) unless deeper recall is needed.max_results: 5 - Reuse consistent request bodies across calls to keep results predictable.
- 将、
search、extract和map作为发现和内容检索的主要端点。crawl - 返回包含URL、标题和摘要的结构化结果,以便于下游使用。
- 默认使用保守参数(、
search_depth: basic),除非需要更深度的召回。max_results: 5 - 在多次调用中复用一致的请求体,以保持结果的可预测性。
Error Handling
错误处理
- If any request returns 401/403, prompt for or re-check .
TAVILY_API_KEY - If timeouts occur, reduce /
max_depthor uselimit.search_depth: basic - If responses are too large, lower or
max_results.chunks_per_source
- 如果任何请求返回401/403状态码,提示用户提供或重新检查。
TAVILY_API_KEY - 如果发生超时,减少/
max_depth或使用limit。search_depth: basic - 如果响应结果过大,降低或
max_results的值。chunks_per_source