
Tavily Web Search
- 227 installs
- 6 repo stars
- Updated March 13, 2026
- alphaonedev/openclaw-graph
Wire Tavily web search into agent tools so assistants can retrieve fresh, citation-friendly web results during research, RAG, or autonomous browsing tasks.
About
OpenClaw-graph Tavily web search skill standardizes how agents call Tavily for live web retrieval, parse ranked results, and feed them into reasoning or RAG pipelines. It reduces bespoke search glue code and gives builders a dependable pattern for up-to-date answers, source gathering, and research-heavy autonomous workflows.
- Tavily API integration for agents
- Fresh web retrieval beyond training cutoff
- Structured results for RAG and citations
- Low-friction research tool wiring
- Improves agent factuality
Tavily Web Search by the numbers
- 227 all-time installs (skills.sh)
- Ranked #2,683 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Jul 28, 2026 (Skillselion catalog sync)
npx skills add https://github.com/alphaonedev/openclaw-graph --skill tavily-web-searchAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 227 |
|---|---|
| repo stars | ★ 6 |
| Last updated | March 13, 2026 |
| Repository | alphaonedev/openclaw-graph ↗ |
What it does
Wire Tavily web search into agent tools so assistants can retrieve fresh, citation-friendly web results during research, RAG, or autonomous browsing tasks.
Files
tavily-web-search
Purpose
This skill enables AI agents to perform web searches using Tavily, a service optimized for AI workflows. It synthesizes answers from search results, applies domain filters, and controls search depth to deliver relevant, concise information without overwhelming the agent.
When to Use
Use this skill when you need real-time web data, such as fetching current news, verifying facts, or gathering research. Apply it in scenarios where standard search engines are too verbose, like synthesizing answers for user queries, filtering results to specific domains (e.g., .edu sites), or limiting depth for quick responses. Avoid it for internal data access or when offline sources suffice.
Key Capabilities
- Answer Synthesis: Automatically summarizes search results into a coherent response; specify via
search_depthparameter (e.g., 0 for shallow, 5 for deep). - Domain Filtering: Restrict searches to domains like "example.com" using the
include_domainsflag; example:include_domains=["wikipedia.org"]. - Depth Control: Set search depth with
max_results(1-10) to control result volume; higher values increase detail but raise costs. - Optimized for AI: Integrates with AI agents via API, supporting tags like "search" and "ai" for metadata embedding.
- Configurable Queries: Supports query parameters for customization, such as
querystring andapi_keyfor authentication.
Usage Patterns
Always initialize with an API key via environment variable $TAVILY_API_KEY. For basic searches, construct a query object and call the API endpoint. Use in loops for iterative refinement, e.g., refine queries based on initial results. Pattern: Set up auth, build query with filters, execute search, then parse and synthesize the response. For agent workflows, integrate as a subtool in multi-step processes, ensuring error checks between calls.
Common Commands/API
Tavily uses a REST API endpoint: https://api.tavily.com/search. Authentication requires setting $TAVILY_API_KEY in your environment.
Example CLI curl command:
curl -H "Content-Type: application/json" \
-H "X-Api-Key: $TAVILY_API_KEY" \
https://api.tavily.com/search -d '{"query": "latest AI news", "max_results": 3}'Python code snippet for API call:
import requests
api_key = os.environ.get('TAVILY_API_KEY')
response = requests.post('https://api.tavily.com/search', headers={'X-Api-Key': api_key}, json={'query': 'climate change effects', 'include_domains': ['nytimes.com']})
results = response.json()['results']Common flags/parameters:
query: String, required; e.g., "OpenAI updates".max_results: Integer (1-10); controls depth, e.g., 5 for balanced results.include_domains: Array of strings; e.g., ["bbc.com", "cnn.com"] for news sites.exclude_domains: Array; e.g., ["socialmedia.com"] to avoid certain sites.
Integration Notes
To integrate, first obtain a Tavily API key from their dashboard and set it as $TAVILY_API_KEY. In code, import necessary libraries (e.g., requests in Python) and handle the API response as JSON. For OpenClaw agents, add this skill to your toolset by referencing the ID "tavily-web-search" in your agent config, like: tools: ["tavily-web-search"]. Config format example in YAML:
tools:
- id: tavily-web-search
config:
api_key_env: TAVILY_API_KEY
default_params:
max_results: 3Ensure your agent checks for key availability before calling; if missing, prompt the user. Test integrations in a sandbox environment to verify response formats.
Error Handling
Common errors include 401 (unauthorized) for invalid API keys, 429 (rate limit exceeded), and 400 (bad request for invalid parameters). To handle: Check response status code before parsing; if 401, log "API key error: Set $TAVILY_API_KEY" and retry after user input. For 429, implement exponential backoff (e.g., wait 5 seconds then retry). Validate inputs beforehand, e.g., ensure query is not empty. Example error check in code:
if response.status_code == 401:
raise ValueError("Authentication failed; ensure $TAVILY_API_KEY is set")
elif response.status_code >= 400:
print(f"Error: {response.json().get('error')}")Concrete Usage Examples
1. Fact Verification: To verify recent events, use: Set query to "2023 election results" with include_domains=["reuters.com"] and max_results=2. Then, synthesize the response to extract key facts, e.g., in code: synthesized_answer = summarize_results(results). 2. Research Assistance: For gathering AI trends, construct a query like "advancements in LLMs" with search_depth=3. Parse results to filter for dates or sources, then use in an agent response: "Based on Tavily search, key trends include...".
Graph Relationships
- Related to: search tools (e.g., via "search" tag)
- Connected via: community cluster (shares nodes with other community tools)
- Links to: AI agents (through "ai" tag for embedding)
- Dependencies: Requires external API (Tavily), no direct graph edges to other skills unless configured.