TiloBox
Back to directory
changedetection.io project preview

changedetection.io

A self-hosted website change monitor with visual selection, history, filters, and notification support.

LicenseApache-2.0
GitHub stars33.3k
Last commit1 weeks ago
Tags6 topics
MonitoringChange DetectionSelf HostedOpen SourceWeb MonitoringDocker
Overview

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.

Guided learning

Learn changedetection.io by building

Practical setup notes, real use cases, and copy-ready examples in one focused guide.

5 min read 7 sections
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:

yaml
1services:
2 changedetection:
3 image: ghcr.io/dgtlmoon/changedetection.io
4 container_name: changedetection
5 hostname: changedetection
6 volumes:
7 - changedetection-data:/datastore

Once 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 the Referer header so monitored sites cannot detect the monitoring tool.
  • EXTRA_PACKAGES — installs additional Python plugin packages, such as changedetection.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

Related tools

More options with a similar category or technology profile.

changedetection.io FAQs

changedetection.io is listed as a Monitoring tool on TiloBox. Review the overview, features, and official documentation on this page to decide whether it solves your specific workflow.

Start with the project's GitHub repository and official website for supported installation and deployment instructions. Test the setup with representative data or a small project before rolling it out more widely.

changedetection.io is listed under the Apache-2.0 license. Read the complete license text and the project's notices before using, modifying, or distributing the software.

Production readiness depends on your requirements. Review maintenance activity, security practices, documentation, backup and upgrade procedures, and compatibility with your stack; then validate it in a non-production environment.

changedetection.io is listed as an alternative to Visualping. Compare the core workflow, deployment model, integrations, and licensing against your must-have requirements before switching.