firecrawl-monitor
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinesefirecrawl monitor
firecrawl monitor
Detect when content on a website changes and get notified by webhook or email. Firecrawl handles fetching, diffing, judging, and notifying server-side. Each page in a check is labeled , , , , or .
samenewchangedremovederrorPick a target mode by what you're watching:
| Mode | Flags | Watches |
|---|---|---|
| Single page | | one URL, for changes |
| URL batch | | several URLs, for changes |
| Whole site | | every page a crawl discovers, for changes |
| Web search | | the whole web, for new results matching the goal |
The first three watch URLs you already have. Web search runs your queries each check and alerts on results it hasn't seen before (labeled once, on later checks); is required with .
newsame--goal--queries检测网站内容变更,并通过Webhook或邮件发送通知。Firecrawl在服务器端处理内容抓取、差异对比、状态判断与通知发送。每次检查中的每个页面会被标记为(无变化)、(新增)、(已变更)、(已移除)或(错误)。
samenewchangedremovederror根据监控目标选择对应模式:
| 模式 | 参数 | 监控内容 |
|---|---|---|
| 单页面 | | 单个URL的内容变更 |
| URL批量 | | 多个URL的内容变更 |
| 整站监控 | | 爬虫发现的整站所有页面的内容变更 |
| 全网搜索监控 | | 全网范围内符合目标要求的新增搜索结果 |
前三种模式针对已有的URL进行监控。全网搜索监控会在每次检查时执行查询,并针对首次发现的结果触发告警(首次标记为,后续检查标记为);使用时必须搭配参数。
newsame--queries--goalQuick start
快速开始
bash
undefinedbash
undefinedSingle page, natural-language schedule, email alert
单页面监控,自然语言设定周期,邮件告警
firecrawl monitor create --name "Blog" --schedule "every 30 minutes"
--goal "Alert when a new blog post is published."
--page https://example.com/blog
--email alerts@example.com
--goal "Alert when a new blog post is published."
--page https://example.com/blog
--email alerts@example.com
firecrawl monitor create --name "Blog" --schedule "every 30 minutes" \
--goal "Alert when a new blog post is published." \
--page https://example.com/blog \
--email alerts@example.com
Web monitor — search the whole web for NEW results matching a goal
全网监控——搜索全网符合目标的新增结果
firecrawl monitor create --name "Competitor launches" --schedule "daily at 9:00"
--queries "competitor product launch,competitor funding round"
--goal "Alert when a competitor announces a new product or raises funding."
--search-window 7d --max-results 20
--email alerts@example.com
--queries "competitor product launch,competitor funding round"
--goal "Alert when a competitor announces a new product or raises funding."
--search-window 7d --max-results 20
--email alerts@example.com
firecrawl monitor create --name "Competitor launches" --schedule "daily at 9:00" \
--queries "competitor product launch,competitor funding round" \
--goal "Alert when a competitor announces a new product or raises funding." \
--search-window 7d --max-results 20 \
--email alerts@example.com
Webhook notifications
Webhook通知
firecrawl monitor create --name "Docs webhook" --schedule "every 30 minutes"
--goal "Alert when docs content changes."
--page https://example.com/docs
--webhook-url https://example.com/hook
--webhook-events monitor.page,monitor.check.completed
--goal "Alert when docs content changes."
--page https://example.com/docs
--webhook-url https://example.com/hook
--webhook-events monitor.page,monitor.check.completed
firecrawl monitor create --name "Docs webhook" --schedule "every 30 minutes" \
--goal "Alert when docs content changes." \
--page https://example.com/docs \
--webhook-url https://example.com/hook \
--webhook-events monitor.page,monitor.check.completed
Manage and inspect
管理与查看
firecrawl monitor list --limit 20
firecrawl monitor get <monitorId>
firecrawl monitor run <monitorId> # trigger a check now
firecrawl monitor checks <monitorId> # list all checks
firecrawl monitor check <monitorId> <checkId> --page-status changed
firecrawl monitor update <monitorId> --state paused
firecrawl monitor delete <monitorId>
Subcommands: `create | list | get | update | delete | run | checks | check`. Run `firecrawl monitor <subcommand> --help` for the full option list.
**Done when:** `create` returns a monitor ID and a smoke-test `run` + `check` confirms the expected target, state, and notification configuration.
Read [goals.md](goals.md) when writing or refining `--goal` (and `--queries` for web monitors). Read [json-tracking.md](json-tracking.md) when the user cares about specific structured fields (price, headline, stock flag) and wants per-field diffs.firecrawl monitor list --limit 20
firecrawl monitor get <monitorId>
firecrawl monitor run <monitorId> # 立即触发一次检查
firecrawl monitor checks <monitorId> # 查看所有检查记录
firecrawl monitor check <monitorId> <checkId> --page-status changed
firecrawl monitor update <monitorId> --state paused
firecrawl monitor delete <monitorId>
子命令:`create | list | get | update | delete | run | checks | check`。执行`firecrawl monitor <subcommand> --help`查看完整参数列表。
**完成标志**:`create`命令返回监控ID,执行`run` + `check`进行冒烟测试,确认目标、状态与通知配置符合预期。
编写或优化`--goal`(以及全网监控的`--queries`)时,请阅读[goals.md](goals.md)。如果用户关注特定结构化字段(如价格、标题、库存标识)并需要字段级差异对比,请阅读[json-tracking.md](json-tracking.md)。Constraints & tips
约束与提示
- Minimum schedule interval is 5 minutes. Monitoring is not available for zero-data-retention teams.
- Prefer one monitor over repeated one-off scrapes whenever the user wants the same URL checked more than once.
- Silence temporarily with ; reserve
update --state pausedfor monitors that are permanently done. (deleteis an update flag;--stateis the global CLI status flag.)--status - Filter check pages with (or
--page-status changed,new,removed) to skip the noise fromerrorpages.same - triggers a check immediately — useful for smoke-testing a monitor right after creating it.
firecrawl monitor run <id> - controls how long snapshots are kept for diffing. Lower it for high-frequency monitors to save storage.
--retention-days - External email recipients must opt in. First time they're added, Firecrawl sends a confirmation email and they only receive alerts after they confirm. Team-owned addresses are auto-confirmed. Once a recipient unsubscribes, they must be re-added by the owner for a fresh confirmation email.
- On HTTP 429 / rate-limit errors, back off once: wait ~30s and retry once. If it persists, stop, report the rate limit as the blocking reason, and delete any monitors created for this task. Never retry in a loop.
- Monitor-triggered scrapes default to
maxAge— every check performs a fresh scrape unless0is set explicitly in a JSON payload.scrapeOptions.maxAge
- 最小周期间隔为5分钟。零数据保留团队无法使用监控功能。
- 当用户需要多次检查同一URL时,优先使用单个监控任务,而非重复的一次性爬取。
- 如需临时停止监控,使用;
update --state paused仅用于永久删除不再需要的监控任务。(delete是更新参数;--state是全局CLI状态参数。)--status - 使用(或
--page-status changed、new、removed)过滤检查页面,跳过无变化(error)页面的冗余信息。same - ****可立即触发一次检查——适合在创建监控任务后进行冒烟测试。
firecrawl monitor run <id> - ****控制快照保留时长(用于差异对比)。对于高频监控任务,可降低此值以节省存储空间。
--retention-days - 外部邮件接收人需主动订阅。首次添加时,Firecrawl会发送确认邮件,接收人确认后才能收到告警。团队内部邮箱会自动确认。一旦接收人取消订阅,需由管理员重新添加并发送新的确认邮件。
- 遇到HTTP 429/限流错误时,仅重试一次:等待约30秒后重试。如果问题持续,请停止操作,报告限流问题,并删除为此任务创建的所有监控任务。禁止循环重试。
- 监控触发的爬取默认为
maxAge——每次检查都会执行全新爬取,除非在JSON payload中显式设置0。scrapeOptions.maxAge
See also
相关链接
- firecrawl-scrape — one-off scrape; escalate to when checks become recurring
monitor - firecrawl-crawl — one-off crawl; pair with here for recurring crawl diffs
--crawl-url - firecrawl — top-level workflow guide
- firecrawl-scrape — 一次性爬取;当需要周期性检查时,升级为功能
monitor - firecrawl-crawl — 一次性爬虫;搭配此处的实现周期性爬虫差异对比
--crawl-url - firecrawl — 顶层工作流指南 ",