Install
openclaw skills install tavily-webWeb search and content extraction using Tavily Search/Extract/Research APIs (Bearer auth). Use when you need web results (general/news/finance), date/topic/d...
openclaw skills install tavily-webTAVILY_API_KEY is set in the Hermes environment (commonly ~/.hermes/.env).references/bp-api-key-management.md.scripts/tavily.py) reads only TAVILY_API_KEY from the environment and only sends requests to https://api.tavily.com.search then extract over include_raw_content on search to keep outputs small and reduce accidental data exposure.Use the terminal tool to run the bundled CLI script (prints JSON).
SKILL_DIR is the directory containing this SKILL.md file.
# Search (general)
python3 SKILL_DIR/scripts/tavily.py search --query "latest OpenAI API changes" --max-results 5
# Search (news) with recency filter
python3 SKILL_DIR/scripts/tavily.py search --query "latest OpenAI API changes" --topic news --time-range week --max-results 5
# High-precision search (more cost/latency)
python3 SKILL_DIR/scripts/tavily.py search --query "OpenAI API rate limits March 2026" --search-depth advanced --chunks-per-source 3 --max-results 5
# Search + answer (still cite URLs from results)
python3 SKILL_DIR/scripts/tavily.py search --query "What is X?" --include-answer basic --max-results 5
# Extract (targeted chunks; prefer this over include_raw_content on search)
python3 SKILL_DIR/scripts/tavily.py extract --url "https://example.com" --query "pricing" --chunks-per-source 3 --format markdown
# Research (creates task + polls until complete)
python3 SKILL_DIR/scripts/tavily.py research --input "Summarize the EU AI Act enforcement timeline. Provide numbered citations." --model auto --citation-format numbered --max-wait-seconds 180
Use returned results[].url fields as citations/sources in your final answer.
Use Tavily directly via curl (same endpoints, no bundled script):
curl -s "https://api.tavily.com/search" \
-H "Authorization: Bearer <TAVILY_API_KEY>" \
-H "Content-Type: application/json" \
-d '{"query":"latest OpenAI API changes","topic":"news","time_range":"week","max_results":5}'
curl -s "https://api.tavily.com/extract" \
-H "Authorization: Bearer <TAVILY_API_KEY>" \
-H "Content-Type: application/json" \
-d '{"urls":"https://example.com","query":"pricing","chunks_per_source":3,"extract_depth":"basic","format":"markdown"}'
topic:
general for most searchesnews for current events (prefer also setting time_range or date range)finance for market/finance contentsearch_depth:
basic (1 credit) unless you need higher precision.advanced (2 credits) for high-precision queries; use chunks_per_source to control snippet volume.max_results small (default 5) and filter by score + domain trust.extract on 1-3 top URLs:
extract --query ... --chunks-per-source N to avoid dumping full pages into context.research and poll until status=completed.include_raw_content on search can explode output size; prefer the two-step flow: search then extract.auto_parameters can silently pick search_depth=advanced (2 credits). Set --search-depth explicitly when you care about cost.exact_match is restrictive; wrap the phrase in quotes inside --query and expect fewer results.country boosting is only available for topic=general.request_id from responses for support/debugging.python3 SKILL_DIR/scripts/tavily.py usage--include-usage on search/extract if you want per-request usage info.references/search.mdreferences/extract.mdreferences/research.mdreferences/research-get.mdreferences/bp-search.mdreferences/bp-extract.mdreferences/bp-research.mdreferences/bp-api-key-management.mdreferences/usage.md