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:
- Fetch the page on a schedule.
- Strip it to text.
- 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.updateevents 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.