跳转到主要内容
Firecrawl 会在任务生命周期的各个阶段发送 Webhook 事件,因此你无需轮询,即可实时跟踪进度、获取结果并处理失败情况。

快速参考

负载结构

所有 webhook 事件均采用以下结构:

爬取事件

crawl.started

在爬取任务开始处理时发送。

crawl.page

在爬取过程中,每抓取到一个页面就会发送此事件。data 数组包含页面内容和元数据。

crawl.completed

在爬取任务结束且所有页面都已处理时发送。

批量抓取事件

batch_scrape.started

在批量抓取任务开始处理时发送。

batch_scrape.page

针对批处理中每个被抓取的 URL 发送。data 数组包含页面内容和元数据。

batch_scrape.completed

在批次中的所有 URL 均处理完成后发送。

监控事件

monitor.page

每个受监控页面抓取完成时都会发送此事件。该事件由抓取工作器流程发出,因此会在完整的监控检查完成汇总前到达。
monitor.page

monitor.check.completed

在监控检查完成时发送。data 对象包含检查状态和汇总计数。页面级结果仅会通过 monitor.page 事件发送,或由监控检查 API 返回。
monitor.check.completed
当检查完成且没有页面错误时,successtrue。对于部分完成或失败的检查,successfalse,且 error 可能包含错误消息。

提取事件

extract.started

当提取任务开始处理时发送。

extract.completed

在提取操作成功完成后发送。data 数组包含提取的数据和用量信息。

extract.failed

当提取失败时发送。error 字段中包含失败原因。

Agent 事件

agent.started

当 Agent 任务开始执行时发送。

agent.action

在每次调用工具(scrape、search 等)后发送。
action 事件中的 creditsUsed 值是目前累计使用 credits 总量的预估值。最终准确的 credits 消耗量仅在 completedfailedcancelled 事件中可用。

agent.completed

当 agent 成功完成时会发送该事件。data 数组包含提取的数据以及消耗的总额度(credits)。

agent.failed

当 agent 遇到错误时会发送该事件。error 字段包含失败原因。

agent.cancelled

当用户取消代理作业时发送。

事件过滤

默认情况下,你会接收到所有事件。若只想订阅特定事件,请在 webhook 配置中通过指定 events 数组:
如果你只关心任务是否完成,而不需要逐页级更新时,这会很有用。