🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Tavily Search Pro

by @shaharsha

Tavily AI search platform with 5 modes: Search (web/news/finance), Extract (URL content), Crawl (website crawling), Map (sitemap discovery), and Research (deep research with citations). Use for: web search with LLM answers, content extraction, site crawling, deep research.

Versionv1.0.0
Downloads9,690
Installs40
Stars⭐ 6
TERMINAL
clawhub install tavily-search-pro

πŸ“– About This Skill


name: tavily-search-pro slug: tavily-search-pro description: > Tavily AI search platform with 5 modes: Search (web/news/finance), Extract (URL content), Crawl (website crawling), Map (sitemap discovery), and Research (deep research with citations). Use for: web search with LLM answers, content extraction, site crawling, deep research. version: 1.0.0 author: Leo 🦁 tags: [search, tavily, web, news, finance, extract, crawl, research, api] metadata: {"clawdbot":{"emoji":"πŸ”Ž","requires":{"env":["TAVILY_API_KEY"]},"primaryEnv":"TAVILY_API_KEY","install":[{"id":"pip","kind":"pip","package":"tavily-python","label":"Install dependencies (pip)"}]}} allowed-tools: [exec]

Tavily Search πŸ”Ž

AI-powered web search platform with 5 modes: Search, Extract, Crawl, Map, and Research.

Requirements

  • TAVILY_API_KEY environment variable
  • Configuration

    | Env Variable | Default | Description | |---|---|---| | TAVILY_API_KEY | β€” | Required. Tavily API key |

    Set in OpenClaw config:

    {
      "env": {
        "TAVILY_API_KEY": "tvly-..."
      }
    }
    

    Script Location

    python3 skills/tavily/lib/tavily_search.py  "query" [options]
    


    Commands

    search β€” Web Search (Default)

    General-purpose web search with optional LLM-synthesized answer.

    python3 lib/tavily_search.py search "query" [options]
    

    Examples:

    # Basic search
    python3 lib/tavily_search.py search "latest AI news"

    With LLM answer

    python3 lib/tavily_search.py search "what is quantum computing" --answer

    Advanced depth (better results, 2 credits)

    python3 lib/tavily_search.py search "climate change solutions" --depth advanced

    Time-filtered

    python3 lib/tavily_search.py search "OpenAI announcements" --time week

    Domain filtering

    python3 lib/tavily_search.py search "machine learning" --include-domains arxiv.org,nature.com

    Country boost

    python3 lib/tavily_search.py search "tech startups" --country US

    With raw content and images

    python3 lib/tavily_search.py search "solar energy" --raw --images -n 10

    JSON output

    python3 lib/tavily_search.py search "bitcoin price" --json

    Output format (text):

    Answer: 

    Results: 1. Result Title https://example.com/article Content snippet from the page...

    2. Another Result https://example.com/other Another snippet...


    news β€” News Search

    Search optimized for news articles. Sets topic=news.

    python3 lib/tavily_search.py news "query" [options]
    

    Examples:

    python3 lib/tavily_search.py news "AI regulation"
    python3 lib/tavily_search.py news "Israel tech" --time day --answer
    python3 lib/tavily_search.py news "stock market" --time week -n 10
    


    finance β€” Finance Search

    Search optimized for financial data and news. Sets topic=finance.

    python3 lib/tavily_search.py finance "query" [options]
    

    Examples:

    python3 lib/tavily_search.py finance "NVIDIA stock analysis"
    python3 lib/tavily_search.py finance "cryptocurrency market trends" --time month
    python3 lib/tavily_search.py finance "S&P 500 forecast 2026" --answer
    


    extract β€” Extract Content from URLs

    Extract readable content from one or more URLs.

    python3 lib/tavily_search.py extract URL [URL...] [options]
    

    Parameters:

  • urls: One or more URLs to extract (positional args)
  • --depth basic|advanced: Extraction depth
  • --format markdown|text: Output format (default: markdown)
  • --query "text": Rerank extracted chunks by relevance to query
  • Examples:

    # Extract single URL
    python3 lib/tavily_search.py extract "https://example.com/article"

    Extract multiple URLs

    python3 lib/tavily_search.py extract "https://url1.com" "https://url2.com"

    Advanced extraction with relevance reranking

    python3 lib/tavily_search.py extract "https://arxiv.org/paper" --depth advanced --query "transformer architecture"

    Text format output

    python3 lib/tavily_search.py extract "https://example.com" --format text

    Output format:

    URL: https://example.com/article
    ─────────────────────────────────
    

    URL: https://another.com/page ─────────────────────────────────


    crawl β€” Crawl a Website

    Crawl a website starting from a root URL, following links.

    python3 lib/tavily_search.py crawl URL [options]
    

    Parameters:

  • url: Root URL to start crawling
  • --depth basic|advanced: Crawl depth
  • --max-depth N: Maximum link depth to follow (default: 2)
  • --max-breadth N: Maximum pages per depth level (default: 10)
  • --limit N: Maximum total pages (default: 10)
  • --instructions "text": Natural language crawl instructions
  • --select-paths p1,p2: Only crawl these path patterns
  • --exclude-paths p1,p2: Skip these path patterns
  • --format markdown|text: Output format
  • Examples:

    # Basic crawl
    python3 lib/tavily_search.py crawl "https://docs.example.com"

    Focused crawl with instructions

    python3 lib/tavily_search.py crawl "https://docs.python.org" --instructions "Find all asyncio documentation" --limit 20

    Crawl specific paths only

    python3 lib/tavily_search.py crawl "https://example.com" --select-paths "/blog,/docs" --max-depth 3

    Output format:

    Crawled 5 pages from https://docs.example.com

    Page 1: https://docs.example.com/intro ─────────────────────────────────

    Page 2: https://docs.example.com/guide ─────────────────────────────────


    map β€” Sitemap Discovery

    Discover all URLs on a website (sitemap).

    python3 lib/tavily_search.py map URL [options]
    

    Parameters:

  • url: Root URL to map
  • --max-depth N: Depth to follow (default: 2)
  • --max-breadth N: Breadth per level (default: 20)
  • --limit N: Maximum URLs (default: 50)
  • Examples:

    # Map a site
    python3 lib/tavily_search.py map "https://example.com"

    Deep map

    python3 lib/tavily_search.py map "https://docs.python.org" --max-depth 3 --limit 100

    Output format:

    Sitemap for https://example.com (42 URLs found):

    1. https://example.com/ 2. https://example.com/about 3. https://example.com/blog ...


    research β€” Deep Research

    Comprehensive AI-powered research on a topic with citations.

    python3 lib/tavily_search.py research "query" [options]
    

    Parameters:

  • query: Research question
  • --model mini|pro|auto: Research model (default: auto)
  • - mini: Faster, cheaper - pro: More thorough - auto: Let Tavily decide
  • --json: JSON output (supports structured output schema)
  • Examples:

    # Basic research
    python3 lib/tavily_search.py research "Impact of AI on healthcare in 2026"

    Pro model for thorough research

    python3 lib/tavily_search.py research "Comparison of quantum computing approaches" --model pro

    JSON output

    python3 lib/tavily_search.py research "Electric vehicle market analysis" --json

    Output format:

    Research: Impact of AI on healthcare in 2026

    Sources: [1] https://source1.com [2] https://source2.com ...


    Options Reference

    | Option | Applies To | Description | Default | |---|---|---|---| | --depth basic\|advanced | search, news, finance, extract | Search/extraction depth | basic | | --time day\|week\|month\|year | search, news, finance | Time range filter | none | | -n NUM | search, news, finance | Max results (0-20) | 5 | | --answer | search, news, finance | Include LLM answer | off | | --raw | search, news, finance | Include raw page content | off | | --images | search, news, finance | Include image URLs | off | | --include-domains d1,d2 | search, news, finance | Only these domains | none | | --exclude-domains d1,d2 | search, news, finance | Exclude these domains | none | | --country XX | search, news, finance | Boost country results | none | | --json | all | Structured JSON output | off | | --format markdown\|text | extract, crawl | Content format | markdown | | --query "text" | extract | Relevance reranking query | none | | --model mini\|pro\|auto | research | Research model | auto | | --max-depth N | crawl, map | Max link depth | 2 | | --max-breadth N | crawl, map | Max pages per level | 10/20 | | --limit N | crawl, map | Max total pages/URLs | 10/50 | | --instructions "text" | crawl | Natural language instructions | none | | --select-paths p1,p2 | crawl | Include path patterns | none | | --exclude-paths p1,p2 | crawl | Exclude path patterns | none |


    Error Handling

  • Missing API key: Clear error message with setup instructions.
  • 401 Unauthorized: Invalid API key.
  • 429 Rate Limit: Rate limit exceeded, try again later.
  • Network errors: Descriptive error with cause.
  • No results: Clean "No results found." message.
  • Timeout: 30-second timeout on all HTTP requests.

  • Credits & Pricing

    | API | Basic | Advanced | |---|---|---| | Search | 1 credit | 2 credits | | Extract | 1 credit/URL | 2 credits/URL | | Crawl | 1 credit/page | 2 credits/page | | Map | 1 credit | 1 credit | | Research | Varies by model | - |


    Install

    bash skills/tavily/install.sh
    

    βš™οΈ Configuration

    | Env Variable | Default | Description | |---|---|---| | TAVILY_API_KEY | β€” | Required. Tavily API key |

    Set in OpenClaw config:

    {
      "env": {
        "TAVILY_API_KEY": "tvly-..."
      }
    }