> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.empiriolabs.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.empiriolabs.ai/_mcp/server.

# Tavily Search

> Web search with crawl, extract, and URL mapping for fast, structured retrieval across pages and domains for downstream pipelines.

![Tavily Search](https://media.empiriolabs.ai/model-logos/tavily-search.png)

[Tavily](/providers/tavily) · Research & Search

`POST /v1/search`

Web search with crawl, extract, and URL mapping for fast, structured retrieval across pages and domains for downstream pipelines.

## At a glance

| Field               | Value                            |
| ------------------- | -------------------------------- |
| Model id            | `tavily-search`                  |
| Model release date  | -                                |
| Input modalities    | Text                             |
| Output modalities   | Text                             |
| Context window      | -                                |
| Weight precision    | -                                |
| Features            | web\_search, crawl, extract, map |
| Native inference    | No                               |
| New                 | No                               |
| Supported endpoints | `POST /v1/search`                |

## Pricing

| Charge                         | Spec         | Rate     |
| ------------------------------ | ------------ | -------- |
| Search (Basic/Fast/Ultra-Fast) | per search   | \$0.0096 |
| Search (Advanced)              | per search   | \$0.019  |
| Search (Advanced + Answer)     | per search   | \$0.029  |
| Extract (Basic)                | per 5 URLs   | \$0.0096 |
| Extract (Advanced)             | per 5 URLs   | \$0.019  |
| Crawl/Map (basic)              | per 10 pages | \$0.0096 |

## Example request

```bash
curl https://api.empiriolabs.ai/v1/search \
  -H 'Authorization: Bearer $EMPIRIOLABS_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"model": "tavily-search", "query": "latest LLM benchmarks 2026"}'
```

## Parameters

| Parameter                    | Type    | Required | Default      | Description                                                                                                                                                          |
| ---------------------------- | ------- | -------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `query`                      | string  | yes      | -            | The natural-language search query.                                                                                                                                   |
| `operation_mode`             | enum    | no       | `"Search"`   | search \| extract \| crawl \| map. Determines which Tavily endpoint runs. · Allowed: `Search`, `Crawl`, `Extract`, `Map`                                             |
| `search_depth`               | enum    | no       | `"basic"`    | basic = fast and cheap, advanced = deeper crawl per result with full content. · Allowed: `basic`, `advanced`                                                         |
| `search_chunks_per_source`   | number  | no       | `3`          | Number of relevant content chunks to extract per source. · Range: 1 – 3                                                                                              |
| `search_topic`               | enum    | no       | `"general"`  | Search topic preset (general, news, finance, etc.). Alias of topic. · Allowed: `general`, `news`, `finance`                                                          |
| `include_answer`             | boolean | no       | true         | basic \| advanced \| false. Returns a synthesized answer alongside the results.                                                                                      |
| `include_raw_content`        | boolean | no       | false        | Include the raw HTML content alongside cleaned text.                                                                                                                 |
| `include_images`             | boolean | no       | false        | Include image URLs from the search results.                                                                                                                          |
| `include_image_descriptions` | boolean | no       | false        | Include AI-generated descriptions of returned images.                                                                                                                |
| `include_favicon`            | boolean | no       | false        | Include the favicon URL of each source.                                                                                                                              |
| `auto_parameters`            | boolean | no       | false        | Let Tavily auto-pick search\_depth and other knobs based on the query.                                                                                               |
| `max_results`                | number  | no       | `5`          | Maximum number of results to return (1-50). · Range: 1 – 20                                                                                                          |
| `time_range`                 | enum    | no       | -            | day \| week \| month \| year. Restrict results to this recency window. · Allowed: `day`, `week`, `month`, `year`                                                     |
| `start_date`                 | string  | no       | -            | Only include sources published after this date (YYYY-MM-DD).                                                                                                         |
| `end_date`                   | string  | no       | -            | Only include sources published before this date (YYYY-MM-DD).                                                                                                        |
| `country`                    | string  | no       | -            | Two-letter ISO 3166-1 code (US, GB, etc.) for biasing results to a country.                                                                                          |
| `include_domains`            | string  | no       | -            | Comma-separated allowlist of domains. Only results from these domains are returned.                                                                                  |
| `exclude_domains`            | string  | no       | -            | Comma-separated denylist of domains to filter out.                                                                                                                   |
| `topic`                      | enum    | no       | `"general"`  | Search topic preset. general (default), news (recent news), or finance (markets / business). Also accepted as search\_topic. · Allowed: `general`, `news`, `finance` |
| `days`                       | number  | no       | -            | Recency window for the news topic, in days back from today. · Range: 1 – 365                                                                                         |
| `crawl_limit`                | number  | no       | `10`         | Max number of pages to crawl from the starting URL. · Range: 1 – 500                                                                                                 |
| `crawl_max_depth`            | number  | no       | `1`          | Maximum link-depth from the starting URL. · Range: 1 – 5                                                                                                             |
| `crawl_max_breadth`          | number  | no       | `20`         | Maximum number of links to follow per page. · Range: 1 – 50                                                                                                          |
| `crawl_extract_depth`        | enum    | no       | `"basic"`    | How deeply to extract content from each crawled page. · Allowed: `basic`, `advanced`                                                                                 |
| `crawl_format`               | enum    | no       | `"markdown"` | Output format for crawled content (markdown \| text \| html). · Allowed: `markdown`, `text`                                                                          |
| `crawl_instructions`         | string  | no       | -            | Natural-language instructions for what to look for during crawl.                                                                                                     |
| `crawl_chunks_per_source`    | number  | no       | -            | Number of content chunks to extract from each crawled page. · Range: 1 – 5                                                                                           |
| `crawl_select_paths`         | string  | no       | -            | Comma-separated URL paths to include in the crawl.                                                                                                                   |
| `crawl_exclude_paths`        | string  | no       | -            | Comma-separated URL paths to exclude from the crawl.                                                                                                                 |
| `crawl_select_domains`       | string  | no       | -            | Comma-separated domains the crawl is restricted to.                                                                                                                  |
| `crawl_exclude_domains`      | string  | no       | -            | Comma-separated domains the crawl will skip.                                                                                                                         |
| `crawl_allow_external`       | boolean | no       | false        | Allow the crawler to follow links to external domains.                                                                                                               |
| `crawl_include_images`       | boolean | no       | false        | Include image URLs in the crawl output.                                                                                                                              |
| `crawl_include_favicon`      | boolean | no       | false        | Include each crawled page's favicon URL.                                                                                                                             |
| `crawl_timeout`              | number  | no       | `60`         | Crawl timeout in seconds. · Range: 5 – 300                                                                                                                           |
| `extract_depth`              | enum    | no       | `"basic"`    | basic \| advanced. Advanced extraction reads JavaScript-rendered content. · Allowed: `basic`, `advanced`                                                             |
| `extract_format`             | enum    | no       | `"markdown"` | Output format for extracted content (markdown \| text \| html). · Allowed: `markdown`, `text`                                                                        |
| `extract_query`              | string  | no       | -            | Natural-language query to filter / focus the extracted content.                                                                                                      |
| `extract_chunks_per_source`  | number  | no       | -            | Number of content chunks to extract from each URL. · Range: 1 – 5                                                                                                    |
| `extract_include_images`     | boolean | no       | false        | Include image URLs in the extract output.                                                                                                                            |
| `extract_include_favicon`    | boolean | no       | false        | Include the source page's favicon URL.                                                                                                                               |
| `extract_timeout`            | number  | no       | `10`         | Extract timeout in seconds. · Range: 1 – 60                                                                                                                          |
| `map_limit`                  | number  | no       | `50`         | Max number of URLs to map from the starting site. · Range: 1 – 100                                                                                                   |
| `map_depth`                  | number  | no       | `1`          | Maximum link-depth from the starting URL. · Range: 1 – 5                                                                                                             |
| `map_breadth`                | number  | no       | `20`         | Maximum number of links to follow per page during mapping. · Range: 1 – 50                                                                                           |
| `map_instructions`           | string  | no       | -            | Natural-language instructions for what URLs to find during mapping.                                                                                                  |
| `map_select_paths`           | string  | no       | -            | Comma-separated URL paths the map is restricted to.                                                                                                                  |
| `map_exclude_paths`          | string  | no       | -            | Comma-separated URL paths the map will skip.                                                                                                                         |
| `map_select_domains`         | string  | no       | -            | Comma-separated domains the map is restricted to.                                                                                                                    |
| `map_exclude_domains`        | string  | no       | -            | Comma-separated domains the map will skip.                                                                                                                           |
| `map_allow_external`         | boolean | no       | false        | Allow the mapper to follow links to external domains.                                                                                                                |
| `map_timeout`                | number  | no       | `60`         | Map timeout in seconds. · Range: 5 – 300                                                                                                                             |
| `disable_formatting`         | boolean | no       | false        | Skip the EmpirioLabs Markdown formatting (Sources / Results / Code blocks added by the renderer). The raw upstream Tavily JSON is returned for power users / agents. |

## Notes

**Operations**

* Search, Crawl, Extract, Map

**Search depths**

* basic, advanced, fast, ultra-fast

**Topics**

* general, news, finance

---

*Machine-readable schema:* `GET https://api.empiriolabs.ai/v1/models/tavily-search`.