/monitor を使うと、既知のページを監視したり、スケジュールに従って Web サイトをクロールしたり、ゴールに一致する新しい結果を見つけるために常時稼働の Web 検索を実行したりできます。
すべてのモニタータイプは同じワークフローを共有しています。1 つ以上の ターゲット を選択し、スケジュールを設定し、任意の自然言語のゴールを追加して、重要な変化があったときに webhook、メール、または Slack 通知を受け取ります。このページでは共通の構成について説明します。ターゲット 固有の設定と例については、Page、Website、または Web 全体規模の監視 のモニタリングページを参照してください。
ページ監視
1 つ以上の既知の URL を監視し、各スクレイピング結果を前回のスナップショットと diff し、意味のあるページ変更があれば alert を送信します。
Web サイト監視
スケジュールに従ってサイトをクロールし、追加、変更、削除されたページを検出して、webhook または受信トレイに通知します。
Web 全体規模の監視
定期的に Web 検索を実行し、ゴールに一致する新しい結果が現れたときに alert を送信します。
same、new、changed、removed、error として記録されます。監視対象の各ページの処理完了時に webhook を受け取ることも、チェックが完了するたびに webhook を受け取ることも、変更やエラーが発生した際にメールで要約を受け取ることも、チャンネルに Slack 通知を受け取ることもでき、これらを自由に組み合わせることもできます。
終了: /monitor フィードバック報酬
報酬の対象となるすべてのインタビュー参加者には、すでにご連絡しています。今後の報酬キャンペーンはドキュメント内でご確認ください!
ターゲット
| ターゲット | 監視対象 | セットアップ |
|---|---|---|
scrape | 指定した既知の URL | ページ監視 |
crawl | クロールによって検出されたすべてのページ | Web サイト監視 |
search | Web 全体の新しい検索結果 | Web 全体規模の監視 |
retentionDays のデフォルトは 30 で、最大 365 まで設定できます。
create の各呼び出しでは、正規化された cron、計算済みの nextRunAt、および estimatedCreditsPerMonth を含む新しいモニターが返されます。判定が有効な場合、estimatedCreditsPerMonth は上限見積もりになります。これは、判定クレジットが実際に判定された変更ページに対してのみ課金されるためです:
Response
ゴールと判定
goal を追加します。goal が指定されていて judgeEnabled が省略されている場合、Firecrawl は自動的に判定を有効にします。判定は変更のあったページで実行され、meaningful、confidence、reason、meaningfulChanges を含む judgment を返します。
ゴールの適用方法は ターゲット によって異なります。page と website のモニターでは変更されたページを判定し、entire web-scale monitors では新しい各 search result を判定します。
変更の判定はまだ行わず、ゴールだけを保存したい場合は、judgeEnabled: false を使用します。判定が実行されるのは、モニター に judgeEnabled と空でない goal の両方が設定されている場合だけです。
search ターゲット (entire web-scale monitoring) では、judgeEnabled: false を設定しない限り goal が必要です。scrape と crawl ターゲット では 任意 です。各 チェック では、常に元となるスクレイピングまたはクロールの料金が発生します。判定が有効な場合、judge は検証した変更済みページごとに 1 クレジット を追加で消費します。変更されたページがない チェック では、judge クレジット は消費されません。
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 に modes: ["json"] を指定した changeTracking フォーマットを追加して、JSONモードの変更追跡を有効にします。
変更追跡は
scrape ターゲットと crawl ターゲットに適用されます。Web スケール全体の (search) モニターは、既知のページの差分を比較するのではなく、新しい結果が見つかったときにアラートを送信します。詳しくは ステータスと重複排除 を参照してください。Markdown モード (デフォルト)
scrapeOptions.formats が ["markdown"] のみの場合、チェック レスポンス内の変更された各ページには、unified 形式のテキスト差分と、parseDiff スタイルの AST が含まれます。
Markdown-mode diff
JSONモード
modes: ["json"] を指定した changeTracking フォーマットを、注目するフィールドを定義した JSON schema (または prompt) とあわせて渡します。Firecrawl はチェックのたびにその JSON を抽出し、フィールドパスをキーとするフィールド単位の差分を出力します。さらに、利用側で元のスクレイピング結果を再取得しなくて済むよう、現在の抽出結果全体を含む snapshot.json も出力します。
{previous, current} のペアです。
JSON-mode diff
追跡対象のフィールドに変更がなく、周囲の Markdown だけが変わった場合でも、git-diff も有効にしない限り (下記の mixed mode を参照) 、JSONモードのモニターは
same を返します。この差分は、schema 内のフィールドだけに焦点を当てています。Mixedモード (JSON + git-diff)
Mixed target (JSON + git-diff)
snapshot.json の抽出結果に加えて、diff.text (markdown のサイドカー) と diff.json (フィールド単位の差分) の両方が含まれます。
Mixed-mode diff (JSON + git-diff)
changed が報告されます。
通知
Webhooks
webhook が設定されている場合、Firecrawl は 2 つの モニター event を送信できます。
monitor.page: 監視対象の各ページのスクレイピングが scrape worker で完了するたびに送信されます。monitor.check.completed: チェック全体の整合処理が完了した後に送信されます。チェック の status と集計数が含まれます。ページ単位の結果を確認するには、monitor.pageevent または モニター check 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通知はダッシュボード専用の機能です。設定できるのはmonitoring dashboardのみで、APIやSDKsからは設定できません。
- monitoring dashboardを開きます。新しいモニターの作成中にSlack通知を追加することも、すでに存在するモニターに追加することもできます。
- モニターの作成中、または既存のモニターを選択した後、Notificationsまでスクロールして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モード
- Mixedモード
Markdown-mode response
料金
| コンポーネント | クレジット |
|---|---|
| スクレイピングモニター | URL ごとに、チェック 1 回あたり 1 クレジット |
| クロールモニター | 検出されたページごとに、チェック 1 回あたり 1 クレジット |
| ウェブモニター | 10 件の結果ごとに、チェック 1 回あたり 2 クレジット |
| ウェブモニターの判定 | AI 判定が有効な場合、判定された結果ごとに 1 クレジット (結果のスクレイピングと評価を含む) |
| 有意な変更の判定が有効 | 判定で変更ありと認められたページごとに追加で 1 クレジット |
| Format アドオン (JSON、PDF、question、enhanced mode など) | 単体のscrapeと同じ |

