Website Change Monitor — Diff & Webhook Alerts
Under maintenancePricing
Pay per usage
Go to Apify Store

Website Change Monitor — Diff & Webhook Alerts
Under maintenanceMonitor any web page for content changes. Get structured diff reports showing exactly what changed (added/removed lines). Supports CSS selectors, webhook notifications, and persistent content tracking via KV store. Ideal for competitor monitoring, price tracking, and policy change detection.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
陈俊杰
Maintained by CommunityActor stats
0
Bookmarked
0
Total users
0
Monthly active users
5 days ago
Last modified
Categories
Share
Website Change Monitor
Monitor web pages for content changes and receive structured diff reports. Ideal for:
- Competitor monitoring — track changes on competitor landing pages, pricing, or feature listings.
- Policy change detection — get alerted when terms of service, privacy policies, or regulatory pages update.
- Price tracking — detect price changes on product pages.
- News & blog monitoring — know when new articles or updates are published.
How it works
- Set the URL you want to monitor (and optionally a CSS selector to scope checking).
- On each run, the Actor fetches the page, extracts readable text, and compares it against the previous run's content (stored automatically in the Actor's key-value store).
- A structured diff report is saved to the default dataset with:
changed— boolean flagdiff— unified diff string (+lines added,-lines removed)added/removed— lists of changed lineschecked_at— timestampcontent_hash— SHA256 for quick cache-busting checks
- Optionally, configure a webhook URL to receive POST notifications only when a change is detected.
Input
| Field | Type | Required | Description |
|---|---|---|---|
url | string | ✅ | Full URL of the page to monitor |
selector | string | ❌ | CSS selector to limit monitoring to a specific element |
webhook_url | string | ❌ | URL to POST change notifications to |
previous_content | string | ❌ | Previous content override (falls back to stored value) |
Output
Each run produces one dataset entry with the following structure:
{"changed": true,"diff": "+ New pricing: $49/mo\n- Old pricing: $39/mo","added": ["New pricing: $49/mo"],"removed": ["Old pricing: $39/mo"],"url": "https://example.com/pricing","checked_at": "2026-05-29T12:00:00+00:00","content_hash": "a1b2c3d4e5f6..."}
Pricing
- $0.01 per check run — webhook notifications included at no extra cost.
- No hidden fees, no per-result surcharges.
Example usage
Basic monitoring
{"url": "https://example.com/pricing"}
Scoped monitoring + webhook
{"url": "https://example.com/pricing","selector": "#pricing-table","webhook_url": "https://hooks.slack.com/services/xxx/yyy/zzz"}
Storage
- Previous content is automatically persisted in the Actor's key-value store under the key
last_content. - Diff results are pushed to the default dataset and can be exported as JSON, CSV, Excel, etc.
- The content hash enables external systems to quickly check if content changed without re-reading the full diff.
Development
# Install dependenciespip install -r requirements.txt# Run locally (requires Apify token)python -m src