---
source_url: "https://docs.crewai.com/en/tools/search-research/tavilysearchtool"
title: Tavily Search Tool - CrewAI
mirrored_at: 2026-08-12T01:32:26.629Z
host: docs.crewai.com
cited_in_42a: true
mirror_canonical: "https://index.42a.ai/docs.crewai.com/en/tools/search-research/tavilysearchtool"
---

> **Original source:** https://docs.crewai.com/en/tools/search-research/tavilysearchtool

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/](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.