Tavily Skill
This skill extends Manus's capabilities by providing highly specialized workflows, reference guides, and helper scripts to integrate Tavily's search, extraction, and research APIs. It is designed to be highly token-efficient, leveraging progressive disclosure.
Quick Navigation
- Core Search & RAG Workflow: See workflows.md for step-by-step sequential patterns.
- API Reference & Specifications: See api_reference.md for endpoint details, parameter ranges, and JSON schemas.
- Troubleshooting & Diagnostics: See troubleshooting.md for diagnostic checklists and error handling strategies.
Basic Principles
1. Match Search Depth to Query Complexity
- Use
basic(1 credit) for simple queries (e.g., factual lookups, company names). - Use
advanced(2 credits) for complex research questions requiring multi-query expansion and synthesis. - Use
fastorultra-fast(1 credit) for latency-critical applications (e.g., real-time chat, voice assistants).
2. Prefer Extract over Raw Search for RAG
- Avoid downloading full HTML or uncleaned pages.
- Use the Extract API with
queryto trigger Intent-Based Extraction. - Limit the chunks returned per source using
chunks_per_source(range: 1 to 5) to save downstream LLM context window tokens.
3. Handle Rate Limits Gracefully
- Development keys are capped at 100 RPM. Production keys are capped at 1,000 RPM.
- Always wrap Tavily API calls in a retry wrapper that parses the
retry-afterheader during429 Too Many Requestsresponses.
Code Boilerplate
Synchronous Python Search
from tavily import TavilyClient
client = TavilyClient(api_key="tvly-YOUR_API_KEY")
response = client.search(
query="quantum computing trends 2026",
search_depth="advanced",
max_results=5
)
Asynchronous Python Extract
import asyncio
from tavily import AsyncTavilyClient
async def extract_links():
client = AsyncTavilyClient(api_key="tvly-YOUR_API_KEY")
response = await client.extract(
urls=["https://example.com/ai-agents"],
query="agent orchestration",
chunks_per_source=3
)
return response
