Skip to main content

Overview

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 Crawling Batch Scraping Extraction Other / Removed

Python (sync)

Method name changes (v1 → v2)

Scrape, Search, and Map Crawling Batch Scraping Extraction Other / Removed

Python (async)

  • AsyncFirecrawl mirrors the same methods (all awaitable).

Formats and scrape options

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

JSON format

Screenshot format

Crawl options mapping (v1 → v2)

Crawl prompt + params preview

See crawl params preview examples: