Skip to main content
Tavily is a search engine built specifically for AI agents (LLMs), delivering real-time, accurate, and factual results at speed. Tavily offers a Crawl endpoint that performs a structured web traversal from a starting URL, with built-in content extraction and intelligent discovery.

Overview

Integration details

Tool features

Setup

The integration lives in the @langchain/tavily package, which you can install as shown below:

Credentials

Set up a Tavily API key and set it as an environment variable named TAVILY_API_KEY.
It’s also helpful (but not needed) to set up LangSmith for best-in-class observability:

Instantiation

The tool accepts the following parameters during instantiation:
  • maxDepth (optional, number): Maximum number of hops from the starting URL. Default is 3.
  • maxBreadth (optional, number): Maximum number of pages to crawl per level. Default is 50.
  • limit (optional, number): Maximum total number of pages to crawl. Default is 100.
  • instructions (optional, string): Natural-language instructions that guide the crawler.
  • selectPaths (optional, string[]): Only crawl URLs containing these path regexes.
  • selectDomains (optional, string[]): Only crawl these domain regexes.
  • excludePaths (optional, string[]): Skip URLs containing these path regexes.
  • excludeDomains (optional, string[]): Skip URLs from these domain regexes.
  • allowExternal (optional, boolean): Allow the crawler to follow external links.
  • extractDepth (optional, string): "basic" or "advanced" extraction depth for each crawled page. Default is "basic".
  • format (optional, string): "markdown" or "text" content format. Default is "markdown".
  • includeImages (optional, boolean): Include images discovered on each page. Default is false.
For a comprehensive overview of the available parameters, refer to the Tavily Crawl API documentation.

Invocation

Invoke directly with args

The Tavily crawl tool accepts the following arguments during invocation:
  • url (required): The base URL to start crawling from.
  • The following arguments can also be set during invocation: instructions, selectPaths, selectDomains, excludePaths, excludeDomains, allowExternal.
NOTE: The optional arguments are available for agents to dynamically set. If you set an argument during instantiation and then invoke the tool with a different value, the tool will use the value you passed during invocation.

Invoke with ToolCall

We can also invoke the tool with a model-generated ToolCall, in which case a ToolMessage will be returned:

Use within an agent

We can use the crawl tool directly with a LangChain agent by passing it to createAgent. The agent can dynamically set url, instructions, and the path/domain filters as part of its tool call.

API reference

For detailed documentation of all Tavily Crawl API features and configurations head to the API reference: docs.tavily.com/documentation/api-reference/endpoint/crawl