---
id: sm-tavily-web
name: "tavily-web"
url: https://skills.yangsir.net/skill/sm-tavily-web
author: benedictking
domain: data-ai
tags: ["Tavily API", "Web Search", "Information Retrieval", "AI Data Sourcing", "Search Engine API"]
install_count: 3133
rating: 4.40 (125 reviews)
github: https://github.com/benedictking/tavily-web
---

# tavily-web

> 根据用户意图选择Tavily端点，进行网页搜索、信息提取等操作。

**Stats**: 3,133 installs · 4.4/5 (125 reviews)

## Before / After 对比

### 精准网页信息提取

## Readme

# tavily-web

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

- **Main skill (current context)**: Understand user question → Choose endpoint → Assemble JSON payload

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

- Environment variable: `TAVILY_API_KEY`

- `.env` file: Place in `.claude/skills/tavily-web/.env`, can copy from `.env.example`

Weekly Installs267Repository[benedictking/tavily-web](https://github.com/benedictking/tavily-web)GitHub Stars2First SeenJan 20, 2026Security Audits[Gen Agent Trust HubPass](/benedictking/tavily-web/tavily-web/security/agent-trust-hub)[SocketPass](/benedictking/tavily-web/tavily-web/security/socket)[SnykWarn](/benedictking/tavily-web/tavily-web/security/snyk)Installed onopencode236codex220gemini-cli214claude-code171github-copilot170cursor169

---
*Source: https://skills.yangsir.net/skill/sm-tavily-web*
*Markdown mirror: https://skills.yangsir.net/api/skill/sm-tavily-web/markdown*