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 Map endpoint that traverses websites and returns a list of discovered URLs without extracting page content, which is ideal for understanding site structure or locating specific pages on a large site.

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 URLs returned per level. Default is 50.
  • limit (optional, number): Maximum total number of URLs to return. Default is 100.
  • instructions (optional, string): Natural-language instructions that guide the map traversal.
  • selectPaths (optional, string[]): Only include URLs containing these path regexes.
  • selectDomains (optional, string[]): Only include URLs from 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 map to follow external links.
For a comprehensive overview of the available parameters, refer to the Tavily Map API documentation.

Invocation

Invoke directly with args

The Tavily map tool accepts the following arguments during invocation:
  • url (required): The base URL to start mapping 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 map tool directly with a LangChain agent by passing it to createAgent. The agent can dynamically set url, instructions, and the path/domain filters to discover the URLs it needs.

API reference

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