Website Change & Compliance Monitor
Pricing
from $2.00 / 1,000 change-detection results
Website Change & Compliance Monitor
Monitor public pages, policy documents, listings, and competitor content for meaningful changes with persistent state and webhook alerts.
Pricing
from $2.00 / 1,000 change-detection results
Rating
0.0
(0)
Developer
Maarten Vreeburg
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
18 days ago
Last modified
Categories
Share
Website Change Monitor & Alerts


A production-ready Apify Actor for tracking meaningful changes on public websites without babysitting pages or drowning in noise.
Buyer outcome: get a clear, structured signal when a competitor page, policy document, listing, help article, or monitored content region changes.
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.