Integrations / Tavily
Tavily
AI-oriented web search, page extraction, site crawling and site mapping.
5 actions
API key
5 read0 write
Calls api.tavily.com
Connect
const conn = await setu.connections.initiate({ userId: "user_1", toolkit: "tavily" });
console.log(conn.connectUrl); // show this to your user
await conn.waitUntilActive();Permissions requested
This toolkit uses a single credential and requests no scopes.
Actions
Crawl a websitereadtavily.crawlCrawl a website from a root URL and return the extracted content of each page found. Can take a while and costs credits per page.
| Input | Type | Description | |
|---|---|---|---|
url | string | Required | Root URL to begin the crawl |
instructions | string | Optional | Natural-language instructions for the crawler |
max_depth | integer | Optional | How far from the root to go, 1 to 5 (default 1) |
max_breadth | integer | Optional | Links followed per page, 1 to 500 (default 20) |
limit | integer | Optional | Total pages to process (default 50) |
select_paths | array of string | Optional | Regex patterns of paths to include |
exclude_paths | array of string | Optional | Regex patterns of paths to exclude |
format | string | Optional | Output format |
await setu.execute({
userId: "user_1",
action: "tavily.crawl",
input: {
"url": "<url>"
},
});Extract page contentreadtavily.extractFetch and extract the readable content of one or more URLs (up to 20) as markdown or text, optionally reranked by a query.
| Input | Type | Description | |
|---|---|---|---|
urls | array of string | Required | URLs to extract, 1 to 20 |
query | string | Optional | Rerank extracted chunks by relevance to this query |
extract_depth | string | Optional | basic or advanced (tables, embedded content) |
format | string | Optional | Output format |
await setu.execute({
userId: "user_1",
action: "tavily.extract",
input: {
"urls": []
},
});Get API usagereadtavily.get_usageGet this API key's credit usage and limit, plus the account's plan and usage.
No input.
await setu.execute({
userId: "user_1",
action: "tavily.get_usage",
input: {},
});Map a websitereadtavily.mapBuild a map of a website: return the list of URLs found from a root URL without extracting page content.
| Input | Type | Description | |
|---|---|---|---|
url | string | Required | Root URL to begin mapping |
instructions | string | Optional | Natural-language instructions for the crawler |
max_depth | integer | Optional | How far from the root to go, 1 to 5 (default 1) |
max_breadth | integer | Optional | Links followed per page, 1 to 500 (default 20) |
limit | integer | Optional | Total links to process (default 50) |
select_paths | array of string | Optional | Regex patterns of paths to include |
exclude_paths | array of string | Optional | Regex patterns of paths to exclude |
await setu.execute({
userId: "user_1",
action: "tavily.map",
input: {
"url": "<url>"
},
});Search the webreadtavily.searchSearch the web with Tavily and return ranked results with content snippets, optionally with a short LLM-written answer.
| Input | Type | Description | |
|---|---|---|---|
query | string | Required | The search query |
search_depth | string | Optional | Search depth |
topic | string | Optional | Search topic |
max_results | integer | Optional | Number of results, 0 to 20 (default 10) |
time_range | string | Optional | Only results from this period |
include_answer | boolean | Optional | Include an LLM-generated answer |
include_domains | array of string | Optional | Only search these domains |
exclude_domains | array of string | Optional | Never return these domains |
await setu.execute({
userId: "user_1",
action: "tavily.search",
input: {
"query": "<query>"
},
});