URL Content Change Monitor avatar

URL Content Change Monitor

Pricing

from $50.00 / 1,000 content change detecteds

Go to Apify Store
URL Content Change Monitor

URL Content Change Monitor

Fetches a URL, hashes a selected text region (or full page), and reports whether content changed since the last check. Pay-per-event: charges the buyer only when a real change is detected, not per poll.

Pricing

from $50.00 / 1,000 content change detecteds

Rating

0.0

(0)

Developer

Studio EngineerTsai

Studio EngineerTsai

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

6 days ago

Last modified

Categories

Share

URL Content Change Monitor — Apify Actor (pay-per-event)

Fetches a URL, hashes a selected region (or the full page text), and compares against the last stored hash for the same monitorKey. Reports whether the content changed since the last run.

Built from real, evidenced demand: CHANGE_MONITORING ranked #2 in AG's 2026-08-30 demand graph (25 cross-source signals across 9 independent sources — Stack Exchange + GitHub Issues; see research/DEMAND_GRAPH_CLUSTERS_2026-08-30.json). Apify's and RapidAPI's own current documented pricing patterns both explicitly name monitoring/alerting as a real, established paid category.

Input

  • url (required) — page to check
  • monitorKey (required) — stable identifier so repeated runs compare against the same stored state (e.g. "vendor-x-pricing-page")
  • cssSelector (optional) — an #id or .class selector to narrow what's hashed; anything else (including tag selectors like h1) falls back to hashing the full page text, by design — this Actor is a deterministic diff tool, not a full CSS engine

Pricing (pay-per-event)

  • actor-start: $0.01 — every run
  • change-detected: $0.05 — only when the content actually changed

The buyer pays for signal, not for polling — a genuine differentiation from a plain scheduled scraper.

Real local verification (done, not just written)

Tested against the real, installed apify Python SDK v4.0.1, using APIFY_LOCAL_STORAGE_DIR and ACTOR_TEST_PAY_PER_EVENT=1. Three real states verified in sequence against https://example.com:

  1. First run: first_run: true, changed: false (no prior state)
  2. Second run, unchanged page: first_run: false, changed: false
  3. Simulated prior state with a different hash: first_run: false, changed: true

Real bug caught and fixed during this testing: Actor.open_key_value_store() with no name argument creates a fresh, randomly-identified store on every local run (state never persisted across runs). Fixed by using a named store (open_key_value_store(name="change-monitor-state")), which correctly round-trips state across separate process invocations. This is recorded here so the fix isn't silently lost.

Deployed and public

Real, published, public Apify Actor: https://apify.com/engineertsaistudio/url-content-change-monitor (Actor ID 8cnpaMoEUpNOgH8gN). Build 0.0.1 succeeded on the first attempt, real test run against https://example.com succeeded with correct output. Pay-per-event monetization configured live in the Console's Publishing > Monetization wizard, matching this README's pricing table. Payout/KYC completeness for real payouts is tracked separately and not implied by publication alone.