changedetection.io
A self-hosted website change monitor with visual selection, history, filters, and notification support.
Why consider changedetection.io?
Self-hostable web page change detection and monitoring tool with browser automation, AI-powered summaries, and 85+ notification channels—licensed Apache 2.0 with 31k+ GitHub stars.
Learn changedetection.io by building
Practical setup notes, real use cases, and copy-ready examples in one focused guide.
In this guide7 sections
What changedetection.io Does and Who It Is For
changedetection.io is a self-hostable web-page change detection and monitoring tool. It polls any URL on a schedule, compares the new content against a stored snapshot, and notifies you the moment a difference appears. The project targets developers, sysadmins, and independent researchers who need reliable, privacy-respecting monitoring without handing URL lists to a third-party cloud service.
The official repository description frames the problem directly: monitoring is "perfect for tracking content changes, price drops, restock alerts, and website defacement monitoring." The README lists use cases that span regulatory compliance monitoring, job-portal keyword searches, JSON API tracking, PDF file change detection, and e-commerce restock alerts.
Installing with Docker Compose
The officially documented starting point for self-hosted deployment is Docker Compose. The repository's docker-compose.yml defines the container and its volume at the top level:
services: changedetection: image: ghcr.io/dgtlmoon/changedetection.io container_name: changedetection hostname: changedetection volumes: - changedetection-data:/datastoreOnce the stack is running, the web UI is accessible via the host browser. No account or outbound registration is required for the self-hosted version.
The compose file also documents optional environment variables in commented-out blocks. Notable ones include:
PLAYWRIGHT_DRIVER_URL— connects the container to a real Chromium browser via the Playwright protocol, enabling JavaScript rendering and the Visual Selector.FETCH_WORKERS— sets the number of parallel fetchers (defaults to a single worker).HIDE_REFERER— strips theRefererheader so monitored sites cannot detect the monitoring tool.EXTRA_PACKAGES— installs additional Python plugin packages, such aschangedetection.io-osint-processor, at container startup.
Core Detection Capabilities
The README documents the following filtering mechanisms that narrow what counts as a reportable change:
- Trigger on text / Ignore text — plain-string or regex-based rules that suppress or require specific words before a notification fires.
- CSS Selectors and xPath 1/2 — restricts monitoring to a precise page element rather than the full document.
- JSONPath and jq — targets changes within JSON API responses.
- Visual Selector — a point-and-click element picker that requires the Playwright-enabled browser container.
- Browser Steps — scripted browser interactions (form fills, button clicks, cookie acceptance) that run before the snapshot is taken, allowing monitoring behind login walls.
PDF files are also supported: the tool can detect text changes inside a PDF, as well as changes to its file size or checksum.
AI-Powered Change Summaries and Smart Alert Rules
As of the current codebase, changedetection.io supports LLM integration through LiteLLM, giving access to 100+ provider and model combinations. Two features build on this:
AI change summaries replace raw diff output in notifications. Instead of a character-level diff, the notification reads a plain-language description such as "Price dropped from $89.99 to $67.00" or "3 new products added to the listing."
AI change detection rules let you write a plain-English intent once—"notify me only when the price drops below $50"—and the LLM evaluates every detected diff against that intent, suppressing irrelevant changes silently. The README notes that models such as GPT-4o-mini and Gemini Flash handle this well at fractions of a cent per check. Self-hosted endpoints (Ollama, vLLM, LM Studio, any OpenAI-compatible /v1 URL) are supported by selecting the OpenAI-compatible option in the provider dropdown.
Notification Channels
The official website lists the notification system as supporting over 85 distinct channels, including Discord, Slack, Telegram, Rocket.Chat, Email, Matrix, NTFY, and Office 365. The project uses the Apprise library as its notification backend, which accounts for the breadth of integrations.
Restock and Price Monitoring
A dedicated detection mode—"Re-stock & Price detection for single product pages"—extracts structured pricing metadata from a page's HTML and tracks it as a numeric value rather than raw text. This mode allows setting upper and lower price thresholds and a percentage-change trigger, so notifications only fire when the price crosses a configured boundary. The README explicitly lists out-of-stock and back-in-stock notification as a supported use case.
License and Project Status
changedetection.io is licensed under the Apache License 2.0. The repository is public, not archived, and has accumulated over 31,000 GitHub stars as of August 2026, with active commits on the master branch. The project is maintained by Web Technologies s.r.o. and offers a paid hosted subscription at $8.99/month for users who prefer not to run their own infrastructure—the open-source codebase and the hosted service share the same feature set.
The REST API is documented at changedetection.io/docs/api_v1/index.html and the tutorials index at changedetection.io/tutorials.
Sources
- GitHub repository: https://github.com/dgtlmoon/changedetection.io
- Official README: https://raw.githubusercontent.com/dgtlmoon/changedetection.io/master/README.md
- docker-compose.yml: https://raw.githubusercontent.com/dgtlmoon/changedetection.io/master/docker-compose.yml
- Official website: https://changedetection.io
- API documentation: https://changedetection.io/docs/api_v1/index.html
- Tutorials: https://changedetection.io/tutorials
Related tools
More options with a similar category or technology profile.
dash.
Simple, modern server dashboard and hardware monitor for homelabs.
Xen Orchestra
Complete web-based management and backup solution for XCP-ng and XenServer.
Cockpit Project
Web-based graphical interface for Linux servers with zero overhead.
Kresus
Self-hosted personal finance manager with automatic bank synchronization.