Website Change Monitor & Alerts
Pricing
Pay per usage
Website Change Monitor & Alerts
Monitor a web page or CSS selector for meaningful changes and optionally send webhook alerts.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Maarten Vreeburg
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share


A production-ready Apify Actor for tracking meaningful changes on websites without babysitting pages or drowning in noise.
Why this product exists
The best buyers for this Actor are people who need alerts they can trust:
- founders watching competitors
- operators tracking pricing or policy pages
- traders monitoring listings, inventory, or market-adjacent pages
- recruiters and analysts watching job boards or directories
- compliance teams watching terms, help docs, and policy updates
What it does
- monitors a full page or a specific CSS selector
- strips noisy sections before comparing snapshots
- keeps state in a persistent key-value store between runs
- detects both raw and meaningful changes
- supports webhook notifications on meaningful changes
- works locally and on Apify Cloud
Core features
| Feature | What it solves |
|---|---|
| URL monitoring | Track any public page |
| CSS selector support | Focus on the part that matters |
| Ignore selectors | Remove cookie banners, promos, ads, and other noise |
| Change threshold | Avoid false positives from tiny edits |
| Persistent state | Compare against the last run, not just the current run |
| Webhook alerts | Forward important changes to your own system |
Input example
{"url": "https://example.com","selector": "main","ignore_selectors": ".cookie-banner,.ads,.promo","min_change_ratio": 0.05,"webhook_url": "https://your-endpoint.example/webhook"}
Input reference
| Field | Required | Description |
|---|---|---|
url | yes | Page to monitor |
selector | no | CSS selector to monitor a specific region |
ignore_selectors | no | Comma-separated CSS selectors removed before hashing |
min_change_ratio | no | Minimum normalized difference before a change counts as meaningful |
webhook_url | no | Endpoint that receives the JSON result on meaningful change |
state_key | no | Custom storage grouping key for shared or split snapshots |
user_agent | no | Custom HTTP user agent |
timeout_seconds | no | Request timeout in seconds |
Output
Each run writes one dataset item with:
| Field | Meaning |
|---|---|
status | initial_snapshot, unchanged, minor_change, or changed |
raw_changed | Whether the content hash changed |
significant_change | Whether the change crossed the threshold |
change_ratio | Normalized difference score |
current_hash / previous_hash | Stable snapshot hashes |
current_excerpt / previous_excerpt | Short previews for quick review |
webhook_sent | Whether a webhook was successfully sent |
webhook_error | Error text if webhook delivery failed |
How the detection works
- Fetch the page with a normal browser-like user agent.
- Remove script/style and any selectors you mark as noisy.
- Extract either the selected region or the full body text.
- Compare against the previous stored snapshot.
- Mark the result as:
initial_snapshotunchangedminor_changechanged
- Optionally send the full JSON payload to your webhook when the change is meaningful.
State model
This Actor stores snapshots in a named key-value store, not the run-scoped default store. That means the previous snapshot survives across Apify Cloud runs and production use.
If you need separate monitors for the same URL, set different state_key values.
If you want multiple monitors to share state intentionally, reuse the same state_key.
Good buyer stories
This Actor sells best when positioned for real operational outcomes:
- “Track competitor pricing changes”
- “Watch policy pages and get notified instantly”
- “Monitor product pages for restocks and content changes”
- “Track directory or job board listings without manual checks”
- “Send webhooks to Slack, Discord, Make, Zapier, or your backend”
Local development
$apify run
Deploy
apify login --token <your-token>apify push
Notes
- The Actor is intentionally lightweight and fast.
- It is designed for clear, explainable alerts instead of noisy scraping.
- Webhook delivery is optional, so it works fine as a pure monitoring tool too.