Boosted domains for Search
Newinclude_domains_mode parameter for Search.include_domains_modecontrols howinclude_domainsis applied. Set it to"prefer"to also search the rest of the web, so results outsideinclude_domainscan still surface, or"restrict"to keep the existing hard-filter behavior. Requiresinclude_domainsto be set, or the request returns a400.- Supported domain types: plain domains and subdomains (e.g.
wikipedia.org,en.wikipedia.org), with or without a protocol orwww.prefix. Wildcards, regex, and URLs with a path, query, or fragment are not supported. - Hard-filter matching: under
include_domains_mode="restrict"and forexclude_domains, listing a domain (e.g.wikipedia.org) matches that domain and all its subdomains, while listing a subdomain (e.g.en.wikipedia.org) matches only that exact host.
Safe search for everyone
safe_search is now available on all plans. Set "safe_search": true in your Search request to drop adult and unsafe content from results and images. Defaults to false. Not supported for fast or ultra-fast search depths.Language boosting and filtering for Search
Newlanguage and filter_by_language parameters for Search.languageboosts results in a specific language. Accepts an ISO 639-1 code (e.g.en,fr,zh-cn) or an English language name (e.g.english,french).filter_by_language, whentrue, strictly drops results that don’t matchlanguageinstead of only boosting them in ranking. Requireslanguageto be set, or the request returns a400.
Logs API: filter by API key and Research endpoint
The Logs endpoint can now return logs for the calling API key only, and filter by the Research endpoint.filter_by_api_key(boolean, defaultfalse): whentrue, only logs for the API key in theAuthorizationheader are returned, instead of logs for all API keys under your account or organization.researchis now a valid value in theendpointsfilter, alongsidesearch,extract,map, andcrawl.
Chunked content for basic search
search_depth=basic now returns reranked chunks, and chunks_per_source applies to it.- Basic search now returns chunks.
basicpreviously returned a single page summary per source. It now returns multiple semantically relevant snippets per URL, soresults[].contentmay contain several chunks joined by[...]. chunks_per_sourcenow applies tobasic. It previously affectedadvancedandfast, and now controls the number of chunks per source at those depths plusbasic.- Choosing between depths.
advancedstill offers broader coverage and the highest relevance at higher latency. See basic vs advanced.
Session tracking headers
Attach session and end-user identifiers to any API request so it can be attributed to a session or end-user. See Session Tracking.X-Session-Id: opaque identifier for a session of related requests (e.g. all calls from one user conversation).X-Human-Id: opaque identifier for the end-user behind the request. Useful when a single API key serves many users.- Populated automatically by the Tavily MCP server. Local MCP generates a per-process session ID and forwards
HUMAN_ID; remote MCP derives the session ID from the MCPinitializehandshake.
Domain filtering and output length for Research
Newinclude_domains, exclude_domains, and output_length parameters for Research.include_domains(arrayofstring, default[], max 20): a soft preference. The research agent prioritizes these domains, but URLs from other domains can still appear in the report. Matching is host-based and includes subdomains (e.g.sec.govmatchesdata.sec.gov).exclude_domains(arrayofstring, default[], max 20): a hard blocklist. No URL from a listed domain or its subdomains appears in the response. Matching is downward only: blockingmedium.comalso blocksblog.medium.com, but blockingblog.medium.comleavesmedium.comallowed.output_length(short,standard, orlong; defaultstandard): typed control over response size. Ranges are targets, not hard caps.
Enterprise API key management endpoints
Enterprise users can now manage API keys programmatically:POST /generate-keys: generate new API keys for your organization.POST /deactivate-keys: deactivate existing API keys.GET /key-info: retrieve information about an existing API key.
Exact match parameter
Newexact_match parameter (boolean, default false) for Search. It returns only results containing the exact quoted phrase(s) in your query, bypassing synonyms and semantic variations.- Wrap target phrases in quotes within your query, e.g.
"John Smith" CEO Acme Corp. - Because it narrows retrieval, it may return fewer results, or empty result fields when no exact matches are found.
- Best suited for due diligence, data enrichment, and legal or compliance use cases that need verbatim matches.
Project tracking with the X-Project-ID header
Attach a project ID to your API requests to organize and track usage by project. Useful when one API key is used across several projects or applications.- HTTP header: add
X-Project-ID: your-project-idto any API request. - Python SDK: pass
project_id="your-project-id"when creating the client, or set theTAVILY_PROJECTenvironment variable. - JavaScript SDK: pass
projectId: "your-project-id"when creating the client, or set theTAVILY_PROJECTenvironment variable. - An API key can be associated with multiple projects.
- Filter requests by project in the
/usageendpoint and the platform usage dashboard.
New search depths: fast and ultra-fast (beta)
Thesearch_depth parameter has two new options:fast(beta): optimized for low latency while keeping high relevance to the query. Costs 1 API credit.ultra-fast(beta): optimized strictly for latency. Costs 1 API credit.
Intent-based extraction
Newquery and chunks_per_source parameters for Extract and Crawl.query(Extract,string): user intent for reranking extracted content chunks by relevance.chunks_per_source(Extract and Crawl,integer, 1 to 5, default 3): the maximum number of relevant chunks returned per source, which controlsraw_contentlength. Chunks are short snippets (up to 500 characters each) and appear inraw_contentas<chunk 1> [...] <chunk 2> [...] <chunk 3>. Available only whenquery(Extract) orinstructions(Crawl) is provided.
Include usage parameter
Setinclude_usage (boolean, default false) to true to get credit usage in the response for Search, Extract, Crawl, and Map. The response then includes a usage object with credits information.The value may be 0 if total successful calls haven’t reached the minimum threshold. See Credits & Pricing for details.Vercel AI SDK v5 integration
The new@tavily/ai-sdk package provides ready-to-use tools for Vercel’s AI SDK v5: tavilySearch, tavilyExtract, tavilyCrawl, and tavilyMap. It has full TypeScript support. See the integration guide to get started.Crawl and Map timeout parameter
Newtimeout parameter for Crawl and Map to control how long to wait before the operation times out.- Type:
float - Range: 10 to 150 seconds
- Default: 150 seconds
Team roles and permissions
You can now assign roles to team members. Each team has one owner, and can have multiple admins and members. Roles differ in their Billing and Settings permissions:Extract timeout parameter
Newtimeout parameter for Extract to control how long to wait for URL extraction before timing out.- Type:
number(float) - Range: 1.0 to 60.0 seconds
- Default: if not set, the timeout depends on
extract_depth: 10 seconds forbasicand 30 seconds foradvanced.
Start date and end date parameters
Newstart_date and end_date parameters for Search, both in YYYY-MM-DD format.start_datereturns results after the given date.end_datereturns results before the given date.- For example, set
start_dateto2025-01-01andend_dateto2025-04-01to get results strictly from that range.
Usage dashboard
Paid users and teams can log in to view the usage dashboard:- Usage graph: daily usage across all Tavily endpoints, with history for month-over-month usage and spend comparison.
- Logs table: per-request detail for visibility and traceability of every Tavily call.
Include favicon parameter
Setinclude_favicon to true to get the favicon URL (if available) for each result in Search, Extract, and Crawl. Useful for showing site icons next to results.Auto parameters
Newauto_parameters parameter (boolean, default false) for Search. When enabled, Tavily configures search parameters automatically based on the query’s content and intent. Parameters you set explicitly override the automatic ones.include_answer,include_raw_content, andmax_resultsmust always be set manually, since they affect response size.search_depthmay be set toadvancedautomatically when that’s likely to improve results, which costs 2 API credits per request. Setsearch_depthtobasicexplicitly to avoid the extra cost.
Usage endpoint
Check your API usage and plan limits with the/usage endpoint: send GET https://api.tavily.com/usage with your API key to monitor your account in real time.Country parameter
Newcountry parameter for Search boosts results from a specific country. Available only when topic is general.Make and n8n integrations
- n8n: add real-time web search and content extraction to your n8n workflows without writing code.
- Make: bring real-time online information into your Make workflows and automations without writing code.
Markdown format for Extract
Newformat parameter for Extract sets the format of extracted content: markdown (default) or text. text returns plain text and may increase latency.Advanced search and chunks per source
Newsearch_depth and chunks_per_source parameters for Search.search_depth(basicoradvanced, defaultbasic):advancedretrieves the most relevant sources and content snippets for your query, whilebasicreturns generic snippets from each source.basiccosts 1 API credit;advancedcosts 2.chunks_per_source: the maximum number of relevant chunks (short snippets up to 500 characters each) returned per source, which controls content length. Chunks appear in thecontentfield as<chunk 1> [...] <chunk 2> [...] <chunk 3>. Available only whensearch_depthisadvanced. Range: 1 to 3.
Tavily Crawl (beta)
Tavily Crawl traverses a website like a graph: it starts from a base URL and discovers and extracts content from linked pages. You can:- Set the starting URL and let the crawler follow links to map the site structure.
- Control the depth and breadth of the crawl to focus on specific sections or cover the whole site.
- Apply filters and custom instructions to target the most relevant pages or content types.
- Aggregate extracted content for analysis, reporting, or your own workflows.