> ## Documentation Index
> Fetch the complete documentation index at: https://docs.atako.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Firecrawl

> Connect Firecrawl to your Atako agents — 6 read and 3 write actions.

Let your agents scrape web pages, map sites, search the web, crawl entire websites and extract structured data via the Firecrawl API.

## Connection

* **Authentication**: API key.

<Note>
  Sign in at firecrawl.dev → Settings → API Keys → Create Key. Name it and copy the key (starts with fc-). Every call consumes credits billed by Firecrawl on your account (see your plan on firecrawl.dev/pricing).

  See [Firecrawl's documentation](https://firecrawl.dev/app/api-keys).
</Note>

## Read actions (6)

| Action           | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `crawl_status`   | Fetch the status and results of a crawl job. Arguments: crawl\_id (string, required — the crawl job ID returned by crawl\_start).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `extract_status` | Fetch the status and result of an extract job started by extract. Arguments: extract\_id (string, required — the extract job ID returned by extract).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `map`            | Fetch and map a website, returning a list of all discovered URLs. Consumes 1 credit. Arguments: url (string, required — the root URL to map), search (string, optional — filter URLs by keyword), sitemap (string, optional — "skip" \| "include" \| "only", default "skip"), includeSubdomains (boolean, optional — include subdomains, default false), ignoreQueryParameters (boolean, optional — strip query params from URLs, default false), limit (number, optional — max URLs 1–100000), timeout (number, optional — max ms for the request).                                                                                                                                                                       |
| `scrape`         | Fetch and scrape a single URL, returning its content as markdown, HTML, links, or a screenshot. Consumes 1 credit per request. Arguments: url (string, required — the page to scrape), formats (array of "markdown" \| "html" \| "links" \| "screenshot" \| "rawHtml", optional — output formats, default \["markdown"]), onlyMainContent (boolean, optional — skip nav/footer, default true), includeTags (array of strings, optional — HTML tags to include), excludeTags (array of strings, optional — HTML tags to exclude), waitFor (number, optional — ms to wait for dynamic content), timeout (number, optional — max ms, 1000–300000, default 30000), proxy (string, optional — "basic" \| "enhanced" \| "auto"). |
| `search`         | Search the web and optionally scrape each result. Consumes 1 credit per result (more with scrapeOptions). Arguments: query (string, required, 1–500 chars — the search query), limit (number, optional — max results 1–100), includeDomains (array of strings, optional — restrict to these domains), excludeDomains (array of strings, optional — exclude these domains), tbs (string, optional — time-based search filter), location (string, optional — geographic location for results), country (string, optional — country code), safe (boolean, optional — enable safe search).                                                                                                                                     |
| `team_credits`   | Fetch remaining credits and billing period for the team.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |

## Write actions (3)

| Action         | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `crawl_cancel` | Cancel a running crawl job. Arguments: crawl\_id (string, required — the crawl job ID to cancel).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `crawl_start`  | Start a crawl job for a website. Returns a crawl\_id. Consumes 1 credit per page crawled (limit is capped at 100 to bound cost). Arguments: url (string, required — the root URL to crawl), limit (number, required — max pages 1–100), excludePaths (array of strings, optional — URL path patterns to exclude), includePaths (array of strings, optional — URL path patterns to include), maxDiscoveryDepth (number, optional — max link depth from root), sitemap (string, optional — "skip" \| "include" \| "only"), scrapeFormats (array of strings, optional — output formats for each page). After starting, poll the result with crawl\_status.                                                       |
| `extract`      | Extract structured data from URLs using LLMs with an optional JSON schema and prompt. Consumes credits per URL. This action is asynchronous: the API returns an extract\_id immediately. To read the result, call extract\_status with that extract\_id. Arguments: urls (array of strings, required — URLs to extract from, min 1), prompt (string, optional — natural-language extraction instructions), schema (object, optional — JSON Schema describing the expected output shape, e.g. \{"type":"object","properties":\{"name":\{"type":"string"}}}), enableWebSearch (boolean, optional — allow web search to fill missing data), showSources (boolean, optional — include source URLs in the result). |

## Permissions

Every action above must be explicitly granted to an agent before it can be used. See [Permissions](/integrations/permissions) for the grant model and [Security](/integrations/security) for how credentials are protected.
