tavily
Use this skill for web search, extraction, mapping, crawling, and research via Tavily’s REST API when web searches are needed and no built-in tool is available, or when Tavily’s LLM-friendly format is beneficial.
By intellectronica · 618 installs
npx skills add intellectronica/agent-skills --skill tavily
Source repository · Upstream listing
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.
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.
Required Environment
Require TAVILY API KEY in the environment.
If TAVILY API KEY is missing, prompt the user to provide the API key before proceeding.
Base URL and Auth
Base URL: https://api.tavily.com
Authentication: Authorization: Bearer $TAVILY API KEY
Content type: Content Type: application/json
Optional project tracking: add X Project ID: <project id if project attribution is needed.
Tool Mapping (Tavily REST)
1) search → POST /search
Use for web search with optional answer and content extraction.
Recommended minimal request:
Key parameters (all optional unless noted):
query (required): search text
search depth : basic advanced fast ultra fast
chunks per source : 1–3 (advanced only)
max results : 0–20
topic : general news finance
time range : day week month year d w m y
start date , end date : YYYY MM DD
include answer : false true basic advanced
include raw content : false true markdown text
include images : boolean
include image descriptions : boolean
include favicon : boolean
include domains , exclude domains : string arrays
country : country name (general topic only)
auto parameters : boolean
include usage : boolean
Expected response fields:
answer (if requested), results[] with title , url , content , score , raw content (optional), favicon (optional)
response time , usage , request id
2) extract → POST /extract
Use for extracting content from specific URLs.
Key parameters:
urls (required): array of URLs
query : rerank chunks by intent
chunks per source : 1–5 (only when query provided)
extract depth : basic advanced
format : markdown text
timeout : 1–60 seconds
include usage : boolean
Expected response fields:
results[] with url , raw content , images , favicon
failed results[] , response time , usage , request id
3) map → POST /map
Use for generating a site map (URL discovery only).
Key parameters:
url (required)
instructions : natural language guidance (raises cost)
max depth : 1–5
max breadth : 1+
limit : 1+
select paths , select domains , exclude paths , exclude domains : arrays of regex strings
allow external : boolean
timeout : 10–150 seconds
include usage : boolean
Expected response fields:
base url , results[] (list of URLs), response time , usage , request id
4) crawl → POST /crawl
Use for site traversal with built in extraction.
Key parameters:
url (required)
instructions : optional; raises cost and enables chunks per source
chunks per source : 1–5 (only with instructions )
max depth , max breadth , limit : same as map
extract depth : basic advanced
format : markdown text
include images , include favicon , allow external
timeout : 10–150 seconds
include usage : boolean
Expected response fields:
base url , results[] with url , raw content , favicon
response time , usage , request id
Optional Research Workflow (Deep Investigation)
Use when a query needs multi step analysis and citations.
create research task → POST /research
Expected response fields:
request id , created at , status (pending), input , model , response time
get research status → GET /research/{request id}
Expected response fields:
status : completed
content : report text or structured object
sources[] : { title, url, favicon }
streaming research (SSE)
Set "stream": true in the POST body and use curl with N to stream events:
Handle SSE events (tool calls, tool responses, content chunks, sources, done).
Usage Notes
Treat search , extract , map , and crawl as the primary endpoints for discovery and content retrieval.
Return structured results with URLs, titles, and summaries for easy downstream use.
Default to conservative parameters ( search depth: basic , max results: 5 ) unless deeper recall is needed.
Reuse consistent request bodies across calls to keep results predictable.
Error Handling
If any request returns 401/403, prompt for or re check TAVILY API KEY .
If timeouts occur, reduce max depth / limit or use search depth: basic .
If responses are too large, lower max results or chunks per source .