agentsclimarketplace

Tavily web

Skill Lu1sDV/skillsmd/tavily-web

Web search, content extraction, site crawling, URL discovery, and AI-powered research using Tavily API via curl. Use when user needs web search results, current events, news, finance data, content from URLs, site-wide extraction, or multi-topic research with citations. Trigger phrases: 'search the web', 'find online', 'extract from URL', 'crawl site', 'research topic', 'latest news about', 'web search', 'tavily'.From its SKILL.md

Install
npx -y skills add Lu1sDV/skillsmd --skill tavily-web

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

7.2 KB, ~1.8k tokens by cl100k_base, as published. Nobody here has run it

Tavily Web Search & Research

CLI-based web search, extraction, crawling, and research via curl. No SDK installation required.

Prerequisites

  • TAVILY_API_KEY set in environment
  • Never hardcode or paste API keys into chat

Choosing the Right Method

NeedMethodCostLatency
Web search resultssearch1-2 creditsFast
Content from specific URLsextract1+ creditsFast
Content from entire sitecrawlVariableSlow
URL discovery from a sitemap1 creditFast
End-to-end research with AI synthesisresearchHigherMinutes

Quick Reference

search — Web Search

curl -s "https://api.tavily.com/search" \
  -H "Authorization: Bearer $TAVILY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "your search query here",
    "max_results": 5,
    "search_depth": "basic",
    "topic": "general"
  }'

Key parameters:

ParameterValuesNotes
querystring (max 400 chars)Keep focused; split complex questions into sub-queries
max_results1-20 (default 5)Start small, increase if needed
search_depthbasic (1 credit) / advanced (2 credits)Use basic unless you need precision
topicgeneral / news / financeDetermines ranking algorithm
time_rangeday / week / month / yearFilter by recency
include_answertrue / "basic" / "advanced"AI-generated answer from results
include_domains["domain.com"]Restrict to specific sites
exclude_domains["domain.com"]Exclude specific sites

See references/search.md for full parameter reference and optimization tips.

extract — URL Content Extraction

curl -s "https://api.tavily.com/extract" \
  -H "Authorization: Bearer $TAVILY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "urls": ["https://example.com/page"],
    "extract_depth": "basic",
    "query": "focus on pricing info",
    "chunks_per_source": 3,
    "format": "markdown"
  }'

Key parameters:

ParameterValuesNotes
urlsarray (max 20)Target URLs to extract from
extract_depthbasic / advancedAdvanced handles JS-rendered pages
querystringFocus extraction on specific content
chunks_per_source1-5Control output volume
formatmarkdown / textOutput format

See references/extract.md for full reference.

crawl — Site-Wide Extraction

curl -s "https://api.tavily.com/crawl" \
  -H "Authorization: Bearer $TAVILY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://docs.example.com",
    "max_depth": 2,
    "max_breadth": 10,
    "limit": 20,
    "instructions": "Find API documentation pages",
    "extract_depth": "basic"
  }'

Key parameters:

ParameterValuesNotes
urlstringStarting URL
max_depthintegerHow many link levels deep
max_breadthintegerMax links per page
limitintegerTotal pages to extract
instructionsstringSemantic focus for crawler
select_paths["/docs/*"]Include only matching paths
exclude_paths["/blog/*"]Skip matching paths

See references/crawl.md for full reference.

map — URL Discovery

curl -s "https://api.tavily.com/map" \
  -H "Authorization: Bearer $TAVILY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://docs.example.com"
  }'

Returns a list of URLs found on the site. Useful as a precursor to targeted extract calls (Map-then-Extract pattern).

research — AI-Powered Research

# Start research task
curl -s "https://api.tavily.com/research" \
  -H "Authorization: Bearer $TAVILY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "input": "Analyze the competitive landscape for X in the SMB market",
    "model": "auto",
    "citation_format": "numbered"
  }'
# Returns: { "request_id": "..." }

# Poll for completion
curl -s "https://api.tavily.com/research/REQUEST_ID" \
  -H "Authorization: Bearer $TAVILY_API_KEY"
# Poll every 10s until status is "completed" or "failed"

Model selection: mini (focused queries, faster), pro (comprehensive, multi-topic), auto (let Tavily decide).

See references/research.md for prompting best practices and structured output schemas.

Procedure

  1. Formulate query — Keep under 400 chars. Split multi-part questions into 2-4 focused sub-queries.
  2. Pick topicgeneral for most searches, news for current events (pair with time_range), finance for market data.
  3. Pick depth — Start with basic (1 credit). Use advanced (2 credits) only when precision matters.
  4. Keep results small — Default max_results to 5. Filter by score and domain trust.
  5. Two-step for full text — Run search first, then extract on 1-3 top URLs. This is cheaper and safer than include_raw_content.
  6. Cite sources — Always include results[].url as citations in your final answer.
  7. For deep research — Use research endpoint with polling. Include citation_format for automatic source attribution.

Pitfalls

PitfallMitigation
include_raw_content on search explodes outputUse two-step: search then extract
search_depth defaults may auto-upgrade to advancedSet search_depth explicitly to control cost
exact_match is very restrictiveWrap phrase in quotes inside query instead
country boosting only works with topic: "general"Don't set country for news/finance topics
Crawl can be expensive on large sitesSet limit, max_depth, max_breadth conservatively
Research polling — don't poll too fastPoll every 10 seconds, set a max wait timeout

Verification

Check remaining credits:

curl -s "https://api.tavily.com/usage" \
  -H "Authorization: Bearer $TAVILY_API_KEY"

Troubleshooting

ErrorCauseFix
401 UnauthorizedInvalid or missing API keyVerify TAVILY_API_KEY is set and valid
429 Too Many RequestsRate limit exceededWait and retry; check usage quota
Empty resultsQuery too narrow or restrictiveBroaden query, remove domain filters
Slow response on searchadvanced depth or too many resultsReduce max_results, use basic depth

Keep request_id from responses for debugging.

What ships with it: 5 files

14.8 KB alongside SKILL.md

references/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.