changedetection.io
changedetection.io is an open source, self-hosted website change detection tool — a Visualping and Distill alternative that watches web pages and alerts you the moment the content you care about changes.
What is changedetection.io?
changedetection.io is an open source tool that watches web pages and tells you when their content changes. You add a URL, optionally narrow it to a specific element with a CSS selector or XPath, and it re-checks on a schedule — showing a word-, line-, or character-level diff and firing a notification when something you care about moves.
What is changedetection.io best for?
People who need to know the instant a specific page changes: bargain-hunters tracking prices and restocks, data journalists watching public records, ops teams monitoring competitor pages, terms-of-service updates, or job and ticket listings. It’s built for content-change alerts on your own infrastructure, not uptime checks.
What can changedetection.io do?
- Detect content changes with word, line, and character-level diffs, plus trigger-text and ignore-text rules
- Target exactly what matters with CSS selectors, XPath, JSONPath/jq, regex, and a visual point-and-click selector
- Render JavaScript-heavy pages through a bundled Chrome/Playwright browser, including login and form-filling browser steps
- Track prices and product restocks, monitor JSON APIs, and watch PDF text, size, and checksums
- Send alerts to 85+ services through Apprise — Slack, Discord, Telegram, email, Matrix, ntfy, Microsoft Teams, and generic webhooks, with Jinja2-templated messages
- Summarize or filter changes with AI models (OpenAI, Gemini, Anthropic, or self-hosted Ollama)
- Schedule checks by timezone and time-of-day, and route requests through proxies (including Tor and commercial proxy providers)
Where does changedetection.io fall short?
- It watches content, not availability — it is not an uptime or status-page monitor. For “is my site up and responding,” a health-check tool like Uptime Kuma fits better.
- JavaScript-rendered sites need the separate Playwright/Chrome browser container running alongside the app; the lightweight default fetcher only sees static HTML, so single-page apps and scripted pages fail until you wire up the browser.
- Noisy or frequently-updated pages can generate false alerts, so you often have to tune ignore-text, filters, and check intervals before notifications become trustworthy.
Is changedetection.io free?
Yes — the self-hosted version is free and open source under the Apache 2.0 license, with unlimited monitors; you only pay for the server it runs on (a small VPS is enough for many pages). The makers also run an official hosted plan at $8.99/month that includes a managed Chrome browser and proxies if you’d rather not run it yourself.
What does changedetection.io replace?
changedetection.io is a self-hosted alternative to Visualping and Distill. It does the same watch-a-page-and-alert-me job, but you run unlimited monitors on your own infrastructure instead of paying per monitor and handing the pages you track to a cloud service.
FAQ
Is changedetection.io open source? Yes. It’s released under the Apache 2.0 license, and the full source is on GitHub. The self-hosted edition is genuinely free with no monitor limits.
Can I self-host changedetection.io for free? Yes. Run it with Docker, Docker Compose, or pip on Linux, Windows, or an ARM device like a Raspberry Pi. For JavaScript-heavy pages, add the companion Playwright/Chrome browser container.
Is changedetection.io a good Visualping alternative? For technical users, yes — you get unlimited monitors, selector-based targeting, and full data ownership without per-monitor fees. If you want a polished cloud UI with zero setup and screenshot-based visual diffs, a hosted service like Visualping may suit you better.
What do I need to run changedetection.io? A machine with Docker (or Python for a pip install). Static text and HTML monitoring works out of the box; add the Playwright browser container for sites that need JavaScript rendering.