Back to Hub

tavily-research

Deep multi-source research using Tavily Research API

Trusted

Install

forge skills add tavily-research

Requirements

Binary Dependencies

curljq

Required Env Vars

TAVILY_API_KEY

Egress Domains

api.tavily.com

Tavily Research Skill

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.

Authentication

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.

Quick Start

# 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": "...", ...}

Workflow

The research API is asynchronous. Use the two tools in sequence:

  1. Call tavily_research with your query — returns immediately with a request_id
  2. Inform the user that research is in progress and may take 30-300 seconds
  3. Call tavily_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 once
  4. When the poll returns, include the full report 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 file

Tool: tavily_research

Submit a deep research request to Tavily AI. Returns immediately with a request_id for polling.

Input:

ParameterTypeRequiredDescription
inputstringyesThe research query or topic
modelstringnoResearch 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.

Tool: tavily_research_poll

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:

ParameterTypeRequiredDescription
request_idstringyesThe 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.

Research Models

ModelSpeedDepthUse Case
mini~30sStandard synthesisQuick overviews, simple topics
pro~300sDeep multi-sourceComprehensive analysis, complex topics
autoVariesAdaptiveLet the API choose based on query complexity

Response Format (completed)

{
  "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
}

Tips

  • Use model: pro for topics requiring deep analysis across many sources
  • Use model: mini for quick overviews where speed matters more than depth
  • Research queries work best as descriptive topics rather than simple questions
  • Always tell the user research is in progress before polling — it can take minutes
  • Include the full report 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 file
  • Prefix the report with a 1-2 sentence summary so the user gets immediate context before opening the file

Security Summary

Trust Level: Trusted

This skill has been reviewed and signed by the Forge team.

Network Access

This skill communicates with: api.tavily.com

Publisher: Forge

Back to Hub