Repolode
dgtlmoon

dgtlmoon/changedetection.io

Self-hosted web page change monitor that alerts you via Discord, Email, Slack, Telegram, webhooks and more when a page changes.

Open-source alternative to:VisualpingDistill.io

Stars
35,120
Forks
2,161
Open issues
402
Last commit
yesterday

What is it?

changedetection.io watches web pages for content changes and sends notifications when something differs from the last check. It is aimed at tracking prices, restocks, news updates, documents, and JSON API responses without manually reloading pages. Notifications are delivered through the apprise library, which covers services such as Discord, Email, Slack, Telegram, and custom webhooks.

Watches can target specific parts of a page using CSS selectors, XPath, regular expressions, JSONPath, or jq, and can fetch either with a fast HTTP fetcher or a Chrome-based browser for JavaScript-heavy sites. Browser steps can log in, click buttons, or fill forms before checking. Changes can be reviewed word by word, line by line, or character by character, and PDF files can be monitored by text content, size, and checksum.

The project can run through Docker, docker compose, or pip, and exposes a REST API with an OpenAPI specification. Optional LLM features can summarise changes or filter alerts using providers such as OpenAI, Gemini, or a local Ollama instance.

Key features

  • 01Notifications via apprise to Discord, Email, Slack, Telegram, webhooks and many other services
  • 02Element targeting with CSS selectors, XPath 1.0/2.0, JSONPath, and jq
  • 03Chrome-based fetching for JavaScript pages, plus browser steps for logins and forms
  • 04PDF change monitoring by text, file size, and checksum
  • 05Price and restock tracking with configurable thresholds
  • 06REST API with an OpenAPI specification

Use cases

  • Getting alerted when a product's price drops or it returns to stock
  • Tracking government, university, or company announcements on websites with no mailing list
  • Monitoring JSON API responses and triggering webhooks when content changes
  • Watching a page for keywords or defacement as part of compliance work

Quick start

  1. 1

    Run the container with Docker

    docker run -d --restart always -p "127.0.0.1:5000:5000" -v datastore-volume:/datastore --name changedetection.io dgtlmoon/changedetection.io
  2. 2

    Or install from PyPI with pip

    pip3 install changedetection.io
  3. 3

    Start the app with a data directory

    changedetection.io -d /path/to/empty/data/dir -p 5000
  4. 4

    Open the UI in your browser at http://127.0.0.1:5000

Things to know

  • The Visual Selector and Browser Steps require Playwright to be enabled.
  • The AI change detection and summary features are listed for the hosted subscription service from June 2026.
  • Windows setup is described in a separate wiki page rather than the main README.

Topics

FAQ

What is changedetection.io?
Self-hosted web page change monitor that alerts you via Discord, Email, Slack, Telegram, webhooks and more when a page changes. changedetection.io watches web pages for content changes and sends notifications when something differs from the last check. It is aimed at tracking prices, restocks, news updates, documents, and JSON API responses without manually reloading pages. Notifications are delivered through the apprise library, which covers services such as Discord, Email, Slack, Telegram, and custom webhooks.
Is changedetection.io free to use? What license does it have?
changedetection.io is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is changedetection.io still maintained?
Actively maintained. The last commit to changedetection.io was on Oct 18, 2026.
What can I use changedetection.io for?
Getting alerted when a product's price drops or it returns to stock Tracking government, university, or company announcements on websites with no mailing list Monitoring JSON API responses and triggering webhooks when content changes Watching a page for keywords or defacement as part of compliance work
How do I install changedetection.io?
Run the container with Docker: docker run -d --restart always -p "127.0.0.1:5000:5000" -v datastore-volume:/datastore --name changedetection.io dgtlmoon/changedetection.io Or install from PyPI with pip: pip3 install changedetection.io Start the app with a data directory: changedetection.io -d /path/to/empty/data/dir -p 5000 Open the UI in your browser at http://127.0.0.1:5000
Where can I get changedetection.io?
The source code and installation instructions are on GitHub: https://github.com/dgtlmoon/changedetection.io

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects