Skip to content

Changedetection.io

What it is

Changedetection.io is a self-hosted open-source tool designed to monitor websites for content changes. It provides a clean web interface to add URLs, set up filters, and configure notification triggers, allowing users to track modifications in specific parts of a page with high precision. In July 2026, it is the standard for triggering agentic workflows based on external web events, featuring deep integration with the Model Context Protocol (MCP).

What problem it solves

It eliminates the need for manual website checking by automating the observation process. It solves the problem of "information decay" by pushing alerts when price drops, software releases, or policy updates occur. It acts as a bridge between static web content and dynamic automation pipelines, providing reliable change detection for pages that lack RSS feeds or official APIs. It allows Gemma 3 and Claude 4.8 agents to stay updated on web-based information without constant polling.

Where it fits in the stack

In the automation ecosystem, Changedetection.io acts as a Web Event Trigger. It sits in the ingestion layer, sending webhooks to n8n or Apprise, which then kick off complex workflows using autonomous agents. It can also be controlled via the MCP 3.0 Task Protocol to dynamically add or modify watches based on agentic requirements.

Typical use cases

  • Price Tracking: Monitoring retail sites for discounts or stock availability.
  • Software Release Monitoring: Watching GitHub or product pages for new versions.
  • Regulatory Monitoring: Tracking changes to government or corporate legal/policy pages.
  • Visual Regression: Capturing screenshots over time to see how a site's design evolves.
  • AI Dataset Ingestion: Triggering fresh scraping for local AI knowledge bases when a source updates.
  • Security Auditing: Monitoring critical infrastructure login pages for unauthorized changes.

Strengths

  • Multiple Fetchers: Supports fast basic fetching and Playwright/Selenium for JS-heavy Single Page Applications (SPAs).
  • Granular Filters: Use CSS selectors, XPath, or JSONPath to monitor only specific, relevant page elements.
  • Snapshot History: Keeps a versioned history of changes, allowing for detailed diff analysis.
  • Extensive Notifications: Integrates with Apprise to support over 70 notification services (Telegram, Discord, etc.).
  • Visual Filtering: Easy-to-use interface for selecting specific areas of a page to monitor or ignore.

Limitations

  • Bot Detection: Can be blocked by aggressive anti-bot measures like Cloudflare Turnstile without advanced proxy management.
  • Resource Intensity: Running multiple Playwright/WebDriver fetchers simultaneously can be memory-intensive on smaller servers.
  • Configuration Complexity: Monitoring highly dynamic sites may require deep knowledge of CSS/XPath to avoid false positives.

When to use it

  • When you need to monitor specific website elements for changes without manual effort.
  • To receive automated notifications for price drops or critical software updates.
  • For building automated ingestion pipelines that respond to external web content modifications.
  • To provide real-time web awareness to local AI models like Gemma 3.

When not to use it

  • For high-frequency, millisecond-level data monitoring (e.g., high-frequency stock trading).
  • If the target site has an official, reliable, and free API that provides the same data.
  • If the content is behind complex, multi-step authentication that Changedetection cannot easily navigate.

Getting started

Docker Compose

To run Changedetection.io using Docker Compose:

services:
  changedetection:
    image: dgtlmoon/changedetection.io
    container_name: changedetection
    ports:
      - "5000:5000"
    volumes:
      - ./data:/datastore
    restart: unless-stopped

Access the interface at http://localhost:5000.

Filters & Noise Reduction

Effective website monitoring requires filtering out dynamic content that changes on every load (e.g., timestamps, session IDs, ads). - CSS Selectors: Use selectors like main#content or article.post to focus the monitor. Exclude elements like .sidebar or .footer. - Ignoring Text (Regex): Use regex in the "Filters" tab to strip patterns: - [0-9]{2}:[0-9]{2}:[0-9]{2} (Timestamps) - [0-9]+ comments (Comment counts) - \d+ views (View counts) - Visual Filters: When using Playwright, use the "Visual Filter" selector to click and hide elements directly from the rendered preview.

CLI examples

The service can be managed and inspected via Docker:

# View live logs to debug fetcher issues
docker logs changedetection

# Check the installed version inside the container
docker exec changedetection python3 -c "import changedetectionio; print(changedetectionio.__version__)"

# Force a restart of the monitoring service
docker restart changedetection

API examples

Changedetection.io features a REST API for programmatic control. Authenticate using the API key found in the Settings tab.

Listing All Watches (curl)

curl http://localhost:5000/api/v1/watch \
     -H "x-api-key: <your_api_key>"

Checking Watch Status (Python)

import requests

API_URL = "http://localhost:5000/api/v1/watch"
headers = {"x-api-key": "your_api_key_here"}

response = requests.get(API_URL, headers=headers)
if response.status_code == 200:
    for uuid, data in response.json().items():
        print(f"Watch: {data.get('title')} | Last Checked: {data.get('last_checked')}")
  • n8n — For orchestrating advanced workflows triggered by detected changes.
  • Linkwarden — For archiving and managing links discovered during monitoring.
  • Authentik — For securing Changedetection.io with SSO and MFA.
  • Paperless-ngx — For ingesting and indexing PDF snapshots of changed pages.
  • Gitea — For version-controlling configuration or scripts related to monitoring.
  • Nextcloud — For storing and syncing exported snapshots.
  • Home Assistant — For triggering physical home alerts based on web content changes.
  • Playwright — The underlying engine used for monitoring Javascript-heavy sites.
  • Apprise — Notification engine for 70+ services.
  • Model Context Protocol — Standard for agentic control of web monitoring.

Sources / references

Contribution Metadata

  • Last reviewed: 2026-07-21
  • Confidence: high