Other blogsGuides

How developers monitor a web page for changes without a cron script

Changelogs, API docs, pricing and terms pages, watched with AyeWatch rules, webhooks and an API instead of a fragile diff job.

To monitor a web page for changes as a developer, point AyeWatch at the URL, describe the change you care about in one sentence, and send its alerts to a webhook or chat channel. You can also write a cron job that fetches and diffs the page, but you will spend more time filtering false alarms than reading real ones.

Developers have a long list of pages worth watching: an upstream library's changelog, a provider's model or pricing page, a deprecation notice in API docs, a status page, a terms of service update that affects your integration. Most of these pages have no RSS feed and no release webhook, so the change reaches you through a user report or a broken build.

The do-it-yourself version

The obvious approach is a script:

  1. Fetch the page on a schedule.
  2. Strip it to text.
  3. Diff it against the last copy and post to Slack when the diff is not empty.

It works for a static page for about a week. Then the problems show up:

  • Docs sites print build hashes, dates and "last edited" lines that change on every deploy.
  • Pages rendered with JavaScript come back nearly empty from a plain HTTP fetch.
  • A changelog adds one entry and moves twenty lines, so the diff is unreadable on a phone.
  • You still have to decide, every time, whether the change matters.

You can fix each of these with selectors, a headless browser and ignore rules. At that point you are maintaining a monitoring tool.

The tool options

Option You write You maintain Alert content
AyeWatch A plain-English rule Nothing A short summary of what changed
changedetection.io (self-hosted) CSS or XPath selectors and filters The server and its updates A text diff
Cron script The whole thing Everything Whatever you build

Setting it up with AyeWatch

AyeWatch reads each new version of the page and checks it against your rule, so the noise filtering is the rule itself. A few rules that work well for developer pages:

  • Changelog: "a new release that mentions a breaking change or a deprecation".
  • API docs: "an endpoint, parameter or rate limit is added, removed or changed".
  • Pricing page: "the price of any model or plan changes".
  • Terms: "anything changes in the sections on API use or data retention".

Each alert arrives with a summary, so you can tell from the notification whether to open the page.

For wiring it into your own systems:

  • Webhooks. Paid plans send signed topic.update events with the AI summary, so you can verify the signature and route the event to an issue tracker or a bot.
  • REST API. Create, list, update and delete monitors from code, which helps when you track the same page type across many vendors.
  • Chat. Slack and Discord delivery for the team channel, set per monitor.

Check speed is up to you. Auto mode adjusts how often each page is checked, or you can set a custom interval; ASAP mode is on the higher plans. Paid plans start at $9 a month, billed in monitoring credits, and there is a free preview without a card if you want to test a rule first.

When to self-host instead

If your security rules say page contents cannot leave your network, or you want every raw diff archived, run changedetection.io on your own server. It is open source, and its selector targeting is precise once set up. You trade setup time and upkeep for full control.

A practical rollout

Start with three pages that have bitten you before. Write one rule each, send alerts to a test channel for a week, then tighten any rule that fired on something you did not care about. Once the signal is clean, move the alerts to the channel the team actually reads. If you want a longer walk-through, AyeWatch has a guide to watching any URL for updates.

Browse guides by topic