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

Tavily AI Search

by @bert-builder

AI-optimized web search using Tavily Search API. Use when you need comprehensive web research, current events lookup, domain-specific search, or AI-generated answer summaries. Tavily is optimized for LLM consumption with clean structured results, answer generation, and raw content extraction. Best for research tasks, news queries, fact-checking, and gathering authoritative sources.

Versionv1.0.0
Downloads41,532
Installs567
Stars⭐ 35
TERMINAL
clawhub install tavily

πŸ“– About This Skill


name: tavily description: AI-optimized web search using Tavily Search API. Use when you need comprehensive web research, current events lookup, domain-specific search, or AI-generated answer summaries. Tavily is optimized for LLM consumption with clean structured results, answer generation, and raw content extraction. Best for research tasks, news queries, fact-checking, and gathering authoritative sources.

Tavily AI Search

Overview

Tavily is a search engine specifically optimized for Large Language Models and AI applications. Unlike traditional search APIs, Tavily provides AI-ready results with optional answer generation, clean content extraction, and domain filtering capabilities.

Key capabilities:

  • AI-generated answer summaries from search results
  • Clean, structured results optimized for LLM processing
  • Fast (basic) and comprehensive (advanced) search modes
  • Domain filtering (include/exclude specific sources)
  • News-focused search for current events
  • Image search with relevant visual content
  • Raw content extraction for deeper analysis
  • Architecture

    graph TB
        A[User Query] --> B{Search Mode}
        B -->|basic| C[Fast Search
    1-2s response] B -->|advanced| D[Comprehensive Search
    5-10s response] C --> E[Tavily API] D --> E E --> F{Topic Filter} F -->|general| G[Broad Web Search] F -->|news| H[News Sources
    Last 7 days] G --> I[Domain Filtering] H --> I I --> J{Include Domains?} J -->|yes| K[Filter to Specific Domains] J -->|no| L{Exclude Domains?} K --> M[Search Results] L -->|yes| N[Remove Unwanted Domains] L -->|no| M N --> M M --> O{Response Options} O --> P[AI Answer
    Summary] O --> Q[Structured Results
    Title, URL, Content, Score] O --> R[Images
    if requested] O --> S[Raw HTML Content
    if requested] P --> T[Return to Agent] Q --> T R --> T S --> T style E fill:#4A90E2 style P fill:#7ED321 style Q fill:#7ED321 style R fill:#F5A623 style S fill:#F5A623

    Quick Start

    Basic Search

    # Simple query with AI answer
    scripts/tavily_search.py "What is quantum computing?"

    Multiple results

    scripts/tavily_search.py "Python best practices" --max-results 10

    Advanced Search

    # Comprehensive research mode
    scripts/tavily_search.py "Climate change solutions" --depth advanced

    News-focused search

    scripts/tavily_search.py "AI developments 2026" --topic news

    Domain Filtering

    # Search only trusted domains
    scripts/tavily_search.py "Python tutorials" \
      --include-domains python.org docs.python.org realpython.com

    Exclude low-quality sources

    scripts/tavily_search.py "How to code" \ --exclude-domains w3schools.com geeksforgeeks.org

    With Images

    # Include relevant images
    scripts/tavily_search.py "Eiffel Tower architecture" --images
    

    Search Modes

    Basic vs Advanced

    | Mode | Speed | Coverage | Use Case | |------|-------|----------|----------| | basic | 1-2s | Good | Quick facts, simple queries | | advanced | 5-10s | Excellent | Research, complex topics, comprehensive analysis |

    Decision tree: 1. Need a quick fact or definition? β†’ Use basic 2. Researching a complex topic? β†’ Use advanced 3. Need multiple perspectives? β†’ Use advanced 4. Time-sensitive query? β†’ Use basic

    General vs News

    | Topic | Time Range | Sources | Use Case | |-------|------------|---------|----------| | general | All time | Broad web | Evergreen content, tutorials, documentation | | news | Last 7 days | News sites | Current events, recent developments, breaking news |

    Decision tree: 1. Query contains "latest", "recent", "current", "today"? β†’ Use news 2. Looking for historical or evergreen content? β†’ Use general 3. Need up-to-date information? β†’ Use news

    API Key Setup

    Option 1: Clawdbot Config (Recommended)

    Add to your Clawdbot config:

    {
      "skills": {
        "entries": {
          "tavily": {
            "enabled": true,
            "apiKey": "tvly-YOUR_API_KEY_HERE"
          }
        }
      }
    }
    

    Access in scripts via Clawdbot's config system.

    Option 2: Environment Variable

    export TAVILY_API_KEY="tvly-YOUR_API_KEY_HERE"
    

    Add to ~/.clawdbot/.env or your shell profile.

    Getting an API Key

    1. Visit https://tavily.com 2. Sign up for an account 3. Navigate to your dashboard 4. Generate an API key (starts with tvly-) 5. Note your plan's rate limits and credit allocation

    Common Use Cases

    1. Research & Fact-Finding

    # Comprehensive research with answer
    scripts/tavily_search.py "Explain quantum entanglement" --depth advanced

    Multiple authoritative sources

    scripts/tavily_search.py "Best practices for REST API design" \ --max-results 10 \ --include-domains github.com microsoft.com google.com

    2. Current Events

    # Latest news
    scripts/tavily_search.py "AI policy updates" --topic news

    Recent developments in a field

    scripts/tavily_search.py "quantum computing breakthroughs" \ --topic news \ --depth advanced

    3. Domain-Specific Research

    # Academic sources only
    scripts/tavily_search.py "machine learning algorithms" \
      --include-domains arxiv.org scholar.google.com ieee.org

    Technical documentation

    scripts/tavily_search.py "React hooks guide" \ --include-domains react.dev

    4. Visual Research

    # Gather visual references
    scripts/tavily_search.py "modern web design trends" \
      --images \
      --max-results 10
    

    5. Content Extraction

    # Get raw HTML content for deeper analysis
    scripts/tavily_search.py "Python async/await" \
      --raw-content \
      --max-results 5
    

    Response Handling

    AI Answer

    The AI-generated answer provides a concise summary synthesized from search results:

    {
      "answer": "Quantum computing is a type of computing that uses quantum-mechanical phenomena..."
    }
    

    Use when:

  • Need a quick summary
  • Want synthesized information from multiple sources
  • Looking for a direct answer to a question
  • Skip when (--no-answer):

  • Only need source URLs
  • Want to form your own synthesis
  • Conserving API credits
  • Structured Results

    Each result includes:

  • title: Page title
  • url: Source URL
  • content: Extracted text snippet
  • score: Relevance score (0-1)
  • raw_content: Full HTML (if --raw-content enabled)
  • Images

    When --images is enabled, returns URLs of relevant images found during search.

    Best Practices

    1. Choose the Right Search Depth

  • Start with basic for most queries (faster, cheaper)
  • Escalate to advanced only when:
  • - Initial results are insufficient - Topic is complex or nuanced - Need comprehensive coverage

    2. Use Domain Filtering Strategically

    Include domains for:

  • Academic research (.edu domains)
  • Official documentation (official project sites)
  • Trusted news sources
  • Known authoritative sources
  • Exclude domains for:

  • Known low-quality content farms
  • Irrelevant content types (Pinterest for non-visual queries)
  • Sites with paywalls or access restrictions
  • 3. Optimize for Cost

  • Use basic depth as default
  • Limit max_results to what you'll actually use
  • Disable include_raw_content unless needed
  • Cache results locally for repeated queries
  • 4. Handle Errors Gracefully

    The script provides helpful error messages:

    # Missing API key
    Error: Tavily API key required
    Setup: Set TAVILY_API_KEY environment variable or pass --api-key

    Package not installed

    Error: tavily-python package not installed To install: pip install tavily-python

    Integration Patterns

    Programmatic Usage

    from tavily_search import search

    result = search( query="What is machine learning?", api_key="tvly-...", search_depth="advanced", max_results=10 )

    if result.get("success"): print(result["answer"]) for item in result["results"]: print(f"{item['title']}: {item['url']}")

    JSON Output for Parsing

    scripts/tavily_search.py "Python tutorials" --json > results.json
    

    Chaining with Other Tools

    # Search and extract content
    scripts/tavily_search.py "React documentation" --json | \
      jq -r '.results[].url' | \
      xargs -I {} curl -s {}
    

    Comparison with Other Search APIs

    vs Brave Search:

  • βœ… AI answer generation
  • βœ… Raw content extraction
  • βœ… Better domain filtering
  • ❌ Slower than Brave
  • ❌ Costs credits
  • vs Perplexity:

  • βœ… More control over sources
  • βœ… Raw content available
  • βœ… Dedicated news mode
  • β‰ˆ Similar answer quality
  • β‰ˆ Similar speed
  • vs Google Custom Search:

  • βœ… LLM-optimized results
  • βœ… Answer generation
  • βœ… Simpler API
  • ❌ Smaller index
  • β‰ˆ Similar cost structure
  • Troubleshooting

    Script Won't Run

    # Make executable
    chmod +x scripts/tavily_search.py

    Check Python version (requires 3.6+)

    python3 --version

    Install dependencies

    pip install tavily-python

    API Key Issues

    # Verify API key format (should start with tvly-)
    echo $TAVILY_API_KEY

    Test with explicit key

    scripts/tavily_search.py "test" --api-key "tvly-..."

    Rate Limit Errors

  • Check your plan's credit allocation at https://tavily.com
  • Reduce max_results to conserve credits
  • Use basic depth instead of advanced
  • Implement local caching for repeated queries
  • Resources

    See api-reference.md for:

  • Complete API parameter documentation
  • Response format specifications
  • Error handling details
  • Cost and rate limit information
  • Advanced usage examples
  • Dependencies

  • Python 3.6+
  • tavily-python package (install: pip install tavily-python)
  • Valid Tavily API key
  • Credits & Attribution

  • Tavily API: https://tavily.com
  • Python SDK: https://github.com/tavily-ai/tavily-python
  • Documentation: https://docs.tavily.com
  • πŸ’‘ Examples

    Basic Search

    # Simple query with AI answer
    scripts/tavily_search.py "What is quantum computing?"

    Multiple results

    scripts/tavily_search.py "Python best practices" --max-results 10

    Advanced Search

    # Comprehensive research mode
    scripts/tavily_search.py "Climate change solutions" --depth advanced

    News-focused search

    scripts/tavily_search.py "AI developments 2026" --topic news

    Domain Filtering

    # Search only trusted domains
    scripts/tavily_search.py "Python tutorials" \
      --include-domains python.org docs.python.org realpython.com

    Exclude low-quality sources

    scripts/tavily_search.py "How to code" \ --exclude-domains w3schools.com geeksforgeeks.org

    With Images

    # Include relevant images
    scripts/tavily_search.py "Eiffel Tower architecture" --images
    

    πŸ“‹ Tips & Best Practices

    1. Choose the Right Search Depth

  • Start with basic for most queries (faster, cheaper)
  • Escalate to advanced only when:
  • - Initial results are insufficient - Topic is complex or nuanced - Need comprehensive coverage

    2. Use Domain Filtering Strategically

    Include domains for:

  • Academic research (.edu domains)
  • Official documentation (official project sites)
  • Trusted news sources
  • Known authoritative sources
  • Exclude domains for:

  • Known low-quality content farms
  • Irrelevant content types (Pinterest for non-visual queries)
  • Sites with paywalls or access restrictions
  • 3. Optimize for Cost

  • Use basic depth as default
  • Limit max_results to what you'll actually use
  • Disable include_raw_content unless needed
  • Cache results locally for repeated queries
  • 4. Handle Errors Gracefully

    The script provides helpful error messages:

    # Missing API key
    Error: Tavily API key required
    Setup: Set TAVILY_API_KEY environment variable or pass --api-key

    Package not installed

    Error: tavily-python package not installed To install: pip install tavily-python