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

Tavily Web

  • 375 installs
  • 2 repo stars
  • Updated April 21, 2026
  • benedictking/tavily-web

tavily-web is a skill that calls the Tavily API to run web search, content extraction, site crawling, site mapping, and structured research from inside an agent.

About

This skill lets an agent run web research through the Tavily API, choosing among five endpoints: search for latest info, extract for content from URLs, crawl for traversing a site, map for discovering site structure, and research for structured schema output. It uses a two-phase architecture where the main context assembles the JSON payload and a forked sub-skill executes the HTTP call to conserve tokens. A developer uses it when they need current web information, page content, or a site map inside an agent workflow.

  • Wraps the Tavily API for search, extract, crawl, map, and structured research
  • Two-phase design: main skill builds the JSON payload, a sub-skill runs the HTTP call
  • Requires a TAVILY_API_KEY via env var or a .env file

Tavily Web by the numbers

  • 375 all-time installs (skills.sh)
  • Ranked #463 of 2,715 Automation & Workflows skills by installs in the Skillselion catalog
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
At a glance

tavily-web capabilities & compatibility

Requires a Tavily API key set via TAVILY_API_KEY env var or .env file

Capabilities
web search · web scraping · research · site map
Use cases
research · web search · web scraping
Pricing
Bring your own API key
From the docs

What tavily-web says it does

Web research skill using Tavily API for search, extract, crawl, map, and structured research tasks. Use when you need latest information, extract content from URLs, or discover site structure.
SKILL.md
Two ways to configure API Key (priority: environment variable > `.env`):
SKILL.md
npx skills add https://github.com/benedictking/tavily-web --skill tavily-web

Add your badge

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

Listed on Skillselion
Installs375
repo stars2
Last updatedApril 21, 2026
Repositorybenedictking/tavily-web

What it does

Run web search, content extraction, crawling, or structured research through the Tavily API from inside an agent.

Who is it for?

Fetching the latest web information, extracting content from URLs, or discovering a site's structure during agent research tasks.

Skip if: Working offline or without a Tavily API key.

When should I use this skill?

You need latest information, need to extract content from URLs, or need to discover a site's structure.

What you get

The agent gets search results, extracted page content, crawled pages, a site map, or schema-structured research without wasting conversation tokens on the raw call.

  • Web search results, extracted page content, crawled pages, a site map, or schema-structured research output

By the numbers

  • Five Tavily endpoints: search, extract, crawl, map, research

Files

SKILL.mdMarkdownGitHub ↗

Tavily Web Skill

Trigger Conditions & Endpoint Selection

Choose Tavily endpoint based on user intent:

  • search: Need to "search web / latest info / find sources / find links"
  • extract: Given URL(s), need to extract/summarize content
  • crawl: Need to traverse site following instructions and scrape page content
  • map: Need to discover site page list/structure (without full content or metadata only)
  • research: Need structured research output following given output_schema

Recommended Architecture (Main Skill + Sub-skill)

This skill uses a two-phase architecture:

1. Main skill (current context): Understand user question → Choose endpoint → Assemble JSON payload 2. Sub-skill (fork context): Only responsible for HTTP call execution, avoiding conversation history token waste

Execution Method

Use Task tool to invoke tavily-fetcher sub-skill, passing command and JSON (stdin):

Task parameters:
- subagent_type: Bash
- description: "Call Tavily API"
- prompt: cat <<'JSON' | node .claude/skills/tavily-web/tavily-api.cjs <search|extract|crawl|map|research>
  { ...payload... }
  JSON

Payload Examples (Based on Provided curl)

1) Search the web

cat <<'JSON' | node .claude/skills/tavily-web/tavily-api.cjs search
{
  "query": "who is Leo Messi?",
  "auto_parameters": false,
  "topic": "general",
  "search_depth": "basic",
  "chunks_per_source": 3,
  "max_results": 1,
  "time_range": null,
  "start_date": "2025-02-09",
  "end_date": "2025-12-29",
  "include_answer": false,
  "include_raw_content": false,
  "include_images": false,
  "include_image_descriptions": false,
  "include_favicon": false,
  "include_domains": [],
  "exclude_domains": [],
  "country": null,
  "include_usage": false
}
JSON

2) Extract webpages

cat <<'JSON' | node .claude/skills/tavily-web/tavily-api.cjs extract
{
  "urls": "https://en.wikipedia.org/wiki/Artificial_intelligence",
  "query": "<string>",
  "chunks_per_source": 3,
  "extract_depth": "basic",
  "include_images": false,
  "include_favicon": false,
  "format": "markdown",
  "timeout": "None",
  "include_usage": false
}
JSON

3) Crawl webpages

cat <<'JSON' | node .claude/skills/tavily-web/tavily-api.cjs crawl
{
  "url": "docs.tavily.com",
  "instructions": "Find all pages about the Python SDK",
  "chunks_per_source": 3,
  "max_depth": 1,
  "max_breadth": 20,
  "limit": 50,
  "select_paths": null,
  "select_domains": null,
  "exclude_paths": null,
  "exclude_domains": null,
  "allow_external": true,
  "include_images": false,
  "extract_depth": "basic",
  "format": "markdown",
  "include_favicon": false,
  "timeout": 150,
  "include_usage": false
}
JSON

4) Map webpages

cat <<'JSON' | node .claude/skills/tavily-web/tavily-api.cjs map
{
  "url": "docs.tavily.com",
  "instructions": "Find all pages about the Python SDK",
  "max_depth": 1,
  "max_breadth": 20,
  "limit": 50,
  "select_paths": null,
  "select_domains": null,
  "exclude_paths": null,
  "exclude_domains": null,
  "allow_external": true,
  "timeout": 150,
  "include_usage": false
}
JSON

5) Create Research Task

cat <<'JSON' | node .claude/skills/tavily-web/tavily-api.cjs research
{
  "input": "What are the latest developments in AI?",
  "model": "auto",
  "stream": false,
  "output_schema": {
    "properties": {
      "company": {
        "type": "string",
        "description": "The name of the company"
      },
      "key_metrics": {
        "type": "array",
        "description": "List of key performance metrics",
        "items": {
          "type": "string"
        }
      },
      "financial_details": {
        "type": "object",
        "description": "Detailed financial breakdown",
        "properties": {
          "operating_income": {
            "type": "number",
            "description": "Operating income for the period"
          }
        }
      }
    },
    "required": [
      "company"
    ]
  },
  "citation_format": "numbered"
}
JSON

Environment Variables & API Key

Two ways to configure API Key (priority: environment variable > .env):

1. Environment variable: TAVILY_API_KEY 2. .env file: Place in .claude/skills/tavily-web/.env, can copy from .env.example

Related skills

How it compares

Pick tavily-web for Tavily-powered agent web research; use firecrawl-scraper or exa-search skills when scraping, screenshots, or semantic search are the primary need.

FAQ

Which Tavily endpoint should I use?

search for finding sources or latest info, extract for summarizing given URLs, crawl for traversing and scraping a site, map for discovering a site's page list, and research for structured output following an output_schema.

How is the API key configured?

Via the TAVILY_API_KEY environment variable or a .env file placed in .claude/skills/tavily-web/.env, with the environment variable taking priority.

Automation & Workflowsresearchautomation

This week in AI coding

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

unsubscribe anytime.