# Firecrawl (/integrations/firecrawl)





{/* MANUAL-CONTENT-START:intro */}

Use [Firecrawl](https://firecrawl.dev/) to scrape pages, search the web, crawl or map sites, and extract structured content. Configure a Firecrawl API key and the inputs for the selected operation. Status actions let a workflow follow asynchronous scrape, crawl, or extraction jobs.

{/* MANUAL-CONTENT-END */}

## Use the block [#usage-instructions]

Scrape pages, search the web, crawl entire sites, map URL structures, and extract structured data with AI.

## Actions [#actions]

### Firecrawl Website Scraper [#firecrawl-website-scraper]

Convert web pages to Markdown or HTML, including SEO metadata, Open Graph tags, and page information.

<ReferenceDetails>
  #### Input [#input]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `url` | string | Yes | The URL to scrape content from (e.g., "[https://example.com/page](https://example.com/page)") |
  | `formats` | json | No | Output formats supplied by existing Firecrawl block configurations |
  | `apiKey` | string | Yes | Firecrawl API key |

  #### Output [#output]

  | Parameter | Type | Description |
  | - | - | - |
  | `markdown` | string | Page content in markdown format |
  | `html` | string | Raw HTML content of the page |
  | `metadata` | object | Page metadata including SEO and Open Graph information |
  | ↳ `title` | string | Page title |
  | ↳ `description` | string | Page meta description |
  | ↳ `language` | string | Page language code (e.g., "en") |
  | ↳ `sourceURL` | string | Original source URL that was scraped |
  | ↳ `statusCode` | number | HTTP status code of the response |
  | ↳ `keywords` | string | Page meta keywords |
  | ↳ `robots` | string | Robots meta directive (e.g., "follow, index") |
  | ↳ `ogTitle` | string | Open Graph title |
  | ↳ `ogDescription` | string | Open Graph description |
  | ↳ `ogUrl` | string | Open Graph URL |
  | ↳ `ogImage` | string | Open Graph image URL |
  | ↳ `ogLocaleAlternate` | array | Alternate locale versions for Open Graph |
  | ↳ `ogSiteName` | string | Open Graph site name |
  | ↳ `error` | string | Error message if scrape failed |
</ReferenceDetails>

### Firecrawl Batch Scrape [#firecrawl-batch-scrape]

Scrape multiple URLs in a single batch job and retrieve structured content from each page.

<ReferenceDetails>
  #### Input [#input-1]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `urls` | json | Yes | Array of URLs to scrape (e.g., \["[https://example.com/page1](https://example.com/page1)", "[https://example.com/page2](https://example.com/page2)"]) |
  | `formats` | json | No | Output formats for scraped content (e.g., \["markdown"], \["markdown", "html"]) |
  | `onlyMainContent` | boolean | No | Extract only main content from pages |
  | `maxConcurrency` | number | No | Maximum number of concurrent scrapes |
  | `ignoreInvalidURLs` | boolean | No | Skip invalid URLs instead of failing the batch (default: true) |
  | `zeroDataRetention` | boolean | No | Enable zero data retention |
  | `apiKey` | string | Yes | Firecrawl API key |

  #### Output [#output-1]

  | Parameter | Type | Description |
  | - | - | - |
  | `pages` | array | Array of scraped pages with their content and metadata |
  | ↳ `markdown` | string | Page content in markdown format |
  | ↳ `html` | string | Processed HTML content of the page |
  | ↳ `rawHtml` | string | Unprocessed raw HTML content |
  | ↳ `links` | array | Array of links found on the page |
  | ↳ `screenshot` | string | Screenshot URL (expires after 24 hours) |
  | ↳ `metadata` | object | Page metadata from crawl operation |
  | ↳ `title` | string | Page title |
  | ↳ `description` | string | Page meta description |
  | ↳ `language` | string | Page language code |
  | ↳ `sourceURL` | string | Original source URL |
  | ↳ `statusCode` | number | HTTP status code |
  | ↳ `ogLocaleAlternate` | array | Alternate locale versions |
  | `total` | number | Total number of pages attempted |
  | `completed` | number | Number of pages successfully scraped |
  | `invalidURLs` | array | URLs that were skipped because they were invalid |
</ReferenceDetails>

### Firecrawl Batch Scrape Status [#firecrawl-batch-scrape-status]

Check the status and retrieve results of a previously started Firecrawl batch scrape job by its job ID.

<ReferenceDetails>
  #### Input [#input-2]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `jobId` | string | Yes | The ID of the batch scrape job to check |
  | `apiKey` | string | Yes | Firecrawl API key |

  #### Output [#output-2]

  | Parameter | Type | Description |
  | - | - | - |
  | `status` | string | Current batch scrape status (scraping, completed, or failed) |
  | `total` | number | Total number of pages attempted |
  | `completed` | number | Number of pages successfully scraped |
  | `creditsUsed` | number | Credits consumed by the batch scrape |
  | `expiresAt` | string | ISO timestamp when the batch scrape results expire |
  | `next` | string | URL to retrieve the next page of results when present |
  | `pages` | array | Array of scraped pages with their content and metadata |
  | ↳ `markdown` | string | Page content in markdown format |
  | ↳ `html` | string | Processed HTML content of the page |
  | ↳ `rawHtml` | string | Unprocessed raw HTML content |
  | ↳ `links` | array | Array of links found on the page |
  | ↳ `screenshot` | string | Screenshot URL (expires after 24 hours) |
  | ↳ `metadata` | object | Page metadata from crawl operation |
  | ↳ `title` | string | Page title |
  | ↳ `description` | string | Page meta description |
  | ↳ `language` | string | Page language code |
  | ↳ `sourceURL` | string | Original source URL |
  | ↳ `statusCode` | number | HTTP status code |
  | ↳ `ogLocaleAlternate` | array | Alternate locale versions |
</ReferenceDetails>

### Firecrawl Search [#firecrawl-search]

Search for information on the web using Firecrawl

<ReferenceDetails>
  #### Input [#input-3]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `query` | string | Yes | The search query to use |
  | `apiKey` | string | Yes | Firecrawl API key |

  #### Output [#output-3]

  | Parameter | Type | Description |
  | - | - | - |
  | `data` | array | Search results data with scraped content and metadata |
  | ↳ `title` | string | Search result title from search engine |
  | ↳ `description` | string | Search result description/snippet from search engine |
  | ↳ `url` | string | URL of the search result |
  | ↳ `markdown` | string | Page content in markdown; returned only when scraping was requested via the hidden scrapeOptions input |
  | ↳ `html` | string | Processed HTML content; returned only when "html" is among the scrape formats requested via the hidden scrapeOptions input |
  | ↳ `rawHtml` | string | Unprocessed raw HTML; returned only when "rawHtml" is among the scrape formats requested via the hidden scrapeOptions input |
  | ↳ `links` | array | Links found on the page; returned only when "links" is among the scrape formats requested via the hidden scrapeOptions input |
  | ↳ `screenshot` | string | Screenshot URL (expires after 24 hours); returned only when "screenshot" is among the scrape formats requested via the hidden scrapeOptions input |
  | ↳ `metadata` | object | Metadata about the search result page |
  | ↳ `title` | string | Page title |
  | ↳ `description` | string | Page meta description |
  | ↳ `sourceURL` | string | Original source URL |
  | ↳ `statusCode` | number | HTTP status code |
  | ↳ `error` | string | Error message if scrape failed |
</ReferenceDetails>

### Firecrawl Crawl [#firecrawl-crawl]

Crawl entire websites and extract structured content from all accessible pages

<ReferenceDetails>
  #### Input [#input-4]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `url` | string | Yes | The website URL to crawl (e.g., "[https://example.com](https://example.com)" or "[https://docs.example.com/guide](https://docs.example.com/guide)") |
  | `limit` | number | No | Maximum number of pages to crawl (e.g., 50, 100, 500). Default: 100 |
  | `maxDepth` | number | No | Maximum depth to crawl from the starting URL (e.g., 1, 2, 3). Controls how many levels deep to follow links |
  | `formats` | json | No | Output formats for scraped content (e.g., \["markdown"], \["markdown", "html"], \["markdown", "links"]) |
  | `prompt` | string | No | Natural-language crawl guidance supplied by existing configurations |
  | `excludePaths` | json | No | URL paths to exclude from crawling (e.g., \["/blog/&#x2A;", "/admin/*", "/\*.pdf"]) |
  | `includePaths` | json | No | URL paths to include in crawling (e.g., \["/docs/&#x2A;", "/api/*"]). Only these paths will be crawled |
  | `onlyMainContent` | boolean | No | Extract only main content from pages |
  | `apiKey` | string | Yes | Firecrawl API Key |

  #### Output [#output-4]

  | Parameter | Type | Description |
  | - | - | - |
  | `pages` | array | Array of crawled pages with their content and metadata |
  | ↳ `markdown` | string | Page content in markdown format |
  | ↳ `html` | string | Processed HTML content of the page |
  | ↳ `rawHtml` | string | Unprocessed raw HTML content |
  | ↳ `links` | array | Array of links found on the page |
  | ↳ `screenshot` | string | Screenshot URL (expires after 24 hours) |
  | ↳ `metadata` | object | Page metadata from crawl operation |
  | ↳ `title` | string | Page title |
  | ↳ `description` | string | Page meta description |
  | ↳ `language` | string | Page language code |
  | ↳ `sourceURL` | string | Original source URL |
  | ↳ `statusCode` | number | HTTP status code |
  | ↳ `ogLocaleAlternate` | array | Alternate locale versions |
  | `total` | number | Total number of pages found during crawl |
</ReferenceDetails>

### Firecrawl Crawl Status [#firecrawl-crawl-status]

Check the status and retrieve results of a previously started Firecrawl crawl job by its job ID.

<ReferenceDetails>
  #### Input [#input-5]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `jobId` | string | Yes | The ID of the crawl job to check |
  | `apiKey` | string | Yes | Firecrawl API key |

  #### Output [#output-5]

  | Parameter | Type | Description |
  | - | - | - |
  | `status` | string | Current crawl status (scraping, completed, or failed) |
  | `total` | number | Total number of pages attempted |
  | `completed` | number | Number of pages successfully crawled |
  | `creditsUsed` | number | Credits consumed by the crawl |
  | `expiresAt` | string | ISO timestamp when the crawl results expire |
  | `next` | string | URL to retrieve the next page of results when present |
  | `pages` | array | Array of crawled pages with their content and metadata |
  | ↳ `markdown` | string | Page content in markdown format |
  | ↳ `html` | string | Processed HTML content of the page |
  | ↳ `rawHtml` | string | Unprocessed raw HTML content |
  | ↳ `links` | array | Array of links found on the page |
  | ↳ `screenshot` | string | Screenshot URL (expires after 24 hours) |
  | ↳ `metadata` | object | Page metadata from crawl operation |
  | ↳ `title` | string | Page title |
  | ↳ `description` | string | Page meta description |
  | ↳ `language` | string | Page language code |
  | ↳ `sourceURL` | string | Original source URL |
  | ↳ `statusCode` | number | HTTP status code |
  | ↳ `ogLocaleAlternate` | array | Alternate locale versions |
</ReferenceDetails>

### Firecrawl Cancel Crawl [#firecrawl-cancel-crawl]

Cancel an in-progress Firecrawl crawl job by its job ID.

<ReferenceDetails>
  #### Input [#input-6]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `jobId` | string | Yes | The ID of the crawl job to cancel |
  | `apiKey` | string | Yes | Firecrawl API key |

  #### Output [#output-6]

  | Parameter | Type | Description |
  | - | - | - |
  | `status` | string | Status of the cancelled crawl job (e.g., "cancelled") |
</ReferenceDetails>

### Firecrawl Map [#firecrawl-map]

Get a complete list of URLs from any website quickly and reliably. Useful for discovering all pages on a site without crawling them.

<ReferenceDetails>
  #### Input [#input-7]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `url` | string | Yes | The base URL to map and discover links from (e.g., "[https://example.com](https://example.com)") |
  | `search` | string | No | Filter results by relevance to a search term (e.g., "blog") |
  | `sitemap` | string | No | Controls sitemap usage: "skip", "include" (default), or "only" |
  | `includeSubdomains` | boolean | No | Whether to include URLs from subdomains (default: true) |
  | `ignoreQueryParameters` | boolean | No | Exclude URLs containing query strings (default: true) |
  | `limit` | number | No | Maximum number of links to return (e.g., 100, 1000, 5000). Max: 100,000, default: 5,000 |
  | `timeout` | number | No | Request timeout in milliseconds |
  | `apiKey` | string | Yes | Firecrawl API key |

  #### Output [#output-7]

  | Parameter | Type | Description |
  | - | - | - |
  | `success` | boolean | Whether the mapping operation was successful |
  | `links` | array | Array of discovered URLs from the website |
</ReferenceDetails>

### Firecrawl Extract [#firecrawl-extract]

Extract structured data from web pages using natural language prompts and JSON Schema.

<ReferenceDetails>
  #### Input [#input-8]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `urls` | json | Yes | Array of URLs to extract data from (e.g., \["[https://example.com/page1](https://example.com/page1)", "[https://example.com/page2](https://example.com/page2)"] or \["[https://example.com/](https://example.com/)\*"]) |
  | `prompt` | string | No | Natural language guidance for the extraction process |
  | `schema` | json | No | JSON Schema defining the structure of data to extract |
  | `enableWebSearch` | boolean | No | Enable web search to find supplementary information (default: false) |
  | `ignoreSitemap` | boolean | No | Ignore sitemap.xml files during scanning (default: false) |
  | `includeSubdomains` | boolean | No | Extend scanning to subdomains (default: true) |
  | `showSources` | boolean | No | Return data sources in the response (default: false) |
  | `ignoreInvalidURLs` | boolean | No | Skip invalid URLs in the array (default: true) |
  | `apiKey` | string | Yes | Firecrawl API key |

  #### Output [#output-8]

  | Parameter | Type | Description |
  | - | - | - |
  | `success` | boolean | Whether the extraction operation was successful |
  | `data` | object | Extracted structured data according to the schema or prompt |
</ReferenceDetails>

### Firecrawl Extract Status [#firecrawl-extract-status]

Check the status and retrieve results of a previously started Firecrawl extract job by its job ID.

<ReferenceDetails>
  #### Input [#input-9]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `jobId` | string | Yes | The ID of the extract job to check |
  | `apiKey` | string | Yes | Firecrawl API key |

  #### Output [#output-9]

  | Parameter | Type | Description |
  | - | - | - |
  | `status` | string | Current extract status (processing, completed, failed, or cancelled) |
  | `data` | json | Extracted structured data according to the schema or prompt |
  | `expiresAt` | string | ISO timestamp when the extract results expire |
  | `creditsUsed` | number | Number of credits used by the extract job |
  | `tokensUsed` | number | Number of tokens used by the extract job |
</ReferenceDetails>

### Firecrawl Agent [#firecrawl-agent]

Autonomous web data extraction agent. Searches and gathers information based on natural language prompts without requiring specific URLs.

<ReferenceDetails>
  #### Input [#input-10]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `prompt` | string | Yes | Natural language description of the data to extract (max 10,000 characters) |
  | `urls` | json | No | Optional array of URLs to focus the agent on (e.g., \["[https://example.com](https://example.com)", "[https://docs.example.com](https://docs.example.com)"]) |
  | `schema` | json | No | JSON Schema defining the structure of data to extract |
  | `maxCredits` | number | No | Maximum credits to spend on this agent task |
  | `strictConstrainToURLs` | boolean | No | If true, agent will only visit URLs provided in the urls array |
  | `apiKey` | string | Yes | Firecrawl API key |

  #### Output [#output-10]

  | Parameter | Type | Description |
  | - | - | - |
  | `success` | boolean | Whether the agent operation was successful |
  | `status` | string | Current status of the agent job (processing, completed, failed) |
  | `data` | object | Extracted data from the agent |
  | `expiresAt` | string | Timestamp when the results expire (24 hours) |
  | `sources` | object | Array of source URLs used by the agent |
</ReferenceDetails>

### Firecrawl Document Parser [#firecrawl-document-parser]

Parse uploaded documents (PDF, DOCX, HTML, etc.) into clean markdown using Firecrawl. Supports .html, .htm, .pdf, .docx, .doc, .odt, .rtf, .xlsx, .xls.

<ReferenceDetails>
  #### Input [#input-11]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `file` | file | Yes | Document file to be parsed |
  | `formats` | array | No | Output formats to return (e.g., \["markdown"]). Defaults to markdown. |
  | `onlyMainContent` | boolean | No | Exclude headers, navs, footers. Defaults to true. |
  | `includeTags` | array | No | HTML tags to include |
  | `excludeTags` | array | No | HTML tags to exclude |
  | `timeout` | number | No | Timeout in milliseconds (max 300000). Defaults to 30000. |
  | `parsers` | array | No | Parser configuration (e.g., \[\{ "type": "pdf" }]) |
  | `removeBase64Images` | boolean | No | Remove base64 images, keep alt text. Defaults to true. |
  | `blockAds` | boolean | No | Block ads and popups. Defaults to true. |
  | `proxy` | string | No | Proxy mode: "basic" or "auto" |
  | `zeroDataRetention` | boolean | No | Enable zero data retention. Defaults to false. |
  | `apiKey` | string | Yes | Firecrawl API key |

  #### Output [#output-11]

  | Parameter | Type | Description |
  | - | - | - |
  | `markdown` | string | Parsed document content in markdown format |
  | `summary` | string | Generated summary of the document |
  | `html` | string | Processed HTML content |
  | `rawHtml` | string | Unprocessed raw HTML content |
  | `screenshot` | string | Screenshot URL or base64 (when requested) |
  | `links` | array | URLs discovered in the document |
  | `metadata` | object | Document metadata |
  | ↳ `title` | string | Document title |
  | ↳ `description` | string | Document description |
  | ↳ `language` | string | Document language code |
  | ↳ `sourceURL` | string | Source URL |
  | ↳ `url` | string | Final URL |
  | ↳ `keywords` | string | Document keywords |
  | ↳ `statusCode` | number | HTTP status code |
  | ↳ `contentType` | string | Document content type |
  | ↳ `error` | string | Error message if parse failed |
  | `warning` | string | Warning message from the parse operation |
</ReferenceDetails>

### Firecrawl Credit Usage [#firecrawl-credit-usage]

Retrieve the remaining and allocated Firecrawl credits for the team.

<ReferenceDetails>
  #### Input [#input-12]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `apiKey` | string | Yes | Firecrawl API key |

  #### Output [#output-12]

  | Parameter | Type | Description |
  | - | - | - |
  | `remainingCredits` | number | Number of credits remaining for the team |
  | `planCredits` | number | Credits allocated in the current plan |
  | `billingPeriodStart` | string | Start of the current billing period |
  | `billingPeriodEnd` | string | End of the current billing period |
</ReferenceDetails>
