Firecrawl はジョブのライフサイクルの各段階で webhook イベントを送信するため、ポーリングしなくても進捗を追跡し、結果を取得し、失敗をリアルタイムで処理できます。
クイックリファレンス#
| Event | Trigger |
|---|---|
crawl.started | クロールジョブの処理が開始される |
crawl.page | クロール中にページがスクレイピングされる |
crawl.completed | クロールジョブが完了し、すべてのページが処理される |
batch_scrape.started | バッチスクレイプジョブの処理が開始される |
batch_scrape.page | バッチスクレイプ中にURLがスクレイピングされる |
batch_scrape.completed | バッチ内のすべてのURLが処理される |
extract.started | 抽出ジョブの処理が開始される |
extract.completed | 抽出が正常に完了する |
extract.failed | 抽出が失敗する |
agent.started | エージェントジョブの処理が開始される |
agent.action | エージェントがツール (スクレイピング、検索など) を実行する |
agent.completed | エージェントが正常に完了する |
agent.failed | エージェントでエラーが発生する |
agent.cancelled | エージェントジョブがユーザーによってキャンセルされる |
monitor.page | 監視対象ページのスクレイピングが完了する |
monitor.check.completed | monitor チェックが完了し、ページ単位の変更を利用できる |
ペイロード構造#
すべてのWebhookイベントは、この共通の構造を持ちます。
| Field | Type | Description |
|---|---|---|
success | boolean | 操作が成功したかどうか |
type | string | イベントタイプ (例: crawl.page) |
id | string | ジョブID |
data | array or object | イベント固有のデータ (下記の例を参照) |
metadata | object | Webhook 設定で指定したカスタムメタデータ |
error | string | エラーメッセージ (success が false の場合) |
クロールイベント#
crawl.started#
クロールジョブの処理が開始されるタイミングで送信されます。
crawl.page#
クロール中にスクレイピングされた各ページごとに送信されます。data 配列にはページのコンテンツとメタデータが含まれます。
crawl.completed#
クロール処理が完了し、すべてのページの処理が終了したときに送信されます。
バッチスクレイプイベント#
batch_scrape.started#
バッチスクレイプジョブの処理開始時に送信されます。
batch_scrape.page#
バッチ内でスクレイプされる各URLごとに送信されます。data 配列にはページコンテンツとメタデータが含まれます。
batch_scrape.completed#
バッチ内のすべてのURLの処理が完了したときに送信されます。
Monitorイベント#
monitor.page#
監視対象ページのスクレイピングが完了するたびに送信されます。このイベントはスクレイプワーカー経由で発行されるため、monitor check 全体の結果が確定する前に届きます。
monitor.check.completed#
monitor のチェックが完了したときに送信されます。data オブジェクトには、チェックの status と集計件数が含まれます。ページ単位の結果は、monitor.page イベントでのみ送信されるか、monitor check API から返されます。
ページエラーなしでチェックが完了した場合、success は true です。一部のみ完了したチェックまたは失敗したチェックでは、success は false となり、error にメッセージが含まれることがあります。
抽出イベント#
extract.started#
抽出処理が開始されると送信されます。
extract.completed#
抽出オペレーションが正常に完了したときに送信されます。data 配列には、抽出されたデータと使用状況情報が含まれます。
extract.failed#
抽出処理でエラーが発生したときに送信されます。error フィールドに失敗理由が格納されます。
エージェント イベント#
/v2/agent で webhook を指定して開始されたジョブに対して送信されます。
agent.started#
エージェントのジョブの処理が開始されると送信されます。
agent.action#
各ツール (scrape、search など) の実行ごとに送信されます。
action イベントの creditsUsed の値は、これまでに使用されたクレジット総量の推定値です。最終的かつ正確なクレジット数は、completed、failed、cancelled イベントでのみ取得できます。
agent.completed#
エージェントの処理が正常に完了したときに送信されます。data 配列には、抽出されたデータと消費されたクレジットの合計が含まれます。
agent.failed#
エージェントでエラーが発生したときに送信されます。error フィールドには失敗理由が含まれます。
agent.cancelled#
ユーザーがエージェントジョブをキャンセルしたときに送信されます。
イベントのフィルタリング#
デフォルトではすべてのイベントを受信します。特定のイベントだけを受信したい場合は、Webhook の設定で events 配列を指定してください。
ジョブの完了だけ分かればよく、ページ単位の更新は不要な場合に便利です。

