Website Change Monitor avatar

Website Change Monitor

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Website Change Monitor

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

Uncle Glooby

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

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

  1. First run saves a baseline snapshot of each page (status: "first_snapshot")
  2. Every later run compares each page against its stored snapshot and reports changed, unchanged, or unreachable
  3. 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 changed reports as new baselines are established.
  • resetSnapshots: true wipes 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.