Changedetection.io monitors any website without code — and tells you before your customers find out
Changedetection.io hit 32,500 GitHub stars in July 2026 with v0.55.8 adding LLM-powered change filtering and Playwright-based JavaScript rendering. A ten-line Docker Compose file is all it takes to track your competitors’ pricing pages, stock availability, and TOS changes before they even know they changed them.
Changedetection.io crossed 32,500 GitHub stars in July 2026. Version 0.55.8, released July 13, 2026, shipped LLM-powered change summaries and intelligent noise filtering — features that turn a website watcher into a competitive intelligence tool. Created by dgtlmoon under the Apache 2.0 license, it monitors content, prices, stock status, and visual diffs from a single Docker container in ten lines of YAML. If your competitor changes their pricing on a Friday night, you’ll know Saturday morning — not Monday when your clients break the news.
Five detection modes, not one
Most “website monitors” compare HTML checksums and call it a day. Changedetection.io ships five distinct detection modes that you can stack on a single watch.
Text diffing. Word-by-word, line-by-line, or character-by-character comparison with a built-in diff viewer that highlights additions in green and deletions in red. You see exactly what moved in a TOS clause, a price tag, or a security advisory — no need to re-read the whole page.
Visual screenshot diffing. When Playwright is enabled (headless Chromium), Changedetection.io captures a screenshot on each check and compares the pixels. This catches changes on JavaScript-heavy pages where the HTML stays the same but the rendered output shifts — landing pages, dashboards, dynamic pricing widgets. The feature is included in the $8.99/month SaaS plan and available self-hosted via the sockpuppetbrowser container.
Price and stock monitoring. Flip the “Re-stock & Price detection” switch and Changedetection.io automatically extracts product metadata (schema.org, Open Graph) from any e-commerce page. You get a price dashboard with configurable thresholds: alert me if the price drops below $50, falls by more than 15%, or climbs back above a ceiling. Same logic for stock: the product flips from “Out of Stock” to “In Stock,” you get the notification.
JSON monitoring. Changedetection.io parses JSON API responses with JSONPath or jq. Monitor a pricing endpoint, a stock availability API, or a structured data feed without writing a single scraper. It also extracts JSON embedded in HTML (application/ld+json) — ideal for tracking prices on e-commerce sites that only expose them through schema.org markup.
PDF monitoring. Track text changes inside PDFs, plus file size and checksum differences. A new version of a regulated tariff, a rate card, or a documentation PDF triggers an alert without any manual checking.
The real power lies in the filters. Isolate the relevant part of the page with a CSS selector, xPath, or the Visual Selector tool (click the element in the browser, Changedetection.io generates the selector). Layer on conditional trigger rules — “only alert if the price is below $100,” “ignore footer and navigation changes” — and you eliminate the noise that makes other tools unusable.
Playwright — a real browser, not a curl impersonator
The Achilles’ heel of change detection tools has always been JavaScript. A React, Vue, or Next.js page that renders content dynamically looks blank to a plain HTTP fetch. Changedetection.io solves this with Playwright, a headless Chromium browser driven over the WebSocket protocol.
Self-hosting Playwright takes one extra container. Add sockpuppetbrowser to your compose file, uncomment PLAYWRIGHT_DRIVER_URL, and every watch that needs JS gets full rendering — CSS, fonts, Canvas, the lot.
The Playwright layer also unlocks Browser Steps: a recorded sequence of actions replayed before each check. Real examples from the community:
- Log into a customer account to monitor an authenticated page.
- Accept cookies and dismiss popups that hide content.
- Fill a search form and capture the results page.
- Add an item to the cart to verify the price doesn’t change between the product page and checkout.
- Switch currency or country on an international e-commerce site.
Browser Steps are recorded through the web UI — no Puppeteer scripts to maintain, no code required. That’s the “without writing code” in this article’s title.
85 notification channels, one URL format
Changedetection.io uses the Apprise library to push notifications to 85 different services. The model is dead simple: paste a notification URL into the watch’s edit tab, and alerts fire automatically when a change is detected.
The channels that matter most in 2026:
- Messaging: Discord, Slack, Telegram, Matrix, Microsoft Teams, Rocket.Chat, Google Chat, Mattermost, Zulip.
- Email: Standard SMTP, Office 365, or through Apprise.
- Push: Ntfy, Gotify, Pushover, Pushbullet.
- Webhooks: Arbitrary JSON to any HTTP endpoint — perfect for triggering an n8n workflow, a Zapier webhook, or a custom notification.
- ITSM and on-call: PagerDuty, OpsGenie, SIGNL4.
Every notification supports Jinja2 templating for the title and body. Include the price drop percentage, the product name, the change timestamp — right in the Slack or Telegram alert, no dashboard visit needed.
AI that filters the noise — available since June 2026
The feature that pushes Changedetection.io into a different league in 2026 is LLM integration. Available in the SaaS plan since June 2026 and rolling into the self-hosted version, it works on two levels.
Natural-language change rules. Instead of writing a complex CSS filter, you type something like “notify me only when the price drops below $50” or “ignore navigation and footer changes.” The LLM evaluates every detected diff against your intent and silently suppresses everything irrelevant. Zero false positives, zero noise.
Smart change summaries. Instead of staring at a raw diff, your notification reads “Price dropped from $89.99 to $67.00” or “3 new products added to the listing.” Summaries work globally or per-watch, with full control over the prompt sent to the model.
On the model side, use whatever you’re already paying for: GPT-4o-mini and Gemini Flash handle these tasks at fractions of a cent per check. If you refuse to send your data to a third-party provider, Changedetection.io supports Ollama, vLLM, LM Studio, or any OpenAI-compatible self-hosted endpoint — just point it at your local server’s /v1 URL. The integration runs through LiteLLM, which gives access to 100+ providers and models.
A Docker Compose file, two minutes
The basic setup fits in ten lines. The advanced version with Playwright takes twenty.
services:
changedetection:
image: dgtlmoon/changedetection.io:latest
container_name: changedetection
ports:
- "5000:5000"
volumes:
- changedetection-data:/datastore
environment:
- PLAYWRIGHT_DRIVER_URL=ws://playwright-chrome:3000/?stealth=1
restart: unless-stopped
playwright-chrome:
image: dgtlmoon/sockpuppetbrowser:latest
container_name: playwright-chrome
restart: unless-stopped
shm_size: "2gb"
volumes:
changedetection-data: docker compose up -d Open http://localhost:5000, paste a URL into the “Add Watch” field, and you’ll receive your first alert two minutes later. No signup, no page limits, no quotas. Watch data lives in the Docker volume changedetection-data — a daily rsync to external storage handles backups.
Three precautions before going to production:
- SSL reverse proxy. Put Nginx or Caddy in front of port 5000. Your dashboard exposes the full list of URLs you’re watching — and potentially session cookies if you use Browser Steps.
- Admin password. Enable password protection in settings. The interface ships without authentication by default.
- Playwright resources. The
sockpuppetbrowsercontainer needs at least 2 GB of RAM (shm-size=2g). On a budget VPS, set up swap or keep your Playwright-requiring watches under a dozen.
Changedetection.io vs. the alternatives
Here’s how the options most people evaluate in 2026 stack up.
Changedetection.io wins on data sovereignty and the absence of limits in self-hosted mode. Visualping is simpler if you don’t want to run infrastructure. Distill still makes sense for occasional desktop use via its browser extension. Sken.io offers nothing Changedetection.io doesn’t already do, with a shinier UI.
The structural difference is that Changedetection.io is an open-source project with an optional SaaS tier that funds development — not a SaaS with a crippled free plan. The self-hosted version gets every feature (LLM integration coming soon), no quotas, no watermarks, no upsells.
What it doesn’t do, and why that’s fine
Changedetection.io is not a mass scraper. It’s built to monitor specific pages you’ve already identified, not to crawl an entire site or ingest a 50,000-product catalog. If you need to scrape all of Amazon, look at Scrapy or Crawl4AI.
It also doesn’t do sentiment analysis, automatic change classification (outside the LLM feature), or performance monitoring (load time, TTFB). For that, it lives alongside Uptime Kuma or Prometheus + Grafana, not in their place.
Finally, it doesn’t replace a regulatory watch tool or an RSS aggregator. Changedetection.io detects raw changes on web pages; it’s up to you to decide whether those changes matter — or to let the LLM do it for you.
Verdict
Install Changedetection.io if you’re already manually refreshing competitor pricing, stock, or TOS pages. The Docker Compose setup takes two minutes, and you immediately stop hitting F5 on your competitor’s page hoping to spot a change. The 85 notification channels guarantee the alert lands where you actually read it — not in an inbox you check once a week.
Add the Playwright container if the pages you’re watching rely on JavaScript. Without it, you’ll only see static HTML — meaning you’ll see nothing on a React or Next.js site. The 2 GB RAM overhead is the price of seeing what a real browser sees.
Stick with Visualping if you have no VPS and you’re tracking fewer than five pages. The interface is more polished, and the zero-infra trade-off outweighs the free plan’s limits.
Whatever you choose, stop monitoring manually. A tool that checks 24 times a day what you check once a week finds changes 168 times faster. When your competitor changes pricing on Friday night, that means you react Saturday morning — not the following Monday.
References
- Changedetection.io — GitHub repository — 32,500+ stars, Apache 2.0 license, releases, documentation.
- Changedetection.io — Official site — SaaS offering, tutorials, API documentation.
- Changedetection.io — Playwright wiki — Playwright fetcher setup, docker-compose, configuration.
- Apprise — Notification library — 85+ supported notification services.
- LiteLLM — 100+ LLM providers — AI integration, supported models.
- Visualping — pricing, features.
- Distill Web Monitor — browser extension, pricing.