Website Change Monitor & Diff Alerts avatar

Website Change Monitor & Diff Alerts

Pricing

from $3.00 / 1,000 page checkeds

Go to Apify Store
Website Change Monitor & Diff Alerts

Website Change Monitor & Diff Alerts

Watch pages (terms, price lists, competitor sites, documentation) and report what changed between runs with a normalized text diff and severity.

Pricing

from $3.00 / 1,000 page checkeds

Rating

0.0

(0)

Developer

Daniel Michałek

Daniel Michałek

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 hours ago

Last modified

Categories

Share

Watch any list of public pages — competitor pricing, terms and conditions, public price lists, documentation, job pages, regulatory notices — and get a precise answer to one question every run: what changed since last time? The Actor stores a normalized text snapshot of every page in a named key-value store, compares the current page with it and reports NEW, UNCHANGED, MINOR, CHANGED or ERROR together with the added and removed lines.

What it does

  • Fetches each URL with timeouts, retries and polite per-host delays; no browser needed for server-rendered pages.
  • Extracts the main content: scripts, styles, navigation, header, footer, sidebars and cookie banners are removed automatically, or you pass a CSS selector such as main or #pricing.
  • Normalizes whitespace and removes volatile fragments you define as regular expressions (dates, counters, timestamps) so they never trigger false alerts.
  • Compares against the previous snapshot with a line diff and classifies the result; MINOR versus CHANGED is controlled by a configurable threshold.
  • Saves the new snapshot, pushes one dataset item per page and writes a Markdown REPORT with changed pages first, including the added and removed lines.
  • Works with Apify schedules and integrations: run it hourly or daily and connect the dataset to Slack, e-mail, Make, Zapier or a webhook; filter on status.

Input

FieldTypeDefaultDescription
urlsarray of stringsrequiredPages to watch (max 2000 per run).
selectorstring""CSS selector to scope the comparison.
ignorePatternsarray of strings[]Regular expressions removed before comparing (dates, counters).
minorThresholdnumber0.02Changes below this share of lines are MINOR.
includeDiffbooleantrueInclude up to 20 added / 20 removed lines per changed page.
emitUnchangedbooleantrueWhen false, unchanged pages are not pushed (and not billed).
stateStoreNamestringwebsite-change-monitor-snapshotsNamed key-value store holding snapshots (created by the Actor on the first run); one per schedule. If the store is not accessible under the Actor's limited permissions, the run uses its default store and reports state.mode = default-fallback in OUTPUT.
maxItemsinteger200Hard cap on checked pages per run.

Output

One dataset item per page: status, changedRatio, added, removed, addedSample, removedSample, title, titleChanged, wordCount, textHash, previousHash, previousCheckedAt, httpStatus and error for failed fetches. The overview view lists changes first. The key-value store holds REPORT (Markdown) and OUTPUT with counts per status.

Example item (shortened):

{
"finalUrl": "https://competitor.example/pricing",
"status": "CHANGED",
"changedRatio": 0.18,
"added": 2,
"removed": 1,
"addedSample": ["Pro: 35 EUR / month", "Annual plans available"],
"removedSample": ["Pro: 30 EUR / month"],
"previousCheckedAt": "2026-10-20T06:00:03.120Z"
}

Pricing and cost control

Pay per event: Page checked (page-checked) — one event per page fetched in a run, including unchanged pages (set emitUnchanged to false to pay only for pages with news). maxItems caps the number of pages per run. A daily check of 100 pages costs 100 events per day and runs in about a minute at 256 MB.

Limitations and fair use

  • Server-rendered HTML only; content injected by JavaScript after load is not seen. Pages that are entirely client-rendered produce a low wordCount so you can spot them.
  • Snapshots are capped at 200 KB of text per page; larger pages are compared on the first 200 KB.
  • Only publicly reachable pages: no logins, paywalls or CAPTCHA solving, and robots directives are respected by not crawling beyond the URLs you list.
  • The diff is textual; image or layout changes are not detected.

Example

Input: three public pages with date patterns ignored. First run: three NEW items (snapshots created). Next run: UNCHANGED for untouched pages and CHANGED with the exact lines for a page whose price list moved. See examples/input.json and examples/output.json.

Use cases

  • Competitive intelligence: pricing, plans, feature pages, campaign landing pages.
  • Compliance: terms of service, privacy policies, supplier conditions, insurance terms.
  • Operations: public documentation and API changelogs that break integrations.
  • Sales: career pages and "news" pages of target accounts as buying signals.