Setu Recipes: reusable digital workers across every app.Browse templates

Integrations / Firecrawl

Firecrawl

Scrape, search, map and crawl websites into clean markdown for AI.

5 actions API key 4 read1 write Calls api.firecrawl.dev

Connect

TypeScript
const conn = await setu.connections.initiate({ userId: "user_1", toolkit: "firecrawl" });
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

Get crawl statusreadfirecrawl.get_crawl_statusCheck a crawl job by id and get its status, progress counts and the pages scraped so far.
InputTypeDescription
idstringRequiredCrawl job id returned by start_crawl
TypeScript
await setu.execute({
  userId: "user_1",
  action: "firecrawl.get_crawl_status",
  input: {
    "id": "<id>"
  },
});
Map a websitereadfirecrawl.mapList the URLs of a website quickly, optionally ordered by relevance to a search term.
InputTypeDescription
urlstringRequiredBase URL to map
searchstringOptionalOrder results by relevance to this query
sitemapstringOptionalHow to use the sitemap
includeSubdomainsbooleanOptionalInclude subdomains (default true)
limitintegerOptionalMaximum links, up to 100000 (default 5000)
TypeScript
await setu.execute({
  userId: "user_1",
  action: "firecrawl.map",
  input: {
    "url": "<url>"
  },
});
Scrape a pagereadfirecrawl.scrapeScrape one URL and return its content as markdown (or other formats) plus metadata.
InputTypeDescription
urlstringRequiredURL to scrape
formatsarray of stringOptionalOutput formats, e.g. markdown, html, links, summary (default markdown)
onlyMainContentbooleanOptionalReturn only the main content (default true)
waitForintegerOptionalMilliseconds to wait before scraping
timeoutintegerOptionalTimeout in milliseconds
TypeScript
await setu.execute({
  userId: "user_1",
  action: "firecrawl.scrape",
  input: {
    "url": "<url>"
  },
});
Start a crawlwritefirecrawl.start_crawlStart an asynchronous crawl of a website from a base URL. Returns a job id to poll with get_crawl_status.
InputTypeDescription
urlstringRequiredBase URL to start crawling from
limitintegerOptionalMaximum pages to crawl
maxDiscoveryDepthintegerOptionalMaximum link depth from the start page
includePathsarray of stringOptionalRegex patterns of paths to include
excludePathsarray of stringOptionalRegex patterns of paths to exclude
allowExternalLinksbooleanOptionalFollow external links one hop
allowSubdomainsbooleanOptionalFollow subdomains
scrapeOptionsobjectOptionalPer-page scrape settings, e.g. {"formats": ["markdown"]}
TypeScript
await setu.execute({
  userId: "user_1",
  action: "firecrawl.start_crawl",
  input: {
    "url": "<url>"
  },
});