SignalWatch

changedetection.io alternative

Same idea as changedetection.io. Nobody has to run the container.

changedetection.io is excellent open-source software, and if you enjoy running it, keep running it. SignalWatch is for the person who wants the text-diff alert without the Docker host, the reverse proxy, the updates and the “is it still polling?” doubt. Public URL in, diff out — by email, Slack, Discord or a signed JSON webhook.

SignalWatch versus changedetection.io
NeedSignalWatchchangedetection.io (self-hosted)
HostingHosted. Nothing to install or update.You run it (Docker / Python), you patch it, you back it up.
Change detectionVisible-text hash + unified diff; CSS selector, ignore regex, minimum-change filterText diff; CSS/XPath/JSON filters, ignore text, triggers
JavaScript pagesNo (plain HTTP fetch)Yes, with Playwright/Chrome fetcher
AlertsEmail, Slack, Discord, signed JSON webhook with retriesApprise: 80+ services, unsigned
APIREST + OpenAPI, per-monitor event history with diffsREST API (API key)
PriceFree (3 monitors) · Pro $12/mo or $79/yr · Business $29/mo or $199/yrFree software + your server time; hosted plan from the project also available
Best forTeams and scripts that want a webhook and no opsTinkerers, JS-heavy targets, large private fleets

What is the same

Both tools solve “tell me when this page's text changes, and show me the diff.” Both let you scope to a CSS selector and strip noise. Both have an API. If your use case is competitor pricing, a vendor status page, a changelog, or a ToS page, either does the job.

What is different

Ops. With changedetection.io you own a process: a container, its storage, its version, its exposure to the internet, and the moment you notice it silently stopped three weeks ago. SignalWatch is a URL and a login.

Delivery. SignalWatch webhooks are HMAC-signed with a per-account secret, carry event headers, and retry on failure. That matters when the webhook drives automation and not just a chat message. Email is included on every plan.

Rendering. changedetection.io can drive a real browser. SignalWatch deliberately does not — that keeps it cheap and predictable, and it means SPAs that render prices client-side are out of scope. We say so on the home page rather than in a support ticket.

Migrating a few watches

Export your list of URLs and selectors, then create monitors over the API:

while IFS=, read -r name url selector; do
  curl -sS -X POST https://signalwatch.litework.me/api/v1/checks \
    -H "X-API-Key: $SIGNALWATCH_KEY" -H "Content-Type: application/json" \
    -d "{\"name\":\"$name\",\"url\":\"$url\",\"css_selector\":\"$selector\",\"notify_email\":true}"
done < watches.csv

More in examples. Free covers 3 monitors; most people migrating a self-hosted install land on Pro (50 monitors, 5-minute checks).

FAQ

Is SignalWatch a changedetection.io alternative?

Yes for public pages. Both hash visible text and show a diff. changedetection.io is open source with browser rendering; SignalWatch is hosted, API-first, and does not execute JavaScript.

Why pay when changedetection.io is free?

You are paying to not run a server, plus signed webhooks, email alerts and hosted history. Free covers 3 monitors; Pro is $12/month or $79/year.

Does SignalWatch render JavaScript?

No. If the content only exists after client-side rendering, changedetection.io's Playwright fetcher is the better fit.