Website Change Monitor
Pricing
from $1.00 / 1,000 page checkeds
Website Change Monitor
Monitor web pages for content changes. Hashes the visible text (or a CSS-selected part), compares with the previous run and returns changed/unchanged plus a word-level diff. No browser, $1 per 1,000 checks.
Pricing
from $1.00 / 1,000 page checkeds
Rating
0.0
(0)
Developer
Sai
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Watch any list of web pages and find out what changed since the last run. The Actor fetches each page, keeps only the visible text (optionally just the part matched by a CSS selector), hashes it and compares it with the baseline saved by the previous run. Changed pages come with a compact word-level diff, so you can see exactly what was added or removed.
It uses plain HTTP requests, not a headless browser, so a check takes well under a second and costs a fraction of a cent. That makes it cheap to run on a schedule every hour or every day.
Use cases
- Competitor pricing pages, product pages and changelogs
- Terms of service, privacy policies and legal pages
- Job boards, "careers" pages, tender and grant listings
- Documentation and release notes (e.g. "is there a new version?")
- Government notices, regulations and public registries
How it works
- For each URL the Actor downloads the HTML (redirects followed), removes scripts, styles, SVGs and iframes, and collapses whitespace.
- If you gave a CSS selector, only the text inside it is used. That way ads, timestamps and "related posts" don't trigger false alarms.
- The text is hashed (SHA-256) and compared with the baseline stored in a named key-value store (default
change-monitor-baselines). Named stores persist between runs, so schedules just work. - The first run creates the baseline (
changed: null). Later runs reportchanged: trueorfalse, plus adiffwhen something changed.
Use a different baselineStoreName for each independent monitor (for example pricing-pages and legal-pages).
Input
{"urls": ["https://www.python.org/downloads/",{ "url": "https://news.ycombinator.com/", "selector": "#hnmain .titleline", "label": "HN titles" }],"includeDiff": true,"onlyChanges": false,"baselineStoreName": "change-monitor-baselines"}
| Field | Description |
|---|---|
urls | Required. URLs/domains, or objects {url, selector, label} |
selector | Default CSS selector for URLs without their own |
includeDiff | Store text snapshots and output a word-level diff on change (default true) |
onlyChanges | Only push changed pages (and errors) to the dataset, which is ideal for alerts |
baselineStoreName | Named key-value store holding baselines |
updateBaseline | Overwrite baseline after a successful check (default true) |
waitMs, timeoutMs, maxConcurrency | Politeness and performance settings |
Output
One dataset row per page:
{"url": "https://news.ycombinator.com/","label": "HN titles","selector": "#hnmain .titleline","changed": true,"diff": "… Show HN: -Old +New title …","hash": "3f1c…","previousHash": "a9b2…","statusCode": 200,"textLen": 2841,"textPreview": "…","warning": null,"error": null,"fetchedAt": "2026-10-04T10:00:00.000Z"}
The OUTPUT record in the default key-value store has a run summary: totals, the list of changedUrls and how many pages were charged.
warning: "selector_not_found:…" means the selector matched nothing (the page layout may have changed); such rows are free and don't update the baseline. error is set for timeouts, DNS failures and HTTP status ≥ 400. In those cases the baseline is not touched and you aren't charged.
Alerts
Schedule the Actor (Console → Schedules), turn on onlyChanges, and add an integration: Slack, email, Zapier, Make or a webhook on Run succeeded. Since the dataset then only holds changes, your alert fires with exactly the changed pages.
Pricing
Pay per event:
- $0.001 per page checked (= $1 per 1,000 checks). Failed fetches, timeouts and HTTP errors are free.
- Plus Apify's tiny actor start fee ($0.00005).
Example: 20 pages checked every hour comes to about 14,400 checks a month, or about $14.40.
Limitations
- Pages that render their content with JavaScript only (empty HTML shell) cannot be monitored by text. Use Website Screenshot Pro, which has a visual-diff mode, for those.
- Content that changes on every request (CSRF tokens in text, live counters, rotating testimonials) will look like a change. Use a CSS selector to scope the check.
- Please respect each site's terms and don't schedule more often than you need.
Related Actors
- Website Screenshot Pro: screenshots, PDFs and visual (pixel) change detection
- Website Contact & Tech Enricher: emails, phones, socials and tech stack from websites