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.
| Need | SignalWatch | changedetection.io (self-hosted) |
|---|---|---|
| Hosting | Hosted. Nothing to install or update. | You run it (Docker / Python), you patch it, you back it up. |
| Change detection | Visible-text hash + unified diff; CSS selector, ignore regex, minimum-change filter | Text diff; CSS/XPath/JSON filters, ignore text, triggers |
| JavaScript pages | No (plain HTTP fetch) | Yes, with Playwright/Chrome fetcher |
| Alerts | Email, Slack, Discord, signed JSON webhook with retries | Apprise: 80+ services, unsigned |
| API | REST + OpenAPI, per-monitor event history with diffs | REST API (API key) |
| Price | Free (3 monitors) · Pro $12/mo or $79/yr · Business $29/mo or $199/yr | Free software + your server time; hosted plan from the project also available |
| Best for | Teams and scripts that want a webhook and no ops | Tinkerers, 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.