الانتقال إلى المحتوى الرئيسي
The TavilyResearchTool lets CrewAI agents kick off Tavily research tasks, returning a synthesized, cited report (or a stream of progress events) instead of raw search results. Use it when an agent needs an investigative answer rather than a single web search.

Installation

To use the TavilyResearchTool, install the tavily-python library alongside crewai-tools:

Environment Variables

Set your Tavily API key:
Get an API key at https://app.tavily.com/ (sign up, then create a key).

Example Usage

Configuration Options

The TavilyResearchTool accepts the following arguments — all can be set on the tool instance (defaults for every call) or per-call via the agent’s tool input:
  • input (str): Required. The research task or question to investigate.
  • model (Literal[“mini”, “pro”, “auto”]): The Tavily research model. "auto" lets Tavily pick; "mini" is faster/cheaper; "pro" is the most capable. Defaults to "auto".
  • output_schema (dict | None): Optional JSON Schema that structures the research output. Useful when you want strictly typed results.
  • stream (bool): When True, the tool returns an iterator of SSE chunks emitting research progress and the final result instead of a single string. Defaults to False.
  • citation_format (Literal[“numbered”, “mla”, “apa”, “chicago”]): Citation format for the report. Defaults to "numbered".

Advanced Usage

Configure defaults on the tool instance

Stream research progress

When stream=True, the tool returns a generator (or async generator from _arun) of SSE chunks so your application can surface incremental progress:

Structured output via JSON Schema

Pass an output_schema when you need a typed result instead of a free-form report:

Features

  • End-to-end research: Returns a synthesized, cited report rather than raw search hits.
  • Model selection: Trade off cost, speed, and depth via mini, pro, or auto.
  • Streaming: Stream incremental progress and results as SSE chunks for responsive UIs.
  • Structured output: Coerce results to a JSON Schema you define.
  • Multiple citation styles: Choose from numbered, MLA, APA, or Chicago citations.
  • Sync and async: Use either _run or _arun depending on your application’s runtime.
Refer to the Tavily API documentation for full details on the Research API.