tavily
Original:🇺🇸 English
Translated
Unofficial Tavily CLI skill by SYXS for search, extract, crawl, map, and research. USE FOR: - Web research and source discovery - URL content extraction - Website mapping and crawling - Tavily research + follow-up status workflows Must be installed and authenticated. See rules/install.md and rules/security.md.
3installs
Sourcelag0/tavily-cli
Added on
NPX Install
npx skill4agent add lag0/tavily-cli tavilyTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Tavily CLI
Search, extract, map, crawl, and research from the terminal with Tavily.
Run or for full option details.
tavily --helptavily <command> --helpPrerequisites
Must be installed and authenticated.
Check:
bash
tavily statusIf not authenticated:
bash
tavily loginIf not installed/configured, follow rules/install.md.
For output handling and untrusted content guidelines, follow rules/security.md.
Workflow
Use this escalation pattern:
- Search - no exact URL yet, need discovery.
- Extract - already have URL(s), need content.
- Map - need URL discovery within one site before extracting.
- Crawl - need bulk content from a site section.
- Research - need synthesized output and citations from Tavily research API.
- Research Status - track/poll an existing research request.
| Need | Command | When |
|---|---|---|
| Discover sources on a topic | | No trusted URL yet |
| Get page content from URL(s) | | URL(s) already known |
| Discover pages inside a domain | | Need URL inventory/filtering |
| Bulk extract many pages | | Need multi-page dataset |
| Run guided long-form research | | Need synthesis, not raw pages |
| Poll existing research job | | Have |
What this CLI does not provide today:
- No dedicated automation command.
browser - No dedicated command.
download - No dedicated command (use
agentinstead).research
Output and Organization
Unless user requests inline output, write to :
.tavily/bash
mkdir -p .tavily
tavily search "latest AI agent frameworks" --json -o .tavily/search-agent-frameworks.json
tavily extract "https://docs.tavily.com" -o .tavily/docs-tavily.mdKeep in .
.tavily/.gitignoreAlways quote URLs because and are shell-sensitive:
?&bash
tavily extract "https://example.com/docs?page=2&lang=en" -o .tavily/page2.mdRead large outputs incrementally:
bash
wc -l .tavily/result.json
head -n 60 .tavily/result.json
rg -n "keyword|error|failed" .tavily/result.jsonSuggested naming:
bash
.tavily/search-{topic}.json
.tavily/map-{site}.json
.tavily/crawl-{site}.json
.tavily/extract-{site}-{slug}.md
.tavily/research-{topic}.jsonCommands
search
Discover results for a query. Useful first step before extraction/crawl.
bash
# Basic JSON search output
tavily search "best vector databases 2026" --json --pretty -o .tavily/search-vector-db.json
# News-focused search in recent time window
tavily search "AI regulation US" --topic news --time-range month --max-results 8 --json -o .tavily/search-ai-regulation.json
# Domain-constrained search with answer/raw content
tavily search "authentication pattern" \
--include-domains "docs.tavily.com,developer.mozilla.org" \
--include-answer \
--include-raw-content \
--json -o .tavily/search-auth.jsonKey options: , , , , , , , , , , , , , , .
--max-results--search-depth--topic--time-range--start-date--end-date--include-domains--exclude-domains--country--include-raw-content--include-images--include-answer-o--json--prettyextract
Extract content from one or many known URLs.
bash
# Single URL
tavily extract "https://docs.tavily.com" --format markdown -o .tavily/extract-docs.md
# Multiple URLs in one call
tavily extract "https://docs.tavily.com" "https://docs.tavily.com/api-reference" \
--extract-depth advanced \
--include-images \
--json -o .tavily/extract-docs-multi.json
# Add relevance query and chunk control
tavily extract "https://example.com/long-page" \
--query "pricing limits and rate limits" \
--chunks-per-source 5 \
--timeout 30 \
--json -o .tavily/extract-pricing.jsonKey options: , positional , , , , , , , , , .
-u, --url[urls...]--extract-depth--format--include-images--timeout--query--chunks-per-source-o--json--prettymap
Discover URLs on a site before extraction/crawl.
bash
# Full map with limits
tavily map "https://docs.tavily.com" --max-depth 2 --limit 200 --json -o .tavily/map-docs.json
# Filter by paths/domains
tavily map "https://example.com" \
--select-paths "/docs,/api" \
--exclude-paths "/blog,/changelog" \
--json -o .tavily/map-filtered.jsonKey options: , , , , , , , , , , , , .
--max-depth--max-breadth--limit--select-paths--select-domains--exclude-paths--exclude-domains--allow-external--instructions--timeout-o--json--prettycrawl
Bulk extract many pages from a site section.
bash
# Crawl docs section only
tavily crawl "https://docs.tavily.com" \
--select-paths "/docs,/api-reference" \
--max-depth 2 \
--limit 80 \
--json -o .tavily/crawl-docs.json
# Crawl with advanced extract options
tavily crawl "https://example.com" \
--extract-depth advanced \
--include-images \
--chunks-per-source 4 \
--timeout 45 \
--json -o .tavily/crawl-example.jsonKey options: , , , , , , , , , , , , , , .
--max-depth--max-breadth--limit--extract-depth--select-paths--exclude-paths--allow-external--include-images--instructions--format--timeout--chunks-per-source-o--json--prettyresearch
Start Tavily research generation.
bash
# Basic research request
tavily research "Compare RAG chunking strategies for legal documents" \
--model pro \
--json -o .tavily/research-rag.json
# Stream output while running
tavily research "Summarize latest agent memory patterns" \
--stream \
-o .tavily/research-agent-memory.txt
# Structured output schema
tavily research "List top observability tools" \
--output-schema '{"type":"object","properties":{"tools":{"type":"array","items":{"type":"string"}}}}' \
--json -o .tavily/research-tools-structured.jsonKey options: , , , , , , , .
--model--citation-format--timeout--stream--output-schema-o--json--prettyresearch-status
Poll an existing research request by id.
bash
tavily research-status "req_123456789" --json --pretty -o .tavily/research-status.jsonKey options: , , .
-o--json--prettyauth and setup commands
bash
# Authenticate interactively (never pass secrets as CLI args)
tavily login
# Check auth/version status
tavily status
# Remove saved credentials
tavily logout
# Pull key into local .env
tavily env --file .env --overwrite
# Install integrations independently
tavily setup skills
tavily setup mcpWorking with Results
Use , , and targeted reads for analysis:
jqrgbash
# Search: list title + URL
jq -r '.results[] | "\(.title)\t\(.url)"' .tavily/search-agent-frameworks.json
# Map: list URLs
jq -r '.results[]' .tavily/map-docs.json
# Crawl: collect crawled URLs
jq -r '.results[]?.url // empty' .tavily/crawl-docs.json
# Extract: show failures only
jq -r '.failedResults[]? | "\(.url)\t\(.error)"' .tavily/extract-docs-multi.json
# Research: inspect status and request id
jq -r '.requestId, .status' .tavily/research-rag.jsonParallelization
Prefer these patterns:
- Use one call with multiple URLs when task scope is one batch.
extract - Use shell parallelism only for independent targets and moderate concurrency.
bash
# Built-in multi URL batch in one request
tavily extract "https://site-a.com" "https://site-b.com" "https://site-c.com" \
--json -o .tavily/extract-batch.json
# Independent parallel jobs (throttle conservatively)
tavily crawl "https://docs.site-a.com" --limit 40 --json -o .tavily/crawl-a.json &
tavily crawl "https://docs.site-b.com" --limit 40 --json -o .tavily/crawl-b.json &
waitDo not launch large parallel bursts blindly. Respect API quota/rate limits and monitor failures before scaling up.
Bulk Workflows (Tavily Equivalent)
There is no dedicated command. Use map/crawl/extract pipelines:
downloadbash
# 1) Map docs URLs
tavily map "https://docs.example.com" --select-paths "/docs" --json -o .tavily/map-docs.json
# 2) Extract mapped URLs in controlled batches
jq -r '.results[]' .tavily/map-docs.json | head -n 30 > .tavily/map-docs-30.txt
while IFS= read -r url; do
slug="$(echo "$url" | sed 's#^https://##; s#^http://##; s#[^a-zA-Z0-9._-]#-#g')"
tavily extract "$url" --json -o ".tavily/extract-${slug}.json"
done < .tavily/map-docs-30.txtAlternative bulk path:
bash
tavily crawl "https://docs.example.com" --select-paths "/docs" --max-depth 2 --limit 100 --json -o .tavily/crawl-docs.jsonFailure Handling
- If command fails with auth error: run , then
tavily status.tavily login - If URL extraction fails: inspect from JSON output and retry only failed URLs.
.failedResults - If output is too large: reduce / depth and split into multiple focused runs.
--limit - If parsing JSON outputs: ensure was used or output file uses
--jsonextension..json