/monitor 可以监视已知页面、按计划爬取网站,或持续运行网页搜索,以查找与某个目标匹配的新结果。
所有监控类型都遵循相同的工作流:选择一个或多个目标,设置计划,添加一个可选的自然语言目标描述,并在有重要变化时接收 Webhook、电子邮件或 Slack 通知。本页介绍通用配置。若要查看特定目标的设置和示例,请前往 Page、Website 或 全网页规模 监控页面。
页面监控
监视一个或多个已知 URL,将每次抓取与上一次快照进行 diff,并在页面发生有意义的变化时触发告警。
网站监控
按计划爬取网站,检测新增、变更或移除的页面,并通知你的 Webhook 或收件箱。
全网页规模监控
定期运行网页搜索,并在出现与你的目标匹配的新结果时触发告警。
same、new、changed、removed 或 error。你可以在每个受监控页面处理完成时接收 Webhook,也可以在每次检查完成后接收一个 Webhook;还可以在发生更改或错误时接收电子邮件摘要、向某个频道发送的 Slack 通知,或组合使用这些通知方式。
目标
每个监控支持 1–50 个目标,并且你可以在同一个监控中混合使用不同的目标类型。
retentionDays 的默认值为 30,最高可设置为 365。
每次创建调用都会返回新创建的监控,其中包含规范化后的 cron、计算得出的 nextRunAt 和 estimatedCreditsPerMonth。启用判定后,estimatedCreditsPerMonth 是一个上限估算值,因为判定额度只会对实际发生变化且被判定的页面计费:
Response
目标与判定
goal。如果设置了 goal 但省略了 judgeEnabled,Firecrawl 会自动启用判定。判定会在已发生变化的页面上运行,并返回一个 judgment,其中包含 meaningful、confidence、reason 和 meaningfulChanges。
目标如何应用取决于目标:page 和 website 监控会对已发生变化的页面进行判定,而 entire web-scale monitors 会对每个新的搜索结果进行判定。
如果你想先保存目标、暂时不对变化进行判定,请使用 judgeEnabled: false。只有当监控同时设置了 judgeEnabled 且 goal 非空时,判定器才会运行。
对于
search 目标 (全网页规模监控) ,除非你设置了 judgeEnabled: false,否则 goal 为必填。对于 scrape 和 crawl 目标,则为可选。每次检查都会对底层抓取或爬取照常计费。如果启用了判定,判定器还会为其验证的每个已发生变化的页面额外收取 1 个额度。没有已发生变化页面的检查不会消耗判定额度。
monitor.page Webhook:
monitor.page
调度计划
every 30 minutesevery 15 minutes starting at :07hourlyevery 2 hoursdailydaily at 9:00daily at 9amdaily at 5:30 PMweekly
timezone 用于控制像 daily at 9am 这类短语何时运行。文本调度计划在转换为 cron 之前,会先按监控 ID 错开分布,因此多个监控不会在同一时刻同时运行。
变更追踪
same、changed、new、removed 或 error。如果你想检测特定结构化字段 (如价格、标题、库存状态标记、列表中的条目等) 的变化,请在目标的 scrapeOptions 中添加 changeTracking 格式,并设置 modes: ["json"],以启用 JSON 模式的变更追踪。
变更追踪适用于
scrape 和 crawl 目标。面向整个网页规模的 (search) 监控会针对新结果触发告警,而不是比较已知页面的差异。请参见 Statuses and dedup。Markdown 模式 (默认)
scrapeOptions.formats 仅为 ["markdown"] 时,检查 响应中的每个已变更页面都会附带统一文本 diff,以及一个 parseDiff 风格的 AST:
Markdown-mode diff
JSON 模式
changeTracking 格式并设置 modes: ["json"],同时提供一个 JSON schema (或用于描述你关注字段的 prompt) 。Firecrawl 会在每次检查时提取该 JSON,并输出一个按字段区分的差异,以字段路径作为键;此外还会附带一个包含当前完整提取结果的 snapshot.json,这样消费方就无需重新获取底层 抓取 结果。
{previous, current} 对:
JSON-mode diff
即使被跟踪的字段都没有变化,但周围的 markdown 发生了变化,JSON 模式监控仍会报告
same,除非你同时启用 git-diff (请参见下方的混合模式) 。该 diff 只关注 schema 中定义的字段。混合模式 (JSON + git-diff)
Mixed target (JSON + git-diff)
diff.text (markdown sidecar) 和 diff.json (逐字段差异) ,以及提取得到的 snapshot.json:
Mixed-mode diff (JSON + git-diff)
changed。
通知
Webhooks
webhook 时,Firecrawl 可以发送两种监控事件:
monitor.page:每个被监控的 抓取 在 抓取 worker 中完成后发送。monitor.check.completed:在完整检查完成汇总后发送。包含检查状态和汇总计数。页面级结果请使用monitor.page事件或监控检查 API。
monitor.page 会包含 isMeaningful 和 judgment。
Webhook config
monitor.page 载荷:
monitor.page
monitor.check.completed 载荷:
monitor.check.completed
success 为 true。对于失败或部分完成的检查,它为 false;如果可用,error 会包含失败原因。
电子邮件
Email config
recipients,Firecrawl 会将邮件发送给有资格接收系统告警邮件的团队成员。
你最多可以配置 25 个明确指定的收件人。
收件人确认流程
Slack
Slack 通知仅支持在 Dashboard 中使用。它们只能通过监控 Dashboard进行配置,不能通过 API 或 SDKs 配置。
- 打开监控 Dashboard。你可以在创建新监控时添加 Slack 通知,也可以将其添加到已存在的监控中。
- 在创建监控时,或选择现有监控后,滚动到 通知 并选择 Slack。
- 系统会提示你完成 OAuth 流程。完成后,选择你希望接收通知的工作区和频道。
查看检查结果
GET /v2/monitor/{monitorId}/checks 获取检查列表,使用 GET /v2/monitor/{monitorId}/checks/{checkId} 查看某次检查的详情。SDKs 默认会自动处理分页。
status 过滤:queued、running、completed、failed、partial 或 skipped_overlap。
检查详情响应包含 estimatedCredits、actualCredits、汇总计数以及分页的 pages 数组。estimatedCredits 是该检查预留额度的上限;actualCredits 是 Firecrawl 在确认有多少页面发生变化并需要判定后,最终收取的额度。使用顶层 next URL 获取下一页结果,其分页方式与 爬取 保持一致。你还可以按页面 status 过滤:same、new、changed、removed 或 error。每个已变更页面都包含内联 diff 数据;来自 JSON 模式监控的页面还会包含带有当前提取结果的 snapshot。
- Markdown 模式
- JSON 模式
- 混合模式
Markdown-mode response

