Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Deep multi-source research using Tavily Research API
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✗→✓ | ▲ Improved | 100% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -78% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 109% | 0% |
| case-17 | ✗→✓ | ▲ Improved | 13% | 0% |
| case-18 | ✗→✓ | ▲ Improved | 28% | 0% |
Perform deep, multi-source research using the Tavily Research API. Unlike basic search, research produces comprehensive reports (1000-3000 words) synthesizing information from multiple sources. Research tasks typically take 30-300 seconds depending on complexity and model.
Set the TAVILY_API_KEY environment variable with your Tavily API key. Get your key at https://tavily.com
No OAuth or MCP configuration required.
bash# Submit research request ./scripts/tavily-research.sh '{"input": "impact of quantum computing on cryptography"}' # Returns: {"status": "pending", "request_id": "..."} # Poll for results ./scripts/tavily-research-poll.sh '{"request_id": "72d4a81c-..."}' # Returns: {"status": "completed", "summary": "...", "report": "...", ...}
The research API is asynchronous. Use the two tools in sequence:
tavily_research with your query — returns immediately with a request_idtavily_research_poll with the request_id — this tool waits internally until the research completes (up to ~5 minutes), so you only need to call it oncereport text in your response — do not summarize or truncate it. Responses over 8000 characters are automatically delivered as a downloadable document by channel adapters (Telegram, Slack), giving the user the complete report as a fileSubmit a deep research request to Tavily AI. Returns immediately with a request_id for polling.
Input:
| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | input | string | yes | The research query or topic | | model | string | no | Research model: mini (faster, ~30s), pro (thorough, ~300s), or auto (default). Default: auto |
Output: JSON object with status ("pending"), request_id, input, model, and created_at.
Wait for a previously submitted research request to complete and return the results. This tool handles polling internally — it waits up to ~5 minutes, retrying every 10 seconds until the research is done. You only need to call it once.
Input:
| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | request_id | string | yes | The request_id returned by tavily_research |
Output: JSON object with status ("completed"), summary, topic, report, sources, and research_time. Returns an error if the research fails or times out.
| Model | Speed | Depth | Use Case | |-------|-------|-------|----------| | mini | ~30s | Standard synthesis | Quick overviews, simple topics | | pro | ~300s | Deep multi-source | Comprehensive analysis, complex topics | | auto | Varies | Adaptive | Let the API choose based on query complexity |
json{ "status": "completed", "summary": "Brief summary of key findings", "topic": "your research topic", "report": "Full multi-source research report (1000-3000 words)...", "sources": [ { "title": "Source Title", "url": "https://example.com", "content": "Relevant excerpt..." } ], "research_time": 45.2 }
model: pro for topics requiring deep analysis across many sourcesmodel: mini for quick overviews where speed matters more than depthreport field verbatim in your response — do not summarize it. The channel adapter will send a brief summary as a message and attach the full report as a downloadable markdown fileOther measured skills in the registry, with their headline benchmark lift.