Public Website Change & Compliance Monitor avatar

Public Website Change & Compliance Monitor

Pricing

from $10.00 / 1,000 results

Go to Apify Store
Public Website Change & Compliance Monitor

Public Website Change & Compliance Monitor

Monitor public web pages, persist a baseline, and return compact change events for meaningful content changes.

Pricing

from $10.00 / 1,000 results

Rating

0.0

(0)

Developer

Liam King

Liam King

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

19 hours ago

Last modified

Categories

Share

Public Website Change Monitor

Check public web pages for text changes and see what was added or removed. This Actor saves a baseline, compares it with the next successful check, and returns structured results in Apify.

Use it for small lists of public documentation, policy, pricing, or status pages whose content is available in the initial HTML. Run checks in the cloud without keeping your computer on.

Try it in two runs

  1. Click Try for free on the Store page and sign in to Apify. Account credits and the displayed Actor pricing apply.
  2. Enter one public URL. Leave Output only actionable rows off for the first test.
  3. Run the Actor. first_seen means the initial baseline was saved.
  4. Run again with the same URL, settings, and state namespace. unchanged means the normalized content matches; changed means its hash differs and meets the configured threshold.
  5. Inspect the Output tab. Export results as JSON or CSV through Apify.
{
"urls": ["https://example.com"],
"mode": "text",
"ignoreNumbers": false,
"minChangeRatio": 0,
"notifyOnly": false,
"respectRobots": true,
"stateKey": "my-first-monitor",
"timeoutMs": 30000
}

Replace the example URL with a page you are authorized to monitor. Start with one page to confirm it returns the content you need.

Useful monitoring jobs

JobSuggested starting settings
Public pricing pageKeep ignoreNumbers false so numeric price changes remain visible.
Documentation or policy pageUse text mode and inspect the added/removed line preview.
Small agency watchlistUse a different stateKey for each independent monitoring job.

Each run checks the supplied URLs once. For recurring checks, save the input as an Apify task and configure an Apify schedule. Start with daily checks if that meets your needs. Avoid overlapping runs that share the same state namespace.

Settings

SettingWhat it does
urlsBetween 1 and 100 public HTTP(S) URLs per run.
selectorOptional basic #id, .class, or tag selector. This is a simple extractor, not a full browser CSS engine; test it on your page before scheduling.
modetext removes tags and common script/style noise; html compares cleaned markup.
ignorePatternsRegular expressions removed before comparison. Start without these, then add only patterns you understand.
ignoreNumbersReplaces numbers before comparison. Leave false when tracking prices or dates.
minChangeRatioA heuristic line-change threshold. Start at 0; it is not a percentage of characters changed.
notifyOnlySuppresses unchanged, below-threshold, and robots-blocked rows. First-seen, changed, and error rows remain. It does not send notifications.
respectRobotsEnables the current basic robots.txt check. A blocked or unreadable robots file produces robots_blocked.
stateKeyPersistent monitoring namespace. Reuse it across runs; choose a new one when changing comparison settings or restarting a baseline.
timeoutMsPage request timeout, between 5,000 and 120,000 milliseconds.

Understand your results

StatusMeaning
first_seenBaseline saved; there is no previous observation to compare.
unchangedNormalized content matches the previous successful check.
changedContent hash changed and passed the threshold.
below_thresholdContent changed but did not pass the threshold. The baseline still advances.
robots_blockedThe robots check prevented the page request.
errorThe page could not be processed. Inspect the error message.

Successful page rows include URL, check time, HTTP status, hashes, added/removed lines, and a compact preview. The diff shows up to 20 added and 20 removed lines. Counts and the threshold score use that bounded diff; they are not a complete audit of a large document. Reordered or repeated lines may not be represented fully.

Pricing

The configured launch price is US$0.01 per dataset row, plus US$0.00001 per Actor start, with platform usage included in the event price. Check the Pricing tab for current rates before running.

With notifyOnly: false, first-seen, unchanged, changed, below-threshold, error, and robots-blocked rows all count as results. A result charge does not mean a change was detected. With notifyOnly: true, fewer rows may be written, but errors and first observations still produce output.

For example, 10 URLs checked daily for 30 days with one row per URL per run produces 300 rows: US$3.00 in result charges plus US$0.00030 in start charges, before any applicable taxes or account-specific adjustments. This is an illustration, not a promise of usage or results.

Limits and troubleshooting

  • Fetches the initial page HTML. JavaScript rendering, screenshots, login sessions, and anti-bot bypass are not included.
  • Does not send email, Slack, or SMS alerts. Use a separately configured workflow if you need notifications.
  • A missing selector can yield empty extracted content. Verify your selection before relying on a scheduled check.
  • Baselines keep up to 250,000 characters. Use small pages; large-page comparisons may be incomplete.
  • The current robots handling is basic. Choose authorized targets; a permitted request is not a determination of legal rights.
  • This tool tracks text changes. It does not determine legal compliance or provide a compliance certification.

If a page fails, check its URL, HTTP status, robots access, and whether its useful content needs browser rendering. For support, open an issue on this Actor's Issues tab with a public example URL, sanitized input, and the observed status. Do not post credentials or private information.