Skip to main content
The TavilySearchTool provides an interface to the Tavily Search API, enabling CrewAI agents to perform comprehensive web searches. It allows for specifying search depth, topics, time ranges, included/excluded domains, and whether to include direct answers, raw content, or images in the results.

Installation

To use the TavilySearchTool, you need to install the tavily-python library:

Environment Variables

Ensure your Tavily API key is set as an environment variable:
Get an API key at https://app.tavily.com/ (sign up, then create a key).

Example Usage

Here’s how to initialize and use the TavilySearchTool within a CrewAI agent:

Configuration Options

The TavilySearchTool accepts the following arguments during initialization or when calling the run method:
  • query (str): Required. The search query string.
  • search_depth (Literal[“basic”, “advanced”], optional): The depth of the search. Defaults to "basic".
  • topic (Literal[“general”, “news”, “finance”], optional): The topic to focus the search on. Defaults to "general".
  • time_range (Literal[“day”, “week”, “month”, “year”], optional): The time range for the search. Defaults to None.
  • days (int, optional): The number of days to search back. Relevant if time_range is not set. Defaults to 7.
  • max_results (int, optional): The maximum number of search results to return. Defaults to 5.
  • include_domains (Sequence[str], optional): A list of domains to prioritize in the search. Defaults to None.
  • exclude_domains (Sequence[str], optional): A list of domains to exclude from the search. Defaults to None.
  • include_answer (Union[bool, Literal[“basic”, “advanced”]], optional): Whether to include a direct answer synthesized from the search results. Defaults to False.
  • include_raw_content (bool, optional): Whether to include the raw HTML content of the searched pages. Defaults to False.
  • include_images (bool, optional): Whether to include image results. Defaults to False.
  • timeout (int, optional): The request timeout in seconds. Defaults to 60.

Advanced Usage

You can configure the tool with custom parameters:

Features

  • Comprehensive Search: Access to Tavily’s powerful search index
  • Configurable Depth: Choose between basic and advanced search modes
  • Topic Filtering: Focus searches on general, news, or finance topics
  • Time Range Control: Limit results to specific time periods
  • Domain Control: Include or exclude specific domains
  • Direct Answers: Get synthesized answers from search results
  • Content Filtering: Prevent context window issues with automatic content truncation

Response Format

The tool returns search results as a JSON string containing:
  • Search results with titles, URLs, and content snippets
  • Optional direct answers to queries
  • Optional image results
  • Optional raw HTML content (when enabled)
Content for each result is automatically truncated to prevent context window issues while maintaining the most relevant information.