Tavily is a web access layer built specifically for AI agents and large language model (LLM) applications, providing real-time search, content extraction, crawling, and site mapping in formats optimized for machine consumption rather than human browsing. Its Search API returns ranked, relevance-scored results with optional AI-generated answer summaries, while its Extract, Crawl, and Map APIs retrieve cleaned page content and site structure from specific URLs or entire domains. Developers use Tavily to ground LLM agents and retrieval-augmented generation (RAG) pipelines in current, structured web data through a single API integration.
Power end-to-end data operations for your Tavily API API with Nexla. Our bi-directional Tavily API connector is purpose-built for Tavily API, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Tavily API or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Tavily API workflows fast, secure, and fully governed.
Features
Type: API
SourceDestination
Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
Request optimization with intelligent batching, retry, and caching to minimize API calls and costs
Before creating a Tavily API credential in Nexla, you need a Tavily API key. Tavily authenticates all API requests using a bearer token sent in the Authorization header, and every new account receives 1,000 free API credits per month with no credit card required.
To obtain your Tavily API key:
Sign in to the Tavily Platform at app.tavily.com, or sign up for a free account if you don't already have one.
Once signed in, your API keys are listed on the dashboard under the API Keys section. A default key is created automatically for new accounts.
To generate an additional key, click the + button next to the API Keys section, give it a distinctive name, and choose a Development or Production rate-limit tier.
Copy the key value, which begins with the prefix tvly- (for example, tvly-AbCdEfGh12345678).
Tavily sends the API key as a bearer token in the Authorization header (Authorization: Bearer tvly-YOUR_API_KEY) on every request. Treat the key as a secret — do not share it publicly or commit it to source control. For more information about API keys, plans, and usage limits, see the Tavily API Reference and Tavily Help Center.
After selecting the data source type, click the Add Credential tile to open the Add New Credential overlay.
Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.
Enter your Tavily API key in the API Key Value field. This is the key you generated in Prerequisites, sent as a bearer token in the Authorization header on every request to the Tavily API.
If your API key is compromised, revoke it and generate a new one from your Tavily dashboard. For more on managing keys, usage, and rate limits, see the Tavily API Reference.
Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source creation.
To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Tavily API connector tile, then select the credential that will be used to connect to the Tavily API, and click Next; or, create a new Tavily API credential for use in this flow.
Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Tavily endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.
Search — Basic
This endpoint template sends a query to the Tavily Search API using basic search depth, returning ranked, relevance-scored results for general topics. Use it for straightforward keyword or natural-language searches where speed and cost matter more than exhaustive source coverage.
Sends a POST request to https://api.tavily.com/search with search_depth set to basic, topic set to general, and max_results set to 5. AI-generated answer summaries and images are excluded from the response (include_answer and include_images are set to false).
Basic search depth consumes 1 API credit per request. Set the Query field to the search string you want Tavily to run. Response data is extracted from $.results[*]. For more on search parameters and credit costs, see the Tavily Search API Reference.
Search — Advanced
This endpoint template runs an advanced-depth search, returning more results with multiple content chunks per source and an AI-generated advanced answer summary. Use it when relevance and depth of content matter more than latency, such as research tasks that need well-supported answers.
Sends a POST request to https://api.tavily.com/search with search_depth set to advanced, max_results set to 10, chunks_per_source set to 3, include_answer set to advanced, and include_raw_content set to markdown so each result includes cleaned page content in Markdown format.
Advanced search depth consumes 2 API credits per request rather than 1. Response data is extracted from $.results[*].
Search — News
This endpoint template searches within Tavily's news topic category and restricts results to the past week, making it suited for tracking current events, breaking news, or recent developments on a subject.
Sends a POST request to https://api.tavily.com/search with topic set to news and time_range set to week. An AI-generated answer summarizing the results is included (include_answer: true).
Adjust time_range (for example, day, month, or year) in the request body to widen or narrow the recency window. Response data is extracted from $.results[*].
Search — Finance
This endpoint template searches within Tavily's finance topic category over the past month, useful for pulling market commentary, earnings coverage, or financial news related to a company or ticker.
Sends a POST request to https://api.tavily.com/search with topic set to finance and time_range set to month. An AI-generated answer summarizing the results is included.
Response data is extracted from $.results[*]. See the Tavily Search API Reference for the full list of topic and time range values.
Search — With Domain Filters
This endpoint template restricts search results to a whitelist of trusted domains while excluding a blacklist of others, useful when you need results only from authoritative or vendor-specific sources.
Sends a POST request to https://api.tavily.com/search with include_domains preset to kubernetes.io and cncf.io, and exclude_domains preset to medium.com. Up to 300 domains can be included and 150 excluded per request.
Edit the include_domains and exclude_domains arrays in the request body to target the domains relevant to your use case. Response data is extracted from $.results[*].
Search — Date Range
This endpoint template restricts search results to a fixed calendar date range, useful for retrieving content published within a specific historical window rather than relative to the current date.
Sends a POST request to https://api.tavily.com/search with start_date and end_date preset to 2025-01-01 and 2025-03-31 respectively, in YYYY-MM-DD format.
Edit start_date and end_date in the request body, or replace them with date/time macros to make the range relative to the flow's run date. Response data is extracted from $.results[*].
Search — Auto Parameters
This endpoint template lets Tavily automatically infer optimal search settings, such as depth and topic, based on the content of the query itself rather than requiring them to be manually configured.
Sends a POST request to https://api.tavily.com/search with auto_parameters set to true, allowing Tavily to dynamically adjust parameters like search_depth and topic per query. An AI-generated answer is included.
Response data is extracted from $.results[*]. See the Tavily Search API Reference for details on how auto parameters are inferred.
Extract — Single URL
This endpoint template retrieves and cleans the content of a single web page, returning it as Markdown. Use it when you already know the exact URL you want content from, such as pulling the body of a specific article or documentation page.
Sends a POST request to https://api.tavily.com/extract with urls set to a single URL string, extract_depth set to basic, and format set to markdown.
Basic extraction depth consumes 1 credit per 5 URLs. Response data is extracted from $.results[*]. For more, see the Tavily Extract API Reference.
Extract — Multiple URLs
This endpoint template retrieves and cleans content from multiple web pages in a single request, returning each page's content as Markdown. Use it to batch-extract content from several known URLs at once.
Sends a POST request to https://api.tavily.com/extract with urls set to an array of URL strings (up to 20 URLs per request) and format set to markdown.
Response data is extracted from $.results[*], with one record per successfully extracted URL.
Extract — Advanced with Query Reranking
This endpoint template extracts content from one or more URLs using advanced extraction depth, then reranks the extracted content chunks by relevance to a supplied query. Use it when you need only the portions of a page most relevant to a specific question, rather than the full page content.
Sends a POST request to https://api.tavily.com/extract with extract_depth set to advanced, chunks_per_source set to 5, and a query parameter that Tavily uses to rank and return the most relevant content chunks from each URL.
Advanced extraction depth consumes 2 credits per 5 URLs. Response data is extracted from $.results[*].
Crawl — Basic
This endpoint template starts at a root URL and crawls linked pages within the site, extracting and returning the content of each page it visits. Use it to gather content from an entire section of a website rather than a single known page.
Sends a POST request to https://api.tavily.com/crawl with url set to the root URL, max_depth set to 1 (pages directly linked from the root), max_breadth set to 20 links per page, and limit set to 50 total pages.
Crawls without an instructions value consume 1 credit per 10 successfully crawled pages. Response data is extracted from $.results[*]. For more, see the Tavily Crawl API Reference.
Crawl — With Instructions
This endpoint template uses a natural-language instruction to guide Tavily's crawler toward pages relevant to a specific topic, rather than crawling every link it finds. Use it when you want the crawler to focus on a particular section or subject within a site.
Sends a POST request to https://api.tavily.com/crawl with a preset instructions value of Find all pages on the Python SDK, max_depth set to 2, and max_breadth set to 20. Edit the instructions value in the request body to target a different topic.
Providing instructions increases the crawl cost to 2 credits per 10 successfully crawled pages, versus 1 credit per 10 pages for crawls without instructions. Response data is extracted from $.results[*].
Crawl — With Path Filters
This endpoint template crawls a site while restricting results to URL paths matching specific regular expression patterns, and excluding others. Use it to scope a deep crawl to documentation or SDK sections of a site while skipping changelogs or examples.
Sends a POST request to https://api.tavily.com/crawl with select_paths preset to /documentation/.* and /sdk/.*, exclude_paths preset to /changelog.* and /examples.*, max_depth set to 3, max_breadth set to 50, limit set to 100, and allow_external set to false so the crawl stays within the root domain.
select_paths and exclude_paths accept regular expression patterns. Response data is extracted from $.results[*].
Map — Basic
This endpoint template discovers and returns the URL structure of a site starting from a root URL, without extracting page content. Use it to quickly inventory the pages that exist on a site before deciding which ones to crawl or extract in detail.
Sends a POST request to https://api.tavily.com/map with url set to the root URL, max_depth set to 1, max_breadth set to 20, limit set to 50, and allow_external set to true so links to other domains are included in the results.
Because Map does not extract page content, it is faster and less costly than Crawl when you only need the list of URLs on a site. Response data is extracted from $.results[*]. For more, see the Tavily Map API Reference.
Map — Deep with Path Filters
This endpoint template performs a deeper site map, following links up to 3 levels from the root while restricting results to documentation paths and excluding changelog pages. Use it to build a comprehensive URL inventory of a specific section of a large site.
Sends a POST request to https://api.tavily.com/map with max_depth set to 3, max_breadth set to 100, limit set to 200, select_paths preset to /documentation/.*, exclude_paths preset to /changelog.*, and allow_external set to false.
Response data is extracted from $.results[*].
Map — With Instructions
This endpoint template uses a natural-language instruction to guide site mapping toward pages relevant to a specific topic, rather than mapping every link on the site. Use it when you want a targeted URL inventory rather than a full site map.
Sends a POST request to https://api.tavily.com/map with a preset instructions value of Find all API reference pages, max_depth set to 2, and max_breadth set to 30. Edit the instructions value in the request body to target a different topic.
Providing instructions increases the mapping cost to 2 credits per 10 pages, versus 1 credit per 10 pages without instructions. Response data is extracted from $.results[*].
Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.
Tavily API sources can also be manually configured to ingest data from any valid Tavily API endpoint, including endpoints not covered by the pre-built templates, additional search or extraction parameters, or custom request bodies. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, request body, path to data, metadata, and request headers.
All Tavily endpoints (/search, /extract, /crawl, and /map) accept POST requests with a JSON body sent to https://api.tavily.com, and each returns response data at $.results[*]. For the complete list of request and response parameters for every endpoint, see the Tavily API Reference.
Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Tavily API data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.