search

Original🇺🇸 English
Translated
1 scripts

Search the web using Tavily's LLM-optimized search API. Returns relevant results with content snippets, scores, and metadata. Use when you need to find web content on any topic without writing code.

12.0kinstalls
Added on

NPX Install

npx skill4agent add tavily-ai/skills search

Tags

Translated version includes tags in frontmatter

Search Skill

Search the web and get relevant results optimized for LLM consumption.

Prerequisites

Tavily API Key Required - Get your key at https://tavily.com
Add to
~/.claude/settings.json
:
json
{
  "env": {
    "TAVILY_API_KEY": "tvly-your-api-key-here"
  }
}

Quick Start

Using the Script

bash
./scripts/search.sh '<json>'
Examples:
bash
# Basic search
./scripts/search.sh '{"query": "python async patterns"}'

# With options
./scripts/search.sh '{"query": "React hooks tutorial", "max_results": 10}'

# Advanced search with filters
./scripts/search.sh '{"query": "AI news", "topic": "news", "time_range": "week", "max_results": 10}'

# Domain-filtered search
./scripts/search.sh '{"query": "machine learning", "include_domains": ["arxiv.org", "github.com"], "search_depth": "advanced"}'

Basic Search

bash
curl --request POST \
  --url https://api.tavily.com/search \
  --header "Authorization: Bearer $TAVILY_API_KEY" \
  --header 'Content-Type: application/json' \
  --data '{
    "query": "latest developments in quantum computing",
    "max_results": 5
  }'

Advanced Search

bash
curl --request POST \
  --url https://api.tavily.com/search \
  --header "Authorization: Bearer $TAVILY_API_KEY" \
  --header 'Content-Type: application/json' \
  --data '{
    "query": "machine learning best practices",
    "max_results": 10,
    "search_depth": "advanced",
    "include_domains": ["arxiv.org", "github.com"],
    "chunks_per_source": 3
  }'

API Reference

Endpoint

POST https://api.tavily.com/search

Headers

HeaderValue
Authorization
Bearer <TAVILY_API_KEY>
Content-Type
application/json

Request Body

FieldTypeDefaultDescription
query
stringRequiredSearch query (keep under 400 chars)
max_results
integer5Maximum results (0-20)
search_depth
string
"basic"
ultra-fast
,
fast
,
basic
,
advanced
topic
string
"general"
general
,
news
,
finance
chunks_per_source
integer3Chunks per source (advanced/fast only)
time_range
stringnull
day
,
week
,
month
,
year
include_domains
array[]Domains to include (max 300)
exclude_domains
array[]Domains to exclude (max 150)
include_answer
booleanfalseInclude AI-generated answer
include_raw_content
booleanfalseInclude full page content
include_images
booleanfalseInclude image results

Response Format

json
{
  "query": "latest developments in quantum computing",
  "results": [
    {
      "title": "Page Title",
      "url": "https://example.com/page",
      "content": "Extracted text snippet...",
      "score": 0.85
    }
  ],
  "response_time": 1.2
}

Search Depth

DepthLatencyRelevanceContent Type
ultra-fast
LowestLowerNLP summary
fast
LowGoodChunks
basic
MediumHighNLP summary
advanced
HigherHighestChunks
When to use each:
  • ultra-fast
    : Real-time chat, autocomplete
  • fast
    : Need chunks but latency matters
  • basic
    : General-purpose, balanced
  • advanced
    : Precision matters (default recommendation)

Examples

News Search

bash
curl --request POST \
  --url https://api.tavily.com/search \
  --header "Authorization: Bearer $TAVILY_API_KEY" \
  --header 'Content-Type: application/json' \
  --data '{
    "query": "AI news today",
    "topic": "news",
    "time_range": "day",
    "max_results": 10
  }'

Domain-Filtered Search

bash
curl --request POST \
  --url https://api.tavily.com/search \
  --header "Authorization: Bearer $TAVILY_API_KEY" \
  --header 'Content-Type: application/json' \
  --data '{
    "query": "Python async best practices",
    "include_domains": ["docs.python.org", "realpython.com", "github.com"],
    "search_depth": "advanced"
  }'

Search with Full Content

bash
curl --request POST \
  --url https://api.tavily.com/search \
  --header "Authorization: Bearer $TAVILY_API_KEY" \
  --header 'Content-Type: application/json' \
  --data '{
    "query": "React hooks tutorial",
    "max_results": 3,
    "include_raw_content": true
  }'

Finance Search

bash
curl --request POST \
  --url https://api.tavily.com/search \
  --header "Authorization: Bearer $TAVILY_API_KEY" \
  --header 'Content-Type: application/json' \
  --data '{
    "query": "AAPL earnings Q4 2024",
    "topic": "finance",
    "max_results": 10
  }'

Tips

  • Keep queries under 400 characters - Think search query, not prompt
  • Break complex queries into sub-queries - Better results than one massive query
  • Use
    include_domains
    to focus on trusted sources
  • Use
    time_range
    for recent information
  • Filter by
    score
    (0-1) to get highest relevance results