Firecrawl Scrape

Firecrawl Scrape

Certified

Scrape a web page with Firecrawl

Scrapes a single URL through the Firecrawl API and returns clean, LLM-ready content such as markdown. The full document is stored as an ION file in the internal storage; the markdown is also returned inline when it is small enough.

yaml
type: io.kestra.plugin.firecrawl.Scrape

Scrape a page to markdown and log it.

yaml
id: firecrawl_scrape
namespace: company.team

tasks:
  - id: scrape
    type: io.kestra.plugin.firecrawl.Scrape
    apiKey: "{{ secret('FIRECRAWL_API_KEY') }}"
    url: https://example.com

  - id: log_markdown
    type: io.kestra.plugin.core.log.Log
    message: "{{ outputs.scrape.markdown }}"

Scrape only the main content of a page as markdown and links.

yaml
id: firecrawl_scrape_main_content
namespace: company.team

tasks:
  - id: scrape
    type: io.kestra.plugin.firecrawl.Scrape
    apiKey: "{{ secret('FIRECRAWL_API_KEY') }}"
    url: https://example.com/blog
    formats:
      - markdown
      - links
    onlyMainContent: true
    waitFor: PT2S
Properties

Firecrawl API key

API key sent as a bearer token on every request; store it as a Kestra secret.

URL to scrape

Absolute URL of the page to scrape.

Assets this task consumes as inputs or produces as outputs, for lineage tracking and the asset graph (Enterprise Edition). A flow declaring this property on a task is rejected in the open-source edition.

Definitions
assetFailureBehaviorstring
Possible Values
IGNOREFAILWARN

Asset failure behavior

Behavior applied to the task state when a declared asset fails to render, emit, or be persisted (e.g. a lock conflict): FAIL escalates it to FAILED, WARN (default) warns it if it would otherwise succeed, IGNORE leaves the state untouched.

enableAutobooleanstring

Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.

inputsarray

The assets consumed as inputs.

id*string
Min length1
typestring
outputs

The assets produced as outputs.

id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*string
Min length1

Custom asset type

descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150

Firecrawl API base URL

Base URL of the Firecrawl API without the version suffix. Defaults to https://api.firecrawl.dev; set it to target a self-hosted Firecrawl instance.

SubTypestring

HTML tags to exclude

CSS selectors or tags that must be removed from the scraped content.

SubTypestring
Default["markdown"]

Output formats

Formats requested for each page, for example markdown, html, rawHtml, links or summary. Defaults to markdown.

SubTypestring

HTML tags to include

CSS selectors or tags that must be kept in the scraped content.

Only main content

When true, Firecrawl strips headers, navigation and footers and keeps only the main content of each page.

Per-page request timeout

Maximum time Firecrawl spends scraping a single page. This is distinct from the task-level timeout.

Wait before scraping

Time to wait for dynamic content to load before each page is scraped.

Markdown content

Markdown of the page, only returned when markdown was requested and the content is under 100,000 characters; otherwise read it from uri.

HTTP status code of the scraped page

Page title

Formaturi

Scraped document URI

ION file in the internal storage containing one row with every requested format and the page metadata.