Website Change Monitor - Page Diff Tracker (CSS selector)
Under maintenancePricing
from $0.47 / 1,000 per page checkeds
Website Change Monitor - Page Diff Tracker (CSS selector)
Under maintenanceWebsite change detection: monitor pages on a schedule and get the exact added and removed lines. Watch a CSS selector, ignore dates and counters. $0.0007 per page checked.
Pricing
from $0.47 / 1,000 per page checkeds
Rating
0.0
(0)
Developer
Ja doei
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Security
Limited permissionsShare
✅ Tested daily with its default input (Apify's automated QA plus our own smoke test before every release).
Website change monitor: know when a page changes and see exactly what changed. Run this Actor on a schedule and it compares each page's visible text (or one CSS selector) with the previous run, returning the added and removed lines. $0.0007 per page checked.
Typical uses
- Competitor pricing pages, plans and feature lists
- Terms of service, privacy policies and legal notices
- Changelogs, release pages, job boards of your own company, documentation
- Stock or availability text on a product page (watch only that element with a CSS selector)
How it works
- The page is downloaded (no browser, so it is fast and cheap) and scripts and styles are stripped.
- The visible text — of the whole page or only of the elements matching
cssSelector— is split into lines. - Text matching your
ignorePatterns(dates, counters, session IDs) is removed so it cannot trigger false alarms. - A SHA-256 hash is compared with the snapshot of the previous run; when it differs you get a line diff.
Snapshots live in a named key-value store website-change-monitor-<monitorName> in your own Apify account, so history survives between runs. Use different monitorName values to keep separate watch lists apart.
Output per page
| Field | Meaning |
|---|---|
changeStatus | new (first run), unchanged, changed or error |
changed | true / false |
added, removed | Lines added and removed since the last run (capped by maxDiffLines) |
addedCount, removedCount, changeRatio | Size of the change |
previousCheckAt, lastChangeAt, checkedAt | Timestamps |
hash, previousHash, httpStatus, finalUrl | Technical details |
The OUTPUT record in the default key-value store lists only the changed pages — connect it to an email, Slack or webhook integration and use onlyChanges: true for a quiet dataset.
Input
| Field | Default | Description |
|---|---|---|
urls | – | Pages to watch |
cssSelector | – | Watch only this part of the page |
ignorePatterns | – | Regular expressions removed before comparing |
monitorName | default | Name of the snapshot store |
onlyChanges | false | Output only changed pages (and errors) |
maxDiffLines | 200 | Cap on reported diff lines |
timeoutSecs | 30 | Per-request timeout |
Pricing (pay per event)
- $0.0007 per page checked, whether it changed or not. Pages that fail to load are not charged.
Limits
Pages that build their content only with JavaScript in the browser show little text without a browser; this Actor reads the HTML the server sends. Only public pages you list are requested — no logins, no personal data.
Use with AI agents (MCP)
This Actor can be used as a tool by AI agents (Claude, Cursor, VS Code, other MCP clients) through the official Apify MCP server:
- Add only this Actor as a tool:
https://mcp.apify.com?tools=admirala/website-change-monitor-diff(sign in with OAuth or an Apify API token). - Or connect
https://mcp.apify.comand let the agent find it withsearch-actors(e.g. "website change monitor"), read the input schema withfetch-actor-detailsand run it withcall-actor.
Example input an agent can pass:
{"urls": ["https://www.python.org/downloads/"],"cssSelector": "","monitorName": "default"}
Cost per call: $0.0007 per page checked (changed or not); pages that fail to load are free. Results come back as dataset items (get-dataset-items).
FAQ
How do I get notified when a web page changes?
Schedule the Actor (hourly or daily), set onlyChanges: true and connect an email, Slack or webhook integration to the run.
Can I watch only the price or one part of a page?
Yes, set cssSelector, e.g. #price.
Does it work on JavaScript-only pages? It reads the HTML the server sends, without a browser; pages that render only in the browser show little text.