Website Change Monitor
Pricing
from $2.00 / 1,000 results
Website Change Monitor
Monitor any list of web pages for changes. Every scheduled run compares each page to its last snapshot and reports a readable diff — lines added and removed. CSS-selector scoping and number-masking kill false alarms. Watch competitor prices, job boards, ToS pages, and stock status on autopilot.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Uncle Glooby
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
Watch any list of web pages and get a clear report of exactly what changed since the last check — added text, removed text, or nothing. Schedule it and never manually re-check a page again.
What people monitor
- Competitor pricing pages — know the day they change a price
- Job boards & career pages — new postings the moment they appear
- Terms of service / policy pages — get an audit trail of every revision
- Product pages — stock status, spec changes
- Government & permit pages — tenders, filings, announcements
How it works
- First run saves a baseline snapshot of each page (
status: "first_snapshot") - Every later run compares each page against its stored snapshot and reports
changed,unchanged, orunreachable - Changed pages include a readable diff: how many lines were added/removed, with samples of each — so you can see what changed without opening the page
Snapshots persist between runs in a named key-value store, so this Actor is built to be scheduled (daily and weekly are the common choices).
Killing false alarms
Change monitors live or die on noise control:
- CSS selector — watch only the part of the page that matters (
#price,.job-listings,main). Rotating banners and footers stop triggering alerts. - Ignore numbers — masks all numbers before comparing, so view counters, dates, and visitor stats don't count as changes (price watchers: leave this OFF).
- Whitespace and layout-only changes are normalized away automatically; scripts and styles are ignored.
Input example
{"startUrls": [{ "url": "https://competitor.com/pricing" }],"cssSelector": "main","ignoreNumbers": false}
Output example
{"url": "https://competitor.com/pricing","checkedAt": "2026-08-26T09:00:12.000Z","status": "changed","previousSnapshotAt": "2026-08-25T09:00:09.000Z","linesAdded": 1,"linesRemoved": 1,"addedSamples": ["Pro plan – $59/month"],"removedSamples": ["Pro plan – $49/month"]}
Results are sorted with changed pages first. A SUMMARY record (counts of changed/unchanged/unreachable) is saved to the run's key-value store, and the run's status message reads like "2 of 15 page(s) CHANGED" so scheduled-run notifications are informative at a glance.
Getting notified
Use Apify's built-in integrations on this Actor (Integrations tab → add):
- Email or Slack on run finished — the status message tells you immediately whether anything changed
- Webhook to pipe changed results anywhere else
Scheduling (the point of this Actor)
Console → this Actor → Schedules → e.g. every day at 9:00. Each scheduled run compares against the previous one. That's the whole setup.
Tips
- The first run of any URL always reports
first_snapshot— that's the baseline, not a bug. - If you change the CSS selector or the "ignore numbers" setting, expect one round of
changedreports as new baselines are established. resetSnapshots: truewipes the slate and re-baselines everything.- Some sites block automated traffic (
status: "unreachable"); enabling Apify Proxy in the input usually fixes it.
Pricing
Pay-per-result: billed per page check (one output row per URL per run). Monitoring 20 pages daily costs roughly a dollar a month.
