Other blogsGuides

Track competitor website changes with webhooks, not tabs

Which rival pages developers should watch, why home-made scrapers get noisy, and how AyeWatch sends signed events to your code.

The cleanest way to track competitor website changes as a developer is to put a monitor on the pages that matter and have it push structured events into your own tools. AyeWatch does this well: it watches the URLs you choose, decides whether a change matches a rule you wrote in plain English, and sends a signed webhook with a summary when it does.

That means no scraper to maintain, no selectors that break on the next redesign, and no diff output to parse.

Which competitor pages developers should watch

For a technical product, the useful signals are often on pages marketing never looks at:

Page Rule you might write
Changelog or release notes "New features or breaking changes, not typo fixes"
API reference "New endpoints, removed endpoints or changed auth"
Status page "New incidents affecting the API"
Pricing "Changes to API pricing or usage-based plans"
SDK or integrations list "New language SDKs or new integrations"
Careers "New roles in ML, platform or developer relations"

Keep the list tight. A handful of pages per close rival is enough.

Option 1: roll your own

You can write a cron job that fetches each page, strips the markup, hashes the text and compares it with the last run. It works for a weekend. Then a rival adds a rotating banner or a build timestamp and every run fires. You add filters, then a headless browser for the page that renders client-side, then retries. Now you maintain a scraper.

If you enjoy owning that stack, changedetection.io is the better starting point: it is open source, free to self-host, and lets you target page parts with CSS or XPath. You still run and patch the server.

Option 2: let AyeWatch judge the change

With AyeWatch the moving parts move to the service:

  1. Create a webpage monitor for each URL and write the rule in a sentence.
  2. Pick Auto mode, which tunes how often each page is checked, or set your own interval.
  3. Turn on the delivery you want per monitor.

Every plan gets push alerts and the in-app feed. Paid plans add email, Slack, Discord, webhooks and the REST API, and they start at $9 a month, billed in monitoring credits.

Wiring it into your stack

The paid-plan REST API lets you create, list, update and delete monitors from code, so your watch list can live in a config file and sync on deploy. Changes arrive as signed topic.update webhook events with an AI summary, signed with HMAC so your endpoint can verify the sender.

A small handler can then:

  • verify the signature,
  • post the summary to a #competitor-changes Slack channel,
  • open an issue when a rival's API reference changes,
  • append the event to a log your product team reviews weekly.

You can also send alerts straight to Slack or Discord with no code at all.

Writing rules that hold up

The rule is the part worth getting right. Name the change and leave out the rest. "Alert me on any change" brings back the noise you were trying to escape. "Alert me when an endpoint is added, removed or marked deprecated" gives the model something concrete to test each update against. Start strict, read the first week of alerts, and loosen a rule only if you find it missed something you wanted. You can mute, pause or edit a monitor at any time, so this costs minutes, not a refactor.

Beyond the website

Some competitor moves never touch their own pages: a launch thread on X, a Reddit post from their team, a partner press release. AyeWatch also runs topic monitors across the wider web and social platforms, so the same webhook can carry both kinds of event.

When not to use it

If you need a visual before-and-after of a page, a screenshot tool such as Visualping fits better. If you need full control of every request, self-host changedetection.io. For most teams that just want competitor changes in Slack or in code, the AyeWatch API and webhooks are the shortest path.

Browse guides by topic