Skip to main content

事件类型

Webhook 事件参考
2 min read

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

快速参考#

事件触发条件
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监控检查完成,且页面级变更已可用

负载结构#

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

字段类型描述
successboolean操作是否成功
typestring事件类型 (例如 crawl.page)
idstring任务 ID
dataarray or object与事件相关的数据 (见下方示例)
metadataobject来自你在 webhook 配置中的自定义元数据
errorstring错误信息 (当 successfalse 时)

爬取事件#

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 字段中包含失败原因。

代理事件#

适用于通过 /v2/agent 使用 webhook 启动的任务。

agent.started#

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

agent.action#

在每次调用工具 (scrape、search 等) 后发送。

Note

action 事件中的 creditsUsed 值是目前累计使用 credits 总量的预估值。最终准确的 credits 消耗量仅在 completedfailedcancelled 事件中可用。

agent.completed#

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

agent.failed#

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

agent.cancelled#

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

事件过滤#

默认情况下,你会接收到所有事件。若只想订阅特定事件,请在 webhook 配置中通过指定 events 数组:

如果你只关心任务是否完成,而不需要逐页级更新时,这会很有用。