Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
intellectronica avatar

Tavily

  • 580 installs
  • 281 repo stars
  • Updated April 25, 2026
  • intellectronica/agent-skills

tavily is an agent integration skill that exposes Tavily's REST API for web search, extraction, mapping, and crawling for developers who need clean, LLM-optimized research results inside agent workflows.

About

tavily is an intellectlectronica/agent-skills integration that teaches agents to call Tavily's REST API with curl for web search, page extraction, site mapping, crawling, and optional deep research. The skill returns structured, LLM-friendly summaries and chunked content suited to multi-step investigations when built-in browser tools are missing or when Tavily's output format is preferable. Developers reach for tavily when an agent task needs live documentation, competitor pages, API references, or site structure discovery without hand-rolling scrapers. The workflow emphasizes curl-based requests, parsing Tavily JSON responses, and chaining search with extraction or crawl steps across a research session. Use tavily inside Claude Code, Cursor, or similar agents whenever external web evidence must be fetched programmatically and fed back into reasoning loops with minimal formatting cleanup.

  • Provides structured Tavily search with summaries, chunks, sources and citations optimized for LLMs
  • Supports web search, content extraction, site mapping and crawling via simple curl calls
  • Automatically prompts for TAVILY_API_KEY when missing
  • Returns LLM-friendly JSON suitable for multi-step research and agentic investigations
  • Works when built-in search tools are unavailable or insufficient

Tavily by the numbers

  • 580 all-time installs (skills.sh)
  • +10 installs in the week ending Aug 2, 2026 (Skillselion tracking)
  • Ranked #1,617 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Aug 2, 2026 (Skillselion catalog sync)
npx skills add https://github.com/intellectronica/agent-skills --skill tavily

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs580
repo stars281
Last updatedApril 25, 2026
Repositoryintellectronica/agent-skills

How do agents call Tavily for web research?

Get clean, LLM-optimized web search, extraction, mapping and crawling results directly inside agent workflows.

Who is it for?

Agent builders who need programmatic web search and extraction through Tavily when native browsing tools are unavailable or insufficient.

Skip if: Offline-only tasks or projects that already have a built-in search tool meeting the same quality bar without Tavily credentials.

When should I use this skill?

A task requires live web search, URL extraction, site mapping, or crawling and Tavily's LLM-friendly REST output is needed.

What you get

Structured Tavily JSON with search hits, extracted page content, site maps, and crawl results formatted for LLM consumption.

  • Search result summaries
  • Extracted page content
  • Site maps and crawl data

Files

SKILL.mdMarkdownGitHub ↗

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:

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):

  • 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.

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:

  • 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).

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:

  • 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.

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:

  • 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

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, status (pending), input, model, response_time

get research status → GET /research/{request_id}

curl -sS -X GET "https://api.tavily.com/research/<request_id>" \
  -H "Authorization: Bearer $TAVILY_API_KEY"

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:

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).

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.

Related skills

How it compares

Use tavily when you want Tavily's REST API and LLM-formatted research output rather than ad-hoc HTML scraping or generic search snippets.

FAQ

What Tavily operations does the tavily skill support?

The tavily skill supports Tavily REST API web search, page extraction, site mapping, crawling, and optional research, returning structured JSON formatted for LLM workflows via curl commands.

When should agents use tavily instead of built-in search?

Agents should use tavily when no built-in web search is available, or when Tavily's LLM-friendly summaries and chunked extraction output reduce cleanup work in multi-step research.

AI & Agent Buildingresearchautomation

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.