Page Change Monitor — Detect Website Changes, $0.001 a Check avatar

Page Change Monitor — Detect Website Changes, $0.001 a Check

Pricing

from $0.80 / 1,000 page checkeds

Go to Apify Store
Page Change Monitor — Detect Website Changes, $0.001 a Check

Page Change Monitor — Detect Website Changes, $0.001 a Check

Check web pages for changes since the last run: each URL comes back new, unchanged or changed, with the lines added and removed. Snapshots kept in your own Apify storage, robots.txt obeyed, failed pages never charged. $0.001 per page checked.

Pricing

from $0.80 / 1,000 page checkeds

Rating

0.0

(0)

Developer

Logan Parker

Logan Parker

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Share

Check web pages for text changes since the last run and get each one back as new, unchanged or changed, with the lines added and removed, for pricing pages, terms, docs and competitors watched on a schedule or by an agent. AI agents can call and pay for it through Apify's MCP server and agentic payments. It costs $0.001 per page checked, and a page that fails is never charged.

Example result

Example record for the minimal input under How to use it, as this Actor returned it on 2026-10-27 in a run of its production image; the record is kept unchanged with the release.

{
"url": "https://docs.apify.com/",
"ok": true,
"finalUrl": "https://docs.apify.com/",
"status": "new",
"checkedAt": "2026-10-27T23:01:40Z",
"previousCheckedAt": null,
"contentHash": "5d5d1a744cfeef6686fc3575dba17e06440ad8921e36e6ae7490ad7a13efcfee",
"added": [],
"removed": []
}

How to use it

Start a run in Apify Console, by API or from an agent with an input like this one — it is the input Apify runs every day to test this Actor:

{"urls": ["https://docs.apify.com/"]}
FieldTypeMeaning
urlsarrayPages to check; one record each.
monitorNamestringSeparate watch lists keep separate snapshots; runs with the same name compare with each other.
maxDiffLinesintegerAt most this many added and removed lines are returned per page.

Events and prices

EventTitleCharged whenFREE / BRONZESILVERGOLD / PLATINUM / DIAMOND
page-checkedPage checkedOne page fetched and compared with its last snapshot.$0.001$0.0009$0.0008

Platform usage is not passed through. Apify's automatic actor-start event remains $0.00005 per started GB (one GB or less counts once). The synthetic dataset-item event is absent. Charge limits stop further paying work; unprocessed inputs receive uncharged errors. Completed readable pending events are settled on abort.

Worked cost example: ten successful page checked events cost $0.01 at list, plus actor start. Failures are not included in that count.

Call it from an agent

Through Apify's MCP server (https://mcp.apify.com) use call-actor:

{
"actor": "hermeskd/page-change-monitor",
"input": {
"urls": [
"https://docs.apify.com/"
]
},
"callOptions": {
"maxTotalChargeUsd": 0.01,
"timeout": 600
},
"waitSecs": 30
}

Then call get-dataset-items with the returned defaultDatasetId. Dedicated tool URL: https://mcp.apify.com?tools=hermeskd/page-change-monitor

Output fields

FieldMeaning
urlThe input URL.
okTrue for a returned result; a failure is never charged.
finalUrlThe URL after redirects.
statusnew (no earlier snapshot), unchanged or changed.
checkedAtWhen this check ran, ISO 8601.
previousCheckedAtWhen the compared snapshot was taken.
contentHashSHA-256 of the page's normalized text.
addedLines in the page now that were not there before.
removedLines that were there before and are gone now.
errorFailure, always uncharged.

Limits and run time

1–100 URLs a run. Each page is fetched once, up to 5 MB, under the 30-second per-request deadline; the page's visible text is compared, not its markup. Snapshots live only in your own Apify account, in a named key-value store page-change-monitor-<monitor>-<hash> the run creates there; nothing is kept in the developer's account, and deleting that store starts every page over as new.

Snapshots retain at most 2,000 characters per normalized line and 20,000 non-empty lines per page. Text beyond either limit is discarded before hashing and comparison, so changes confined to discarded text can be reported as unchanged.

The default run timeout is 600 seconds. Typical run time: not yet measured; written from the first deploy.

Errors

CodeMeaning
http_errorThe source answered an unsuccessful HTTP status.
download_failedThe request or connection failed within its bounded deadline.
unsupported_content_typeThe URL did not return an HTML or text page.
robots_disallowedrobots.txt forbids fetching the URL; no request was made to it.
blocked_hostThe host is on the deny-list or resolves to a private or local address; no request was made.
too_largeThe response exceeded the size cap.
timeoutThe input did not finish within the run's time budget.
invalid_inputThe run input passed the input schema but cannot be used; the message names the field.
internal_errorUnexpected failure; the message carries the error class.
charge_limit_reachedThe run reached its maximum total charge; this input was not processed.

No failure record is charged. A run fails only when all input outcomes are Actor-side failures; caller errors and a mixture of caller/Actor failures do not fail the run.

Sources and terms

Only process content you have the right to process. URL fetches obey HermesBot robots-group selection, the shared deny-list, public-address checks on connections and redirects, honest identity, deadlines and rate limits. No caller credentials, cookies, CAPTCHA solving, residential proxies or evasion. Public pages the caller names are fetched under robots.txt; snapshots are stored only in the caller's own Apify storage. Process only content you have the right to process.

Not affiliated

This Actor is not affiliated with Apify or the owners of the pages it reads. Third-party names describe compatibility and source material.

Changelog

  • 1.0 (2026-10-27) — first release.