Find your next open-source project

Search by name, purpose, or keyword — or paste a GitHub repository URL

dgtlmoon/changedetection.io

DevOps & Self-hosting

Self-hosted website change detection that watches pages, JSON APIs and PDFs, then sends alerts through many notification services.

35,592
2,218
Python
Apache-2.0
5 years old

What it does

changedetection.io is a self-hosted service that checks web pages on a schedule, records what changed, and notifies you through services such as Discord, Slack, Telegram, email or a webhook. It is aimed at people who need to watch prices, restocks, government notices, job pages, release notes or defacement without running their own diff scripts.

The checker can select page regions with CSS, XPath or the visual selector, extract data from JSON APIs with JSONPath or jq, and track text inside PDFs. A Chrome/Playwright fetcher handles JavaScript-rendered pages and can perform simple browser steps such as filling forms or clicking buttons before comparing content. Optional LLM rules and summaries can filter noise or turn a raw diff into a plain-language message through LiteLLM's supported providers, including local endpoints AI summary tutorial, LiteLLM providers.

Run it with Docker

Clone the repository and start the bundled Compose file from the repository root:

docker compose up -d

A standalone container works the same way Docker instructions:

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

Then open http://127.0.0.1:5000, add a URL, choose a fetcher and filters, set the check interval and add one or more notification URLs on the watch's edit tab. The :latest tag tracks the stable release; :dev tracks the master branch Docker notes. The Python route installs the package from PyPI and starts it against an empty data directory PyPI package:

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

Windows users are directed to the wiki install page rather than a command in the README Windows installation.

Notification and API details

Notifications use the Apprise library, so a notification URL can target a webhook, mailto address, Microsoft Teams, Office 365 or the other services Apprise supports notification setup. Notification titles and bodies can be templated with Jinja2. A REST API handles watches, tags and notifications programmatically, with interactive documentation and an OpenAPI spec for client generation.

Constraints and cautions

  • JavaScript rendering, visual selection and browser steps require a Playwright-based fetcher; the README ties the included fetcher to the paid subscription visual selector.
  • LLM features send page diffs and extracted text to the provider you configure, with your own API costs; the README explicitly warns that model output can be wrong or incomplete AI section.
  • You are responsible for respecting each monitored site's terms, robots.txt and applicable privacy law, especially when personal data reaches an AI provider.
  • The software is Apache-2.0 licensed and offered as-is; commercial support is available separately license.
  • Proxy configuration is per-watch, so sites that block your IP may need an external proxy service proxy configuration.

HotRepo's take

The project appeared on Hacker News repeatedly between 2021 and 2023, and the 2023 thread drew 253 points and 56 comments. In that discussion, a commenter described the practical need for watching pages that have no feed or email signup, such as government contract and ticket pages HN thread. The repository has a large star base and an active test workflow. The only recent ranking record is a Python daily list placement on 2026-11-06 with 62 stars gained, so that single snapshot does not establish a trend.

Written by AI from the project's README, updated . The project's own docs are the source of truth.

Hacker News

ChangeDetection, monitor any website change
▲ 253 · 56 comments · September 1, 2023
Show HN: Changedetection.io detect changes in websites and JSON feeds
▲ 147 · 29 comments · January 3, 2022
Changedetection.io “turns websites into news” releases 0.42
▲ 1 · 1 comment · May 21, 2023