# changedetection.io

> Open-source website change detection and monitoring tool that sends alerts for page updates, price changes, and restocks.

changedetection.io is an open-source tool for monitoring web pages and sending notifications when their content changes. It is built in Python under the Apache 2.0 license and can be self-hosted through Docker or pip. A hosted subscription is also offered by the project, with a Chrome browser included and nothing to install.

It targets use cases such as price tracking, restock alerts, JSON API monitoring, PDF change tracking, and website defacement monitoring.

## What It Is

changedetection.io watches URLs on a schedule, compares the fetched content to the previous version, and shows the differences by word, line, or character. When a change is detected, it sends notifications through the Apprise library to services such as Discord, Slack, Telegram, email, Matrix, and Office 365. Notification titles and bodies can be customised with Jinja2 templates.

## Targeting and Filtering Changes

Users can narrow what is watched with a Visual Selector, CSS selectors, XPath, JSONPath, or jq. Trigger text, ignore text, text extraction, and regular expressions help reduce noise, and conditional rules can fire only when, for example, a price crosses a threshold or a keyword appears. JSON embedded in HTML can be parsed too. Watches can be scheduled by timezone, day of week, and time window.

## Browser Steps and Restock Tracking

With a Playwright or WebDriver fetcher, Browser Steps can log in, click buttons, fill fields, or add items to a cart before the check runs. A restock and price detection option extracts product metadata from single product pages, charts price trends, and alerts on price or availability changes.

## AI Features

The README describes optional LLM integration, powered by LiteLLM. Users write plain-language rules to suppress irrelevant changes and generate readable change summaries. It supports providers such as OpenAI, Gemini, Anthropic, and local endpoints like Ollama and vLLM. The README notes this is available in the hosted service from June 2026 and that diffs are sent to the chosen provider.

## Setup Path

Install with Docker (compose or standalone) or pip, then open the web UI on port 5000. A REST API with an OpenAPI specification, Excel and plaintext URL import, per-watch proxy configuration, and a Chrome extension for adding pages are also provided.

## Features
- Website change detection with word, line, and character diffs
- Visual Selector for targeting page elements
- Browser Steps for login, clicks, and form interaction
- Restock and price change detection with price graphs
- CSS, XPath, JSONPath, and jq filters
- Trigger text, ignore text, and regex filtering
- Conditional change rules
- PDF change tracking
- JSON API monitoring
- Scheduling by timezone and time window
- 85+ notification formats via Apprise
- Jinja2 notification templates
- Screenshots in notifications
- Per-watch proxy configuration
- Excel and plaintext URL import
- REST API with OpenAPI spec
- Optional LLM-based change rules and summaries
- Chrome extension

## Integrations
Discord, Slack, Telegram, Rocket.Chat, Email, Matrix, NTFY, Office 365, Apprise, Playwright, WebDriver, LiteLLM, OpenAI, Gemini, Anthropic, Ollama, vLLM, LM Studio, Docker, Bright Data, Oxylabs

## Platforms
WEB, API, LINUX, WINDOWS, BROWSER_EXTENSION

## Pricing
Open Source, Free tier available

## Version
0.60.9

## Links
- Website: https://changedetection.io
- Documentation: https://changedetection.io/docs/api_v1/index.html
- Repository: https://github.com/dgtlmoon/changedetection.io
- EveryDev.ai: https://www.everydev.ai/tools/changedetection-io
