Website Change Monitor – Page Change Detection & Diff avatar

Website Change Monitor – Page Change Detection & Diff

Pricing

from $3.00 / 1,000 changes

Go to Apify Store
Website Change Monitor – Page Change Detection & Diff

Website Change Monitor – Page Change Detection & Diff

Monitor web pages for changes: schedule it and get what changed since the last run (added / removed lines, similarity, title change). Watch a whole page or one CSS selector, ignore dates and counters. Plain HTTP, robots.txt respected, pay per page.

Pricing

from $3.00 / 1,000 changes

Rating

0.0

(0)

Developer

Ostrata

Ostrata

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Know when a web page changes, and exactly what changed. Give it a list of pages, schedule it (hourly, daily, weekly) and every run tells you which pages changed since the previous run, with the added and removed lines, a similarity score and title changes. Watch a whole page or only one part of it with a CSS selector.

Also known as: website change detection, page change monitor, web page diff, visualping / changedetection alternative, competitor price monitoring, terms of service change tracker, content change alerts, website monitoring API.

  • Simple and polite: one plain HTTP request per page, robots.txt respected, at least 1.5 s between pages of the same site. No browser, no proxies, no bot-protection bypass.
  • Low-noise diffs: navigation, footer and cookie banners are ignored by default; add regex ignore patterns for clocks, counters or copyright years; reordered lines are not counted as a change.
  • Memory between runs: the last version of each page is kept in a named key-value store, so scheduled runs compare against the previous run. Use different store names for different watch lists.
  • Alerts anywhere: connect the run to Slack, email, Google Sheets, Zapier, Make or n8n with Apify integrations, or call it from an AI agent through Apify MCP.

Input

{
"urls": ["https://www.competitor.com/pricing", "https://www.example.com/terms"],
"cssSelector": "main",
"ignorePatterns": ["©\\s*\\d{4}", "\\d{1,2}:\\d{2}"],
"onlyChanges": true,
"stateStoreName": "my-competitors"
}

The first run of a page stores a baseline (status baseline). Later runs return unchanged or changed.

Output

{
"url": "https://example.com/",
"status": "changed",
"changed": true,
"checkedAt": "2026-10-19T10:27:34.900Z",
"previousCheckedAt": "2026-10-18T10:27:22.800Z",
"lastChangedAt": "2026-10-19T10:27:34.900Z",
"title": "Example Domain",
"titleChanged": false,
"similarityPercent": 0,
"addedLinesCount": 1,
"removedLinesCount": 1,
"addedLines": ["This domain is for use in documentation examples without needing permission. …"],
"removedLines": ["This domain is for sale."],
"wordCount": 24,
"contentHash": "…",
"httpStatus": 200
}

Pages that cannot be checked come back as free rows with status: "error" and a reason (http_404, timeout, disallowed_by_robots_txt, selector_not_found…), so you also notice when a page disappears. A SUMMARY record in the key-value store lists every page.

Pricing

Pay per event, no subscription:

  • Page (page checked: baseline or unchanged): $0.0004 → $0.40 per 1,000 checks.
  • Change (page checked and changed, with diff): $0.003.
  • Actor start: $0.00005.

Each row is charged once, either as a Page or as a Change. Errors are free. With Only output changed pages, unchanged pages and baselines are neither output nor charged: you pay only for changes. The run stops at your maximum charge per run and never bills past it.

Example: 100 pages checked daily with Only changes on, 5 changes a day → about $0.45 per month.

Honest limits

  • Static HTML only. Content rendered by JavaScript in the browser is not seen; neither are pages behind a login. Sites that block bots (HTTP 403/429, challenge pages) are reported as errors, not bypassed.
  • Text changes, not visual changes. Styling, images and layout are ignored. Screenshots are not taken.
  • The diff is line-based (lines added / removed), not a word-level edit script. A long paragraph with one changed word shows as one removed and one added line.
  • Dynamic bits (dates, counters, rotating testimonials, prices in A/B tests) can trigger changes: use ignorePatterns or a narrower cssSelector.
  • Memory is per store name and per URL + selector; changing the selector starts a new baseline.

Use cases

  • Competitor pricing, plans and feature pages.
  • Terms of service, privacy policy and legal notices (compliance).
  • Product availability, release notes, documentation, job pages, government notices.
  • Feeding agents with "what changed" instead of full pages.