Skip to main content
Firecrawl は複雑なウェブインフラストラクチャに対応しながら、網羅的なデータ抽出のためにウェブサイトを効率よくクロールします。プロセスは次のとおりです:
  1. URL 分析: サイトマップをスキャンし、サイト全体をクロールしてリンクを特定
  2. トラバーサル: すべてのサブページを見つけるためにリンクを再帰的にたどる
  3. スクレイピング: 各ページからコンテンツを抽出し、JS やレート制限に対応
  4. 出力: データをクリーンな Markdown または構造化フォーマットに変換
これにより、任意の開始 URL からの徹底的なデータ収集を実現します。

Playground で試す

インタラクティブな Playground でクロールをテストできます。コードは不要です。

クローリング

/crawl エンドポイント

指定した URL と、その下にあるアクセス可能なサブページをクロールします。クロールジョブを送信し、進行状況を確認するためのジョブ ID を返します。
既定では、指定した URL の子ページでないサブリンクはクロール対象外になります。たとえば、website.com/blogs/ をクロールしても website.com/other-parent/blog-1 は返されません。website.com/other-parent/blog-1 も取得したい場合は、crawlEntireDomain パラメータを使用してください。website.com をクロールする際に blog.website.com のようなサブドメインもクロールするには、allowSubdomains パラメータを使用してください。
既定では、クローラーは URL を検出するためにサイトのサイトマップを利用します(sitemap: "include")。sitemap: "skip" を設定すると、クローラーはルート URL から HTML リンクをたどって到達できるページのみを検出します。PDF のようなアセットや、サイトマップには記載されているものの、どの HTML ページからも直接リンクされていない深い階層のページは取得されません。最大限のカバレッジを得るには、既定の sitemap: "include" 設定のままにしておくことを推奨します。

インストール

使い方

クロールされたページ 1 件ごとに 1 クレジットを消費します。デフォルトのクロール limit は 10,000 ページです。クレジット消費を抑えるには、limit: 100 のように、クロール対象を 100 ページに制限するなど、より小さい limit を設定してください。特定のオプションには追加クレジットが必要です。JSONモードはページごとに追加で 4 クレジット、拡張プロキシはページごとに追加で 4 クレジット、PDF 解析は PDF のページごとに 1 クレジットを消費します。

クロールでのスクレイプオプション

Scrape エンドポイントのすべてのオプションは、scrapeOptions(JS)/ scrape_options(Python)経由で Crawl でも利用できます。これらはクローラーがスクレイプするすべてのページに適用されます(フォーマット、プロキシ、キャッシュ、アクション、ロケーション、タグなど)。詳細は Scrape API Reference を参照してください。

API レスポンス

cURL または starter メソッドを使用している場合、クロールのステータスを確認するための ID が返されます。
SDK を使用している場合は、以下のメソッドで waiter と starter の動作の違いをご確認ください。

クロールジョブの確認

クロールジョブのステータスを確認し、結果を取得します。
ジョブの結果は、完了後24時間は API 経由で取得できます。この期間を過ぎても、activity logs からクロール履歴と結果を参照できます。
クロール結果の data 配列に含まれているページは、対象サイトが 404 のような HTTP エラーを返した場合でも、Firecrawl がスクレイピングに成功したページです。metadata.statusCode フィールドには、対象サイトから返された HTTP ステータスコードが含まれます。Firecrawl 自体がスクレイピングに失敗したページ(ネットワークエラー、タイムアウト、robots.txt によるブロックなど)を取得するには、専用の Get Crawl Errors エンドポイント(GET /crawl/{id}/errors)を使用してください。

レスポンスの処理

レスポンスはクロールのステータスによって異なります。 未完了のレスポンス、またはサイズが10MBを超える大きなレスポンスの場合は、next URLパラメータが付与されます。次の10MBのデータを取得するには、このURLにリクエストしてください。next パラメータがない場合は、クロールデータの終端を示します。 skip パラメータは、返却される各チャンクに含まれる結果の最大件数を設定します。
skip と next のパラメータが関係するのは、API を直接呼び出す場合のみです。 SDK を使用している場合は、こちらで処理し、すべての 結果を一度に返します。

SDK メソッド

SDK の利用方法は 2 通りあります:
  1. クロールして待つcrawl):
    • クロールの完了を待機し、完全なレスポンスを返します
    • ページネーションを自動処理します
    • ほとんどのユースケースで推奨
レスポンスには、クロールのステータスと収集された全データが含まれます:
  1. 開始してステータス確認startCrawl/start_crawl):
    • 即時にクロール ID を返します
    • ステータスを手動で確認可能
    • 長時間のクロールや独自のポーリングロジックに有用

Crawl WebSocket

Firecrawl の WebSocket ベースのメソッド「Crawl URL and Watch」は、リアルタイムでのデータ抽出と監視を実現します。URL を指定してクロールを開始し、ページ上限、許可ドメイン、出力フォーマットなどのオプションでカスタマイズできます。即時のデータ処理に最適です。

クロール Webhook

クロールの進行に合わせてリアルタイム通知を受け取れるよう、webhook を設定できます。これにより、クロール全体の完了を待たずに、スクレイプされたページを随時処理できます。
cURL

クイックリファレンス

イベントタイプ:
  • crawl.started - クロールが開始されたとき
  • crawl.page - 各ページのスクレイピングに成功したとき
  • crawl.completed - クロールが終了したとき
  • crawl.failed - クロール中にエラーが発生した場合
基本ペイロード:

セキュリティ: Webhook シグネチャの検証

Firecrawl からのすべての webhook リクエストには、HMAC-SHA256 シグネチャを含む X-Firecrawl-Signature ヘッダーが含まれます。Webhook が正当で改ざんされていないことを確認するために、必ずこのシグネチャを検証してください 仕組み:
  1. アカウント設定の Advanced タブ から webhook secret を取得する
  2. X-Firecrawl-Signature ヘッダーからシグネチャを取得する
  3. 取得した secret を使い、生のリクエストボディに対して HMAC-SHA256 を計算する
  4. タイミング攻撃耐性のある関数を使って、計算結果とヘッダーのシグネチャを比較する
シグネチャを最初に検証せずに webhook を処理してはいけません。X-Firecrawl-Signature ヘッダーには、sha256=abc123def456... という形式でシグネチャが含まれています。
JavaScript と Python による完全な実装例については、Webhook セキュリティのドキュメント を参照してください。

詳細ドキュメント

詳細なイベントペイロード、ペイロード構造、高度な設定、トラブルシューティングなどを含む包括的な webhook のドキュメントは、Webhooks ドキュメントを参照してください。