Page DeltasPage Deltas

ガイド

あらゆるウェブサイトを変更検知API化する方法

あなたが関心を寄せるページのほとんどは、APIを提供することはありません。競合の料金表、ベンダーの利用規約PDF、規制当局の公示、パートナーの更新履歴:データはHTMLの中に存在しますが、呼び出すエンドポイントはありません。現実的な選択肢は3つです。自前でスクレイパーを開発して頻発する不具合と戦うか。スクレイピングAPIにお金を払って都度ページ全体を抽出するか。あるいは、ページを変更フィード化するかです。モニターがあなたの代わりにページを監視し、重要な変化が生じた時だけJSONをプッシュします。本記事では、Page Deltasを使ってこの3つ目の方法を最初から最後まで実現する手順を解説します。

無料プラン · 監視対象URLまたはサイトマップ10件 · 無制限のチェック(ベストエフォート) · AIフィルタリングと要約 · 全プランでREST API、MCP、署名付きWebhookに対応 · クレジットカード不要

sitemap.xmlで3つの新しいページを検出
POST https://hooks.your-app.com/page-deltas200
{
  "event": "sitemap.new_urls",
  "monitor": "https://www.hubspot.com/sitemap.xml",
  "detected_at": "2026-06-15T19:30:00Z",
  "new_urls": [
    "https://www.hubspot.com/case-studies/workleap",
    "https://www.hubspot.com/products/artificial-intelligence/use-cases/sales-meeting-prep-and-follow-up",
    "https://www.hubspot.com/email-signature-generator/create-rules-gmail"
  ]
}

自作スクレイパー vs スクレイピングAPI vs 変更フィード

率直な目安:データセットとして数千ページを収集する必要があるなら、スクレイピングAPIを使いましょう。1つの公開ページが特定の条件に沿って変化したことだけを検知したいなら、変更フィードの方がコード量も少なく、運用の手間も大幅に削減できます。

自作スクレイパー

得られるもの:自身でパースする生HTML。特殊なサイトを完全に制御したい場合に最適。開発負荷は極めて高い(セレクター、プロキシ、レンダリング、リトライ)。サイトのデザインが刷新されると、パーサーは静かに壊れます。データの鮮度はcronの実行頻度次第。一般的なコスト:インフラ費用とエンジニアの工数。

スクレイピングAPI

得られるもの:リクエストごとに構造化されたデータ。多数のページを一括抽出したい場合に最適。開発負荷は低〜中程度。サイト崩れの大半はベンダー側が吸収してくれます。データの鮮度はAPIを呼び出した時点のもの。一般的なコスト:リクエストごとの従量課金クレジット。

変更フィード(本ガイド)

得られるもの:意味のある変化が生じた時のAI要約付きJSONイベント。「このページに変更があったらシステムに知らせる」用途に最適。開発負荷は最小限:モニターを1つ作成し、Webhookまたはポーリングを設定するだけ。コンテンツ抽出とLLMの指示内容により重要な変化を判断。適応型チェックを実施し、一致時にエンドポイントへプッシュ。プランごとの監視対象URL数に応じた課金(Page Deltasではチェック回数はカウントされません)。

構築するシステムの内容

ベースURL:https://api.pagedeltas.com。すべてのエンドポイントは /api 配下にあります。正常時のレスポンスはJSON形式です。

アカウントとAPIキー

無料のPage Deltas組織を作成し、APIキーを発行します。

指示書(ブリーフ)付きモニター

自然言語の指示書(フィルター条件)を指定して、公開URLに対するモニターを作成します。

ポーリングまたはWebhook

GET /api/monitors/{id}/changes をポーリングするか、汎用Webhookチャンネルを紐付けて、条件一致時に署名付きJSONを自社アプリにPOSTします。

任意のMCP連携

同じAPIキーを使って、MCP経由でClaude、Cursor、またはVS Codeに接続します。

セットアップ:ページを変更フィードに変換する

APIキーの発行から署名付きWebhookまで5つのステップで完了します。プル型(ポーリング)ではなくプッシュ型で受信したい場合はWebhookをお勧めします。

01

アカウントとAPIキーの作成

pagedeltas.com/register でサインアップします。クレジットカードは不要です。無料プラン:監視対象URLまたはサイトマップ10件、無制限のチェック(ベストエフォート頻度)、AIフィルタリングと要約、チームメンバー無制限、Slack / Discord / Teams / メール / 署名付きWebhook、14日間の履歴、REST APIおよびMCP。アプリ内:Settings → API keys(editorまたはadmin)。キーを作成してすぐにコピーしてください。キーは一度しか表示されません。export PAGEDELTAS_TOKEN="pdt_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"。キーは組織スコープで発行され、その組織内で管理者レベルの権限を持ちます。個々のメンバーに紐付いていないため、チームメンバーを削除してもキーは失効しません。アクセスを遮断するにはキーを削除してください。パスワードと同様に環境変数やシークレットストアで管理し、コミット対象の設定ファイルには絶対に含めないでください。

02

モニターの作成(cURL)

POST https://api.pagedeltas.com/api/monitors をヘッダー Authorization: Bearer $PAGEDELTAS_TOKEN およびJSONボディで実行します:url、nl_description(指示書)、任意の filter_prompt、および channel_ids: []。指示書の例:"競合他社の料金ページ。いずれかのプラン価格が変更された場合、プランが追加・削除された場合、またはクォータや制限が変更された場合にアラートを送信。Cookieバナー、A/Bテストのレイアウト変更、ローテーション表示の利用者の声は無視。" チェック頻度を指定するフィールドはありません。頻度は適応型です(更新頻度の高いページは高頻度、静かなページは低頻度でチェック。有料プランは優先チェック対象)。オンデマンドで即座にチェックを実行するには POST /api/monitors/{id}/check-now を使用します(モニターあたり1分に1回までにレート制限)。nl_description は、変更が重要かどうかをLLMが判定するための指示書です。曖昧な指示書にすると、Webhookに不要な視覚的差分が大量に押し寄せることになります。オプション項目:filter_prompt、css_selector、xpath_selector、is_pdf、および channel_ids(モニター個別の通知先上書き。組織のデフォルトを使用する場合は省略)。公開ウェブページのみ対象です。ログインが必要なページは現時点では未対応です。サイトマップモニターは、「既存ページが書き換えられたか」ではなく「まったく新しいURLが出現したか」を監視するための別リソース(/api/sitemap-monitors)です。

03

変更フィードのポーリング

GET https://api.pagedeltas.com/api/monitors/{id}/changes?limit=50 をBearerトークン付きで実行します。最新の変更から順に返されます(デフォルト50件、最大100件)。カーソルはありません。すでに処理した最新の detected_at を自身で追跡してください。各変更オブジェクトには id、detected_at、および summary(未加工のHTML差分ではなく、指示書に合致した内容を平易な言葉で説明したAI要約)が含まれます。summary をSlackやチケット管理システム、他のエージェントに直接連携できます。

04

Pythonでの作成とポーリング

requests ライブラリを使い、Authorization Bearer および Content-Type application/json ヘッダーを指定します。url、nl_description、channel_ids: [] を指定して POST /api/monitors を実行。レスポンスから monitor["id"] を取得します。その後、GET /api/monitors/{monitor_id}/changes を limit=50 で呼び出し、各変更の detected_at と summary を出力します。ポーリングが必要な場合はこれを定期実行してください。プッシュ通知を希望する場合はWebhookをお勧めします。

05

ポーリング不要、プッシュ型JSONの受信(HMAC署名付きWebhook)

アプリ内:Channels → Add a channel → Generic webhook。受信先のHTTPS URLを貼り付けます。表示されたチャンネルシークレットをコピーします(一度だけ表示されます)。Send testをクリックします。またはAPI経由でチャンネルを作成(POST /api/alert-channels)し、PUT /api/monitors/{id}/alert-channels で紐付けるか、channel_ids を空にして組織のデフォルト設定を使用します。条件に一致する変更が発生するたびに、Content-Type application/json およびヘッダー X-Signature: sha256=<hex> を付与したプレーンなJSONがURLへPOST送信されます。フィールドには event (change.detected)、monitor_id、monitor_url、monitor_name、change_id、detected_at、summary、before_screenshot_url、after_screenshot_url、および dashboard_url が含まれます。生のリクエストボディとチャンネルシークレットを用いてHMAC-SHA256を計算し、X-Signature(ヘッダー形式 sha256=<hex>)を検証してください。JSONをパースする前の完全一致バイト列でハッシュを計算しないと検証に失敗します。今後新しいフィールドが追加される可能性があるため、未知のキーは無視するように設計してください。配信に関する注意:現在、アラート1件につきチャンネルごとに1回の試行のみ行われます(自動リトライなし)。そのため迅速に応答し、重複受信に対して冪等に処理してください。ネットワークエラーや2xx以外のレスポンスは配信失敗として記録されますが、配信エラーによってモニター自体が停止することはありません。すべての配信試行はサーバー側で監査ログに記録されます。プログラムではなく人間向けに通知する場合は、同様の手順でSlack、Discord、Teams、メールチャンネルを設定します。Slack連携の手順は「Slackでウェブサイトの変更通知を受け取る方法」に記載されています。

任意:Claude、Cursor、VS Codeからモニターを操作する(MCP)

同じAPIキーを使用します。ストリーミング対応HTTP MCPエンドポイント:https://api.pagedeltas.com/mcp。エージェントは create_monitor、list_monitor_changes、create_alert_channel、サイトマップヘルパーなどのツールを利用できます。MCPではCookieセッションは使用できません。ポーリングを行わないイベント駆動型システムにはWebhookチャンネルの利用をお勧めします。

Cursor mcp.json

~/.cursor/mcp.json で mcpServers.pagedeltas.url を https://api.pagedeltas.com/mcp に、headers.Authorization を Bearer pdt_xxxxxxxx に設定します。Cursorを再起動するとツールが読み込まれます。

クライアント設定例

Claude Code、VS Code、およびmcp-remote経由のClaude Desktopの設定方法はMCPドキュメントに記載されています。

MCPドキュメント

自然言語の指示書がクエリ言語になる

REST APIではクエリパラメータで絞り込みを行いますが、変更フィードではモニターに設定した自然言語の指示書(ブリーフ)がフィルターとなります。Page Deltasがページを抽出し、前回のチェック結果と比較した上で、その差分が指示書に合致するかをLLMに判定させます。一致したアラートには、文章による要約と変更前後のスクリーンショットが添付されます。同僚に作業を依頼するような感覚で指示書を作成してください。

価格改定

プランの価格が変更された場合、または新しいプラン階層が追加された場合。

入札・公募情報(RFP)

当社の事業対象分野で新しい公募や入札案件が公示された場合。

APIドキュメント

APIドキュメントにエンドポイントが追加、削除、または非推奨化された場合。

採用情報

シニアエンジニアの募集が掲載された場合。非エンジニア職は除外。

監視全般の総合ガイド

当社の総合監視ガイドおよびフィルターと説明のガイドと同じ基本原則を採用しています。

ウェブサイトの変更を監視する方法

フィルター作成ガイド

指示書を作成する際にうまくいく例と避けるべき失敗例を解説。

フィルターと説明

実際に考慮すべき制限(気にする必要のない制限)

Page Deltasにおいてプラン検討の基準となるのは、監視対象とするURL(またはサイトマップ)の件数であり、月間のチェック実行回数ではありません。APIの読み取り・書き込みエンドポイントには、常識的な利用範囲を超える制限や個別課金はありません。唯一の例外は check-now で、モニターあたり毎分1リクエストに制限されています(超過時は429とRetry-Afterヘッダーを返却)。プランのURL上限に達すると、現在の件数と上限値を含む422エラーが返されます。チェック回数従量制の従来型ツールのように複雑な計算(「1ページを毎時チェックすると月間約720回…」)をする必要はありません。ページを選び、指示書を書くだけです。巡回頻度は自動的に最適化されます。

Free

監視対象URL 10件 · 14日間の履歴 · 無制限のチェック(ベストエフォート)、AI、API、MCP、全5種の通知チャンネル · $0

Starter

監視対象URL 150件 · 30日間の履歴 · 月額$29 · 優先チェック

Pro

監視対象URL 1,000件 · 90日間の履歴 · 月額$79

Business

監視対象URL 5,000件 · 365日間の履歴 · 月額$199

Scale

監視対象URL 20,000件 · 730日間の履歴 · 月額$499

Enterprise

カスタムURL数および履歴保持期間 · SSO / SCIM対応

Visualping型変更検知APIとの決定的な違い

Visualpingの開発者向け機能は、固定間隔の指定、任意のCSS/XPath絞り込み、月間チェック上限、そして視覚的差分や重要度フラグを中心とした重厚なWebhookペイロードに依存しています。「ピクセル単位のズレを検知して、その後の判断は自社コードに任せる」という用途には有効です。一方、Page Deltasは「指示書に合致する変化が生じたときだけ自社システムを起こす」ために設計されています。本記事はその連携ガイドであり、プランごとの詳細な比較は「Page Deltas vs Visualping」をご覧ください。

自然言語の指示書を最優先

主要なフィルターは指示書です。セレクターの指定は任意であり必須ではありません。

適応型のチェック頻度

巡回間隔を手動で設定する必要はありません。更新の多いページは頻繁に、静かなページは間隔を空けてチェックします。

無駄のないシンプルなWebhookペイロード

要約テキスト(summary)、スクリーンショットURL、およびHMAC署名(X-Signature)を中心とした構造。

チェック回数無制限・URL件数に応じた課金

すべてのプランでチェック回数は無制限。監視するURLの数に対してのみ料金が発生します。

共通のAPIキーでMCPを利用可能

MCPはREST APIとまったく同じAPIキーで動作します。

詳細な製品比較

Page DeltasとVisualpingのプランごとの機能比較。

Page Deltas vs Visualping

率直に伝える制限事項

本番システムと連携する前に、この変更フィードができることとできないことを把握しておきましょう。

公開ウェブページのみ対応

マーケティングサイト、公開PDF、公開求人ページ、公開サイトマップが対象です。ログインが必要なポータルサイトは今後のロードマップに含まれますが、現時点では未対応です。

ビジュアルリグレッションや改ざん検知専用ツールではありません

「このピクセルが20px移動したか」を正確に検知することが目的であれば、ピクセル差分専用ツールの方が適しています。

LinkedInやXのアクティビティ監視には非対応

Page Deltasはオープンなウェブを監視します。個人レベルのLinkedInやXのアクティビティ監視はMultiFollow、各SNSを横断したキーワード言及の監視はKWatchをご利用ください。

Webhook配信は現在1回限りの試行

重複受信を想定し、冪等性を持った受信エンドポイントを設計してください。

レスポンスのフィールド名を独自に推測しない

最新のAPIリファレンスから構造をコピーし、未定義のJSONキーは無視するように実装してください。

APIリファレンス

関連ガイドとドキュメント

チーム向けSlack連携の詳細、ノーコードクイックスタート、および最新のAPIスキーマ。

Slack変更アラート

同じモニターをSlackのIncoming Webhookに接続し、プログラムではなく人間のチームメンバーへ通知。

Slackでウェブサイトの変更通知を受け取る方法

クイックスタート

ノーコードの手順:URLを入力し、指示書を書き、チャンネルを選んで「Send test」を押すだけ。

クイックスタート

APIリファレンス

リアルタイムのリクエスト・レスポンススキーマ。ここからフィールド名をコピーし、未知のJSONキーは無視してください。

APIリファレンス

MCPドキュメント

Claude Code、Cursor、VS Code、Claude Desktop向けの設定例。

MCPドキュメント

よくある質問

APIのないウェブサイトからデータを取得するにはどうすればよいですか?
3つの方法があります:自作スクレイパーを開発する、一括抽出用のスクレイピングAPIを利用する、または変更監視APIをページに向けてJSON変更フィードを受け取る方法です。「このページが変更されたら自社システムに通知する」用途においては、通常は変更フィードが最も少ないコード量で実現できます(モニターを作成し、Webhookまたはポーリングを設定するだけです)。
コードを書かずに設定することはできますか?
はい。ダッシュボードでモニターを作成し、「Channels」から汎用Webhook(またはSlack、Teams、Discord、メール)を追加し、指示書を入力して「Send test」をクリックするだけです。ノーコードでの手順はクイックスタートガイドをご覧ください。
スクレイピングAPIと変更監視APIの違いは何ですか?
スクレイピングAPIは呼び出しのたびにページ全体のコンテンツを抽出します。変更監視APIはページを継続監視し、事前に算出されたAI要約と合わせて変更点のみを配信します。データ抽出自体が目的の場合はスクレイパーを、指示書に合致する変化があったかを知りたい場合は変更フィードをご利用ください。
APIやWebhookの利用に追加料金はかかりますか?
いいえ。無料プランを含むすべてのプランに、REST API、MCP、および署名付きWebhookが含まれています。利用制限は監視対象URLの上限数のみであり、個別のAPIクレジット枠などはありません。
AIエージェントにモニターを作成させることはできますか?
はい。Bearer APIキーを使用して、MCPクライアントを https://api.pagedeltas.com/mcp に接続するだけで実現できます。詳細はMCPドキュメントをご覧ください。

著者

Julien(Page Deltas プロダクトマネージャー)。すでに手動で定期更新を確認している公開URLを1つ選んでみてください。無料アカウントを作成し、APIキーを発行し、1文の指示書を添えてモニターを作成し、汎用Webhookを紐付けてHMAC署名を一度検証すれば、あとは最初の検知を待つだけです。ノイズとなる通知があれば除外リストを調整してください。変更検知APIのセットアップは、通常これだけで完了します。

まずは1つのページを変更フィード化してみましょう

無料プラン、クレジットカード不要。アカウントを作成し、APIキーを発行し、手動確認しているURLを入力してフィルターガイドを参考に指示書を書くだけで、/changes のポーリングや自社エンドポイントへの署名付きJSONプッシュが始められます。

あらゆるウェブサイトを変更検知API化する方法 · Page Deltas · Page Deltas