Web Page Change Monitor avatar

Web Page Change Monitor

Pricing

$4.50 / 1,000 successful page checks

Go to Apify Store
Web Page Change Monitor

Web Page Change Monitor

Track public page titles, normalized text extracted from HTML, selected fields and links across runs.

Pricing

$4.50 / 1,000 successful page checks

Rating

0.0

(0)

Developer

AFK Digital

AFK Digital

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Apify Actor for comparing public, static web-page content across separate runs. It monitors titles, normalized document text, CSS-selected content and links. It does not extract product prices or stock availability.

How to run

  1. Enter 1–25 page objects in urls, each with a public HTTP(S) url and optional label or CSS selector.
  2. Choose one or more watch fields: title, text, selector, links.
  3. Reuse the same monitorId on scheduled runs. The Actor initializes a baseline on the first successful check.
  4. Schedule the Actor with the same input and monitor ID to detect later changes.

Example input: examples/input.json

The Actor stores only the latest successful snapshot for each URL in a named Apify Key-Value Store. Store names are derived from the initiating Apify user ID and monitor ID; URL record keys are derived from the normalized source URL. No page content is written to logs.

Results

Each default dataset item includes status, sourceUrl, checkedAt, fieldsChanged, changes, and a capped current snapshot preview.

  • baseline_initialized: first successful check for this monitor and URL.
  • no_change: identical content or a difference below minChangedCharacters.
  • changed: at least one watched field changed above the threshold. Changes contain added, removed, or changed values.
  • source_error: temporary HTTP, timeout, parse, missing-selector, or safety failure. The last successful snapshot remains intact.

Example result: examples/output.json

Pricing

$0.0045 per successful page check. The Actor charges the successful-page-check event once after each page is fetched and all selected fields are extracted. Baseline and unchanged results count as successful checks. Source errors do not trigger this event. Input validation happens before a run starts. Apify platform usage may be billed separately from this custom event.

Limits and safety

  • Static HTML only; pages rendered in a browser by JavaScript are not evaluated.
  • Text comes from parsed HTML, not computed browser visibility; CSS-hidden text may appear.
  • No login, CAPTCHA, paywall, or access-control bypass.
  • Targets resolving to local, private, link-local, reserved, or mixed public/private IPs are rejected. Connections pin to a checked public IP.
  • Redirects are not followed. Submit the final public URL.
  • Request timeout: 3–30 seconds; per-host spacing: 0.5–10 seconds; concurrency: 1–3; retries: 0–2; total requests: at most 50; response size: at most 5 MB; runtime: at most 10 minutes.
  • CSS selectors can stop matching when a site's HTML changes.
  • Only the latest good snapshot is retained. Run dataset history follows the retention settings of Apify storage.
  • The Actor requires an Apify user ID and persistent Key-Value Store access.

Local development

Requirements: Node.js 20+.

npm ci
npm test
npm start

npm start must run inside Apify or an Apify-compatible local runtime with an input, user ID and persistent storage. Tests use a local HTTP server and injected in-memory storage to verify repeated-run behavior without credentials.