Skip to content

Releases: firecrawl/firecrawl

v2.8.0

03 Feb 17:12
43f61e7

Choose a tag to compare

v2.8.0

Firecrawl v2.8.0 is here!

Firecrawl v2.8.0 brings major improvements to agent workflows, developer tooling, and self-hosted deployments across the API and SDKs, including our new Skill.

  • Parallel Agents for running thousands of /agent queries simultaneously, powered by our new Spark 1 Fast model.
  • Firecrawl CLI with full support for scrape, search, crawl, and map commands.
  • Firecrawl Skill for enabling AI agents (Claude Code, Codex, OpenCode) to use Firecrawl autonomously.
  • Three new models powering /agent: Spark 1 Fast for instant retrieval (currently only available in Playground), Spark 1 Mini for complex research queries, and Spark 1 Pro for advanced extraction tasks.
  • Agent enhancements including webhooks, model selection, and new MCP Server tools.
  • Platform-wide performance improvements including faster search execution and optimized Redis calls.
  • SDK improvements including Zod v4 compatibility.

And much more, check it out below!

New Features

  • Parallel Agents
    Execute thousands of /agent queries in parallel with automatic failure handling and intelligent waterfall execution. Powered by Spark 1-Fast for instant retrieval, automatically upgrading to Spark 1 Mini for complex queries requiring full research.

  • Firecrawl CLI
    New command-line interface for Firecrawl with full support for scrape, search, crawl, and map commands. Install with npm install -g firecrawl-cli.

  • Firecrawl Skill
    Enables agents like Claude Cursor, Codex, and OpenCode to use Firecrawl for web scraping and data extraction, installable via npx skills add firecrawl/cli.

  • Spark Model Family
    Three new models powering /agent: Spark 1 Fast for instant retrieval (currently available in Playground), Spark 1 Mini (default) for everyday extraction tasks at 60% lower cost, and Spark 1 Pro for complex multi-domain research requiring maximum accuracy. Spark 1 Pro achieves ~50% recall while Mini delivers ~40% recall, both significantly outperforming tools costing 4-7x more per task.

  • Firecrawl MCP Server Agent Tools
    New firecrawl_agent and firecrawl_agent_status tools for autonomous web data gathering via MCP-enabled agents.

  • Agent Webhooks
    Agent endpoint now supports webhooks for real-time notifications on job completion and progress.

  • Agent Model Selection
    Agent endpoint now accepts a model parameter and includes model info in status responses.

  • Multi-Arch Docker Images
    Self-hosted deployments now support linux/arm64 architecture in addition to amd64.

  • Sitemap-Only Crawl Mode
    New crawl option to exclusively use sitemap URLs without following links.

  • ignoreCache Map Parameter
    New option to bypass cached results when mapping URLs.

  • Custom Headers for /map
    Map endpoint now supports custom request headers.

  • Background Image Extraction
    Scraper now extracts background images from CSS styles.

  • Improved Error Messages
    All user-facing error messages now include detailed explanations to help diagnose issues.


API Improvements

  • Search without concurrency limits — scrapes in search now execute directly without queue overhead.
  • Return 400 for unsupported actions with clear errors when requested actions aren't supported by available engines.
  • Job ID now included in search metadata for easier tracking.
  • Metadata responses now include detected timezone.
  • Backfill metadata title from og:title or twitter:title when missing.
  • Preserve gid parameter when rewriting Google Sheets URLs.
  • Fixed v2 path in batch scrape status pagination.
  • Validate team ownership when appending to existing crawls.
  • Screenshots with custom viewport or quality settings now bypass cache.
  • Optimized Redis calls across endpoints.
  • Reduced excessive robots.txt fetching and parsing.
  • Minimum request timeout parameter now configurable.

SDK Improvements

JavaScript SDK

  • Zod v4 Compatibility — schema conversion now works with Zod v4 with improved error detection.
  • Watcher ExportsWatcher and WatcherOptions now exported from the SDK entrypoint.
  • Agent Webhook Support — new webhook options for agent calls.
  • Error Retry Polling — SDK retries polling after transient errors.
  • Job ID in Exceptions — error exceptions now include jobId for debugging.

Python SDK

  • Manual pagination helpers for iterating through results.
  • Agent webhook support added to agent client.
  • Agent endpoint now accepts model selection parameter.
  • Metadata now includes concurrency limit information.
  • Fixed max_pages handling in crawl requests.

Dashboard Improvements

  • Dark mode is now supported.
  • On the usage page, you can now view credit usage broken down by day.
  • On the activity logs page, you can now filter by the API key that was used.
  • The "images" output format is now supported in the Playground.
  • All admins can now manage their team's subscriptions.

Quality & Performance

  • Skip markdown conversion checks for large HTML documents.
  • Export Google Docs as HTML instead of PDF for improved performance.
  • Improved branding format with better logo detection and error messages for PDFs and documents.
  • Improved lopdf metadata loading performance.
  • Updated html-to-markdown module with multiple bug fixes.
  • Increased markdown service body limit and added request ID logging.
  • Better Sentry filtering for cancelled jobs and engine errors.
  • Fixed extract race conditions and RabbitMQ poison pill handling.
  • Centralized Firecrawl configuration across the codebase.
  • Multiple security vulnerability fixes, including CVE-2025-59466 and lodash prototype pollution.

Self-Hosted Improvements

  • CLI custom API URL support via firecrawl --api-url http://localhost:3002 for local instances.
  • ARM64 Docker support via multi-arch images for Apple Silicon and ARM servers.
  • Fixed docker-compose database credentials out of the box.
  • Fixed Playwright service startup caused by Chromium path issues.
  • Updated Node.js to major version 22 instead of a pinned minor.
  • Added RabbitMQ health check endpoint.
  • Fixed PostgreSQL port exposure in docker-compose.

New Contributors


Full Changelog: v2.7.0...v2.8.0

What's Changed

Read more

v2.7.0

05 Dec 17:40
ccbd8d6

Choose a tag to compare

Firecrawl v2.7.0 is here!

  • ZDR Search support for enterprise customers.
  • Improved Branding Format with better detection.
  • Partner Integrations API now in closed beta.
  • Faster and more accurate screenshots.
  • Self-hosted improvements

And a lot more enhacements, check it out below!

New Features

  • Improved Branding Extract
    Better logo and color detection for more accurate brand extraction results.

  • NOQ Scrape System (Experimental)
    New scrape pipeline with improved stability and integrated concurrency checks.

  • Enhanced Redirect Handling
    URLs now resolve before mapping, with safer redirect-chain detection and new abort timeouts.

  • Enterprise Search Parameters
    New enterprise-level options available for the /search endpoint.

  • Integration-Based User Creation
    Users can now be automatically created when coming from referring integrations.

  • minAge Scrape Parameter
    Allows requiring a minimum cached age before re-scraping.

  • Extract Billing Credits
    Extract jobs now use the same credit billing system as other endpoints.

  • Self-Host: Configurable Crawl Concurrency
    Self-hosted deployments can now set custom concurrency limits.

  • Sentry Enhancements
    Added Vercel AI integration, configurable sampling rates, and improved exception filtering.

  • UUIDv7 IDs
    All new resources use lexicographically sortable UUIDv7.

API Improvements

  • DNS Resolution Errors Now Return 200 for more consistent failure handling.
  • Improved URL Mapping Logic including sitemap maxAge fixes, recursive sitemap support, Vue/Angular router normalization, and skipping subdomain logic for IP addresses.
  • Partial Results for Multi-Source Search instead of failing all sources.
  • Concurrency Metadata Added to scrape job responses.
  • Enhanced Metrics including total wait time, LLM usage, and format details.
  • Batch Scrape Upgrades
    • Added missing /v2/batch/scrape/:jobId/errors endpoint
    • Fixed pagination off-by-one bug
  • More Robust Error Handling for PDF/document engines, pydantic parsing, Zod validation, URL validation, and billing edge cases.

SDK Improvements

JavaScript SDK

  • Returns job ID from synchronous methods.
  • Improved WebSocket document event handling.
  • Fixed types, Deno WS, and added support for ignoreQueryParameter.
  • Version bump with internal cleanup.

Python SDK

  • Added extra metadata fields.
  • Improved batch validation handling.

Quality & Performance

  • Reduced log file size and improved tmp file cleanup.
  • Updated Express version and patched vulnerable packages.
  • Disabled markdown conversion for sitemap scrapes for improved performance.
  • Better precrawl logging and formatting.
  • Skip URL rewriting for published Google Docs.
  • Prevent empty cookie headers during webhook callbacks.

Self-Hosted Improvements

  • Disabled concurrency limit enforcement for self-hosted mode.
  • PostgreSQL credentials now configurable via environment variables.
  • Docker-compose build instructions fixed.

👥 New Contributors


Full Changelog: v2.6.0...v2.7.0

What's Changed

Read more

v2.6.0

14 Nov 16:13

Choose a tag to compare

v2.6.0

Highlights

  • Unified Billing Model - Credits and tokens merged into single system. Extract now uses credits (15 tokens = 1 credit), existing tokens work everywhere.
  • Full Release of Branding Format - Full support across Playground, MCP, JS and Python SDKs.
  • Change Tracking - Faster and more reliable detection of web page content updates.
  • Reliability and Speed Improvements - All endpoints significantly faster with improved reliability.
  • Instant Credit Purchases - Buy credit packs directly from dashboard without waiting for auto-recharge.
  • Improved Markdown Parsing - Enhanced markdown conversion and main content extraction accuracy.
  • Core Stability Fixes - Fixed change-tracking issues, PDF timeouts, and improved error handling.

What's Changed

New Contributors

Full Changelog: v2.5.0...v2.6.0

v2.5.0 - The World's Best Web Data API

30 Oct 04:02

Choose a tag to compare

v2.5.0 - The World's Best Web Data API

We now have the highest quality and most comprehensive web data API available powered by our new semantic index and custom browser stack.

See the benchmarks below:

image

New Features

  • Implemented scraping for .xlsx (Excel) files.
  • Introduced new crawl architecture and NUQ concurrency tracking system.
  • Per-owner/group concurrency limiting + dynamic concurrency calculation.
  • Added group backlog handling and improved group operations.
  • Added /search pricing update
  • Added team flag to skip country check.
  • Always populate NUQ metrics for improved observability.
  • New test-site app for improved CI testing.
  • Extract metadata from document head for richer output.

Enhancements & Improvements

  • Improved blocklist loading and unsupported site error messages.
  • Updated x402-express version.
  • Improved includePaths handling for subdomains.
  • Updated self-hosted search to use DuckDuckGo.
  • JS & Python SDKs no longer require API key for self-hosted deployments.
  • Python SDK timeout handling improvements.
  • Rust client now uses tracing instead of print.
  • Reduced noise in auto-recharge Slack notifications.

Fixes

  • Ensured crawl robots.txt warnings surface reliably.
  • Resolved concurrency deadlocks and duplicate job handling.
  • Fixed search country defaults and pricing logic bugs.
  • Fixed port conflicts in harness environments.
  • Fixed viewport dimension support and screenshot behavior in Playwright.
  • Resolved CI test flakiness (playwright cache, prod tests).

👋 New Contributors

Full diff: v2.4.0...v2.5.0

What's Changed

New Contributors

Full Changelog: v2.4.0...v2.5.0

v2.4.0

13 Oct 15:09
40a7d38

Choose a tag to compare

v2.4.0

New Features

  • New PDF Search Category - You can now search for only pdfs via our v2/search endpoints by specifying .pdf category
  • Gemini 2.5 Flash CLI Image Editor — Create and edit images directly in the CLI using Firecrawl + Gemini 2.5 Flash integration (#2172)
  • x402 Search Endpoint (/v2/x402) — Added a next-gen search API with improved accuracy and speed (#2218)
  • RabbitMQ Event System — Firecrawl jobs now support event-based communication and prefetching from Postgres (#2230, #2233)
  • Improved Crawl Status API — More accurate and real-time crawl status reporting using the new crawl_status_2 RPC (#2239)
  • Low-Results & Robots.txt Warnings — Users now receive clear feedback when crawls are limited by robots.txt or yield few results (#2248)
  • Enhanced Tracing (OpenTelemetry) — Much-improved distributed tracing for better observability across services (#2219)
  • Metrics & Analytics — Added request-level metrics for both Scrape and Search endpoints (#2216)
  • Self-Hosted Webhook Support — Webhooks can now be delivered to private IP addresses for self-hosted environments (#2232)

Improvements

  • Reduced Docker Image Size — Playwright service image size reduced by 1 GB by only installing Chromium (#2210)
  • Python SDK Enhancements — Added "cancelled" job status handling and poll interval fixes (#2240, #2265)
  • Faster Node SDK Timeouts — Axios timeouts now propagate correctly, improving reliability under heavy loads (#2235)
  • Improved Crawl Parameter Previews — Enhanced prompts and validation for crawl parameter previews (#2220)
  • Zod Schema Validation — Stricter API parameter validation with rejection of extra fields (#2058)
  • Better Redis Job Handling — Fixed edge cases in getDoneJobsOrderedUntil for more stable Redis retrieval (#2258)
  • Markdown & YouTube Fixes — Fixed YouTube cache and empty markdown summary bugs (#2226, #2261)
  • Updated Docs & Metadata — README updates and new metadata fields added to the JS SDK (#2250, #2254)
  • Improved API Port Configuration — The API now respects environment-defined ports (#2209)

Fixes

  • Fixed recursive $ref schema validation edge cases (#2238)
  • Fixed enum arrays being incorrectly converted to objects (#2224)
  • Fixed harness timeouts and self-hosted docker-compose.yaml issues (#2242, #2252)

New Contributors

🔗 Full Changelog: v2.3.0 → v2.4.0

What's Changed

New Contributors

Full Changelog: v2.3.0...v2.4.0

v2.3.0

19 Sep 19:01

Choose a tag to compare

v2.3.0

New Features

  • YouTube Support: You can now get YouTube transcripts
  • Enterprise Auto-Recharge: Added enterprise support for auto-recharge
  • odt and .rtf: Now support odt and rtf file parsing
  • Docx Parsing: 50x faster docx parsing
  • K8s Deployment: Added NuQ worker deployment example
  • Self Host: Tons of improvements for our self host users

Improvements & Fixes

  • Stability: Fixed timeout race condition, infinite scrape loop, and location query bug
  • Tooling: Replaced ts-prune with knip, updated pnpm with minimumReleaseAge
  • Docs: Added Rust to CONTRIBUTING and fixed typos
  • Security: Fixed pkgvuln issue

What's Changed

New Contributors

Full Changelog: v2.2.0...v2.3.0

v2.2.0

12 Sep 14:59
1740e42

Choose a tag to compare

v2.2.0

Features

  • MCP version 3 is live. Stable support for cloud mcp with HTTP Transport and SSE modes. Compatible with v2 and v1 from.
  • Webhooks: Now we support signatures + extract support + event failures
  • Map is now 15x faster + supports more urls
  • Search reliability improvements
  • Usage is now tracked by API Key
  • Support for additional locations (CA, CZ, IL, IN, IT, PL, and PT)
  • Queue status endpoint
  • Added maxPages parameter to v2 scrape API for pdf parsing

Improvements

  • API:
    • New /team/queue-status endpoint.
    • Added nuq feature.
    • Added VIASOCKET integration.
    • Historical credit/token usage endpoints with expanded data.
  • Student Program: Support for more universities + students to get free credits through our student program
  • Map: 15x faster and increased the limit to 100k
  • Scrape API: Added maxPages parameter for PDF parser.
  • Python SDK:
    • Added get_queue_status to aio + normalization of docs in search results.
    • SDKs: Added next cursor pagination and integration param support.
  • Infrastructure: Added static IP proxy pool + proxy location support.
  • Webhooks: Implemented signatures, refactored sending, added scrape error events.
  • Performance: Optimized map, converted Rust natives to single NAPI library.
  • CI/CD: Revamped CI, added pre-commit hooks, cross-platform harness.

🐛 Fixes

  • Corrected concurrency limit scaling.
  • Fixed search result links/descriptions and retry mechanism for empty results.
  • Re-signed expired screenshot URLs.
  • Trimmed null chars from PDF titles + fixed encoding.
  • Fixed sitemap parsing and added .gz sitemap support.
  • Fixed js-sdk zod-to-json-schema import.
  • Fixed webhook data format regression.
  • Improved credit handling in account object.

🛠️ Chores & Other

  • Removed unused dependencies, updated CONTRIBUTING.md.
  • Added debug logging, ignored scripts during CI build.
  • Various dependency bumps and build improvements.

🔗 Full Changelog: v2.1.0...v2.2.0

What's Changed

Full Changelog: v2.1.0...v2.2.0

v2.1.0

29 Aug 17:22
6b39d12

Choose a tag to compare

Firecrawl v2.1.0 is here!

✨ New Features

  • Search Categories: Filter search results by specific categories using the categories parameter:
    • github: Search within GitHub repositories, code, issues, and documentation
    • research: Search academic and research websites (arXiv, Nature, IEEE, PubMed, etc.)
    • More coming soon
  • Image Extraction: Added image extraction support to the v2 scrape endpoint.
  • Data Attribute Scraping: Now supports extraction of data-* attributes.
  • Hash-Based Routing: Crawl endpoints now handle hash-based routes.
  • Improved Google Drive Scraping: Added ability to scrape TXT, PDF, and Sheets from Google Drive.
  • PDF Enhancements: Extracts PDF titles and shows them in metadata.
  • API Enhancements:
    • Map endpoint supports up to 100k results.
  • Helm Chart: Initial Helm chart added for Firecrawl deployment.
  • Security: Improved protection against XFF spoofing.

🛠 Fixes

  • Fixed UTF-8 encoding in Google search scraper.
  • Restored crawl status in preview mode.
  • Fixed missing methods in Python SDK.
  • Corrected JSON response handling for v2 search with scrapeOptions.formats.
  • Fixed field population for credits_billed in v0 scrape.
  • Improved document field overlay in v2 search.

👥 New Contributors

🔗 Full Changelog

What's Changed

  • fix: handle UTF-8 encoding properly in Google search scraper by @kelter-antunes in #1924
  • feat(api): add image extraction support to v2 scrape endpoint by @vishkrish200 in #2008
  • feat(api): support extraction of data-* attributes in scrape endpoints by @vishkrish200 in #2006
  • feat: add initial Helm chart for Firecrawl deployment by @JakobStadlhuber in #1262
  • feat(api/crawl): support hash-based routing by @mogery in #2031
  • fix(python-sdk): missing methods in client by @rafaelsideguide in #2050
  • feat(countryCheck): better protection against XFF spoofing by @mogery in #2051
  • fix: include json in v2 /search response when using scrapeOptions.formats by @ieedan in #2052
  • feat(scrapeURL/rewrite): scrape Google Drive TXT/PDF files and sheets by @mogery in #2053
  • Update README.md by @nickscamara in #2060
  • (fix/crawl) Re-enable crawl status in preview mode by @nickscamara in #2061
  • feat(pdf-parser): get PDF title and show in metadata by @mogery in #2062
  • fix(v2/search): overlay doc fields via spread operator by @mogery in #2054
  • feat(api): propagate api_key_id towards billing function by @mogery in #2049
  • feat(api/map): use new RPCs + set limit max to 100k by @mogery in #2065
  • fix(api/v0/scrape): populate credits_billed field by @mogery in #2066

New Contributors

Full Changelog: v2.0.1...v2.1.0

v2.0.1

26 Aug 17:18
e8cf098

Choose a tag to compare

This release fixes the "SSRF Vulnerability via malicious webhook" security advisory. It is recommended that people using the self-hosted version of Firecrawl update to v2.0.1 immediately. More info in the advisory: GHSA-p2wg-prhf-jx79

v2.0.0

19 Aug 15:27

Choose a tag to compare

Introducing v2.0.0

Key Improvements

  • Faster by default: Requests are cached with maxAge defaulting to 2 days, and sensible defaults like blockAds, skipTlsVerification, and removeBase64Images are enabled.

  • New summary format: You can now specify "summary" as a format to directly receive a concise summary of the page content.

  • Updated JSON extraction: JSON extraction and change tracking now use an object format: { type: "json", prompt, schema }. The old "extract" format has been renamed to "json".

  • Enhanced screenshot options: Use the object form: { type: "screenshot", fullPage, quality, viewport }.

  • New search sources: Search across "news" and "images" in addition to web results by setting the sources parameter.

  • Smart crawling with prompts: Pass a natural-language prompt to crawl and the system derives paths/limits automatically. Use the new crawl-params-preview endpoint to inspect the derived options before starting a job.

Quick migration checklist

  • Replace v1 client usage with v2 clients:
    • JS: const firecrawl = new Firecrawl({ apiKey: 'fc-YOUR-API-KEY' })
    • Python: firecrawl = Firecrawl(api_key='fc-YOUR-API-KEY')
    • API: use the new https://api.firecrawl.dev/v2/ endpoints.
  • Update formats:
    • Use "summary" where needed
    • JSON mode: Use { type: "json", prompt, schema } for JSON extraction
    • Screenshot and Screenshot@fullPage: Use screenshot object format when specifying options
  • Adopt standardized async flows in the SDKs:
    • Crawls: startCrawl + getCrawlStatus (or crawl waiter)
    • Batch: startBatchScrape + getBatchScrapeStatus (or batchScrape waiter)
    • Extract: startExtract + getExtractStatus (or extract waiter)
  • Crawl options mapping (see below)
  • Check crawl prompt with crawl-params-preview

SDK surface (v2)

JS/TS

Method name changes (v1 → v2)

Scrape, Search, and Map

v1 (FirecrawlApp) v2 (Firecrawl)
scrapeUrl(url, ...) scrape(url, options?)
search(query, ...) search(query, options?)
mapUrl(url, ...) map(url, options?)

Crawling

v1 v2
crawlUrl(url, ...) crawl(url, options?) (waiter)
asyncCrawlUrl(url, ...) startCrawl(url, options?)
checkCrawlStatus(id, ...) getCrawlStatus(id)
cancelCrawl(id) cancelCrawl(id)
checkCrawlErrors(id) getCrawlErrors(id)

Batch Scraping

v1 v2
batchScrapeUrls(urls, ...) batchScrape(urls, opts?) (waiter)
asyncBatchScrapeUrls(urls, ...) startBatchScrape(urls, opts?)
checkBatchScrapeStatus(id, ...) getBatchScrapeStatus(id)
checkBatchScrapeErrors(id) getBatchScrapeErrors(id)

Extraction

v1 v2
extract(urls?, params?) extract(args)
asyncExtract(urls, params?) startExtract(args)
getExtractStatus(id) getExtractStatus(id)

Other / Removed

v1 v2
generateLLMsText(...) (not in v2 SDK)
checkGenerateLLMsTextStatus(id) (not in v2 SDK)
crawlUrlAndWatch(...) watcher(jobId, ...)
batchScrapeUrlsAndWatch(...) watcher(jobId, ...)

Type name changes (v1 → v2)

Core Document Types

v1 v2
FirecrawlDocument Document
FirecrawlDocumentMetadata DocumentMetadata

Scrape, Search, and Map Types

v1 v2
ScrapeParams ScrapeOptions
ScrapeResponse Document
SearchParams SearchRequest
SearchResponse SearchData
MapParams MapOptions
MapResponse MapData

Crawl Types

v1 v2
CrawlParams CrawlOptions
CrawlStatusResponse CrawlJob

Batch Operations

v1 v2
BatchScrapeStatusResponse BatchScrapeJob

Action Types

v1 v2
Action ActionOption

Error Types

v1 v2
FirecrawlError SdkError
ErrorResponse ErrorDetails

Python (sync)

Method name changes (v1 → v2)

Scrape, Search, and Map

v1 v2
scrape_url(...) scrape(...)
search(...) search(...)
map_url(...) map(...)

Crawling

v1 v2
crawl_url(...) crawl(...) (waiter)
async_crawl_url(...) start_crawl(...)
check_crawl_status(...) get_crawl_status(...)
cancel_crawl(...) cancel_crawl(...)

Batch Scraping

v1 v2
batch_scrape_urls(...) batch_scrape(...) (waiter)
async_batch_scrape_urls(...) start_batch_scrape(...)
get_batch_scrape_status(...) get_batch_scrape_status(...)
get_batch_scrape_errors(...) get_batch_scrape_errors(...)

Extraction

v1 v2
extract(...) extract(...)
start_extract(...) start_extract(...)
get_extract_status(...) get_extract_status(...)

Other / Removed

v1 v2
generate_llms_text(...) (not in v2 SDK)
get_generate_llms_text_status(...) (not in v2 SDK)
watch_crawl(...) watcher(job_id, ...)

Python (async)

  • AsyncFirecrawl mirrors the same methods (all awaitable).

Formats and scrape options

  • Use string formats for basics: "markdown", "html", "rawHtml", "links", "summary".
  • Instead of parsePDF use parsers: [ { "type": "pdf" } | "pdf" ].
  • Use object formats for JSON, change tracking, and screenshots:

JSON format

 curl -X POST https://api.firecrawl.dev/v2/scrape \
     -H 'Content-Type: application/json' \
     -H 'Authorization: Bearer YOUR_API_KEY' \
     -d '{
       "url": "https://docs.firecrawl.dev/",
       "formats": [{
         "type": "json",
         "prompt": "Extract the company mission from the page."
       }]
     }'

Screenshot format

  curl -X POST https://api.firecrawl.dev/v2/scrape \
      -H 'Content-Type: application/json' \
      -H 'Authorization: Bearer YOUR_API_KEY' \
      -d '{
        "url": "https://docs.firecrawl.dev/",
        "formats": [{
          "type": "screenshot",
          "fullPage": true,
          "quality": 80,
          "viewport": { "width": 1280, "height": 800 }
        }]
      }'

Crawl options mapping (v1 → v2)

v1 v2
allowBackwardCrawling (removed) use crawlEntireDomain
maxDepth (removed) use maxDiscoveryDepth
ignoreSitemap (bool) sitemap (e.g., "only", "skip", or "include")
(none) prompt

Crawl prompt + params preview

See crawl params preview examples:

  curl -X POST https://api.firecrawl.dev/v2/crawl-params-preview \
      -H 'Content-Type: application/json' \
      -H 'Authorization: Bearer YOUR_API_KEY' \
      -d '{
        "url": "https://docs.firecrawl.dev",
        "prompt": "Extract docs and blog"
      }'

What's Changed

Read more