概要

主要な改善点

  • デフォルトで高速化: リクエストは maxAge がデフォルトで2日としてキャッシュされ、blockAdsskipTlsVerificationremoveBase64Images といった妥当なデフォルト設定が有効です。
  • 新しいサマリーフォーマット: フォーマットに "summary" を指定すると、ページ内容の簡潔な要約を直接受け取れます。
  • JSON 抽出の更新: JSON 抽出と変更トラッキングは、オブジェクト形式 { type: "json", prompt, schema } を使用するようになりました。従来の "extract" フォーマットは "json" に名称変更されました。
  • スクリーンショットオプションの強化: オブジェクト形式 { type: "screenshot", fullPage, quality, viewport } を使用します。
  • 新しい検索ソース: sources パラメータを設定することで、Web 結果に加えて "news""images" も横断検索できます。
  • プロンプトによるスマートクロール: 自然言語の prompt をクロールに渡すと、システムがパスや制限を自動的に導出します。ジョブ開始前に導出されたオプションを確認するには、新しい /crawl/params-preview エンドポイントを使用してください。

クイック移行チェックリスト

  • v1 クライアントの使用箇所を v2 クライアントに置き換える:
    • JS: const firecrawl = new Firecrawl({ apiKey: 'fc-YOUR-API-KEY' })
    • Python: firecrawl = Firecrawl(api_key='fc-YOUR-API-KEY')
    • API: 新しい https://api.firecrawl.dev/v2/ エンドポイントを使用
  • フォーマットを更新:
    • 必要に応じて "summary" を使用
    • JSONモード: JSON 抽出には { type: "json", prompt, schema } を使用
    • Screenshot および Screenshot@fullPage: オプション指定時は screenshot オブジェクトのフォーマットを使用
  • SDK の標準化された非同期フローを採用:
    • クロール: startCrawl + getCrawlStatus(または crawl ウェイター)
    • バッチ: startBatchScrape + getBatchScrapeStatus(または batchScrape ウェイター)
    • 抽出: startExtract + getExtractStatus(または extract ウェイター)
  • クロールオプションのマッピング(下記参照)
  • /crawl/params-preview でクロールの prompt を確認

SDK サーフェス(v2)

JS/TS

メソッド名の変更(v1 → v2)

Scrape、Search、Map
v1 (FirecrawlApp)v2 (Firecrawl)
scrapeUrl(url, ...)scrape(url, options?)
search(query, ...)search(query, options?)
mapUrl(url, ...)map(url, options?)
クロール
v1v2
crawlUrl(url, ...)crawl(url, options?)(waiter)
asyncCrawlUrl(url, ...)startCrawl(url, options?)
checkCrawlStatus(id, ...)getCrawlStatus(id)
cancelCrawl(id)cancelCrawl(id)
checkCrawlErrors(id)getCrawlErrors(id)
バッチスクレイピング
v1v2
batchScrapeUrls(urls, ...)batchScrape(urls, opts?)(waiter)
asyncBatchScrapeUrls(urls, ...)startBatchScrape(urls, opts?)
checkBatchScrapeStatus(id, ...)getBatchScrapeStatus(id)
checkBatchScrapeErrors(id)getBatchScrapeErrors(id)
抽出
v1v2
extract(urls?, params?)extract(args)
asyncExtract(urls, params?)startExtract(args)
getExtractStatus(id)getExtractStatus(id)
その他/削除
v1v2
generateLLMsText(...)(v2 SDK にはありません)
checkGenerateLLMsTextStatus(id)(v2 SDK にはありません)
crawlUrlAndWatch(...)watcher(jobId, ...)
batchScrapeUrlsAndWatch(...)watcher(jobId, ...)

Python(同期)

メソッド名の変更(v1 → v2)

Scrape、Search、Map
v1v2
scrape_url(...)scrape(...)
search(...)search(...)
map_url(...)map(...)
Crawling
v1v2
crawl_url(...)crawl(...)(waiter)
async_crawl_url(...)start_crawl(...)
check_crawl_status(...)get_crawl_status(...)
cancel_crawl(...)cancel_crawl(...)
バッチスクレイピング
v1v2
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(...)
抽出
v1v2
extract(...)extract(...)
start_extract(...)start_extract(...)
get_extract_status(...)get_extract_status(...)
その他 / 廃止
v1v2
generate_llms_text(...)(v2 SDK では未対応)
get_generate_llms_text_status(...)(v2 SDK では未対応)
watch_crawl(...)watcher(job_id, ...)

Python(非同期)

  • AsyncFirecrawl は同じメソッドを備えており(すべて await 可能)、そのまま利用できます。

フォーマットとスクレイプオプション

  • 基本的な用途には文字列フォーマットを使用: "markdown", "html", "rawHtml", "links", "summary"
  • parsePDF の代わりに parsers: [ { "type": "pdf" } | "pdf" ] を使用。
  • JSON、変更トラッキング、スクリーンショットにはオブジェクトフォーマットを使用:

JSONフォーマット

const formats = [ {
  "type": "json",
  "prompt": "ページから企業のミッションを抽出してください。"
}];

doc = firecrawl.scrape(url, { formats });

スクリーンショットフォーマット

// スクリーンショットフォーマット(JS)
const formats = [ { "type": "screenshot", "fullPage": true, "quality": 80, "viewport": { "width": 1280, "height": 800 } } ];

doc = firecrawl.scrape(url, { formats });

クロールオプションの対応表(v1 → v2)

v1v2
allowBackwardCrawling(削除)crawlEntireDomain を使用
maxDepth(削除)maxDiscoveryDepth を使用
ignoreSitemap (bool)sitemap(例:「only」「skip」「include」)
(なし)prompt

クロール用プロンプトとパラメータのプレビュー

クロールパラメータのプレビュー例:
import Firecrawl from '@mendable/firecrawl-js';

const firecrawl = new Firecrawl({ apiKey: "fc-YOUR-API-KEY" });

const params = await firecrawl.crawlParamsPreview('https://docs.firecrawl.dev', 'Extract docs and blog');
console.log(params);