url | string | The URL to scrape. |
formats | list | Output formats. Strings: "markdown", "html", "rawHtml", "links", "images", "screenshot", "summary", "changeTracking", "json", "branding", "audio", "video". Maps: %{type: "json", prompt: ...}, %{type: "screenshot", fullPage: true}, %{type: "changeTracking", modes: [...]}. |
headers | map | Custom request headers. |
include_tags | list(string) | Only include content from these HTML tags. |
exclude_tags | list(string) | Exclude content from these HTML tags. |
only_main_content | boolean | Strip nav, footer, and other boilerplate. |
timeout | integer | Timeout in milliseconds. Min: 1000, default: 60000, max: 300000. |
wait_for | integer | Wait for the page to render (ms). |
mobile | boolean | Emulate a mobile viewport. |
parsers | list | File parsing controls: "pdf" or %{type: "pdf", mode: "auto", maxPages: 5}. |
actions | list(map) | Pre-scrape actions: wait, click, write, press, scroll, scrape, executeJavascript, screenshot, pdf. |
location | keyword list | Geo or language-aware scraping: [country: "US", languages: ["en-US"]]. |
skip_tls_verification | boolean | Skip TLS verification. |
remove_base64_images | boolean | Drop base64 images from markdown. |
block_ads | boolean | Block ads and cookie popups. |
proxy | atom | Proxy control: :basic, :enhanced, :auto. |
max_age | integer | Use cached data up to this age (ms). Default: 2 days. |
min_age | integer | Use cached data only if at least this old (ms). |
store_in_cache | boolean | Cache the result on Firecrawl’s side. |
lockdown | boolean | Serve only cached results; no outbound request. |
redact_pii | boolean | Redact personally identifiable information. |
profile | keyword list | Persistent browser profile: [name: "...", save_changes: true]. |
audit_metadata | keyword list | SIEM logging attribution: [username: "..."]. |
zero_data_retention | boolean | Enable zero data retention for this scrape. |