explaingit

dgtlmoon/changedetection.io

📈 Trending31,524PythonAudience · developerComplexity · 3/5ActiveLicenseSetup · moderate

TLDR

Self-hosted web page monitor that detects changes and sends notifications via email, Discord, Slack, or webhooks. Tracks prices, restocks, job listings, and any content updates automatically.

Mindmap

mindmap
  root((repo))
    What it does
      Monitor web pages
      Detect changes
      Send notifications
      Track prices
    How it works
      Fetch on schedule
      Compare content
      CSS/XPath selectors
      Playwright browser
    Notifications
      Email
      Discord
      Slack
      Webhooks
    Use cases
      Price tracking
      Restock alerts
      Job listings
      Content updates
    Features
      AI filtering
      Visual selector
      E-commerce mode
      Login support

Things people build with this

USE CASE 1

Track product prices and get alerts when they drop below your target price.

USE CASE 2

Monitor job listing sites and get notified when new positions matching your skills are posted.

USE CASE 3

Watch government or regulatory websites for policy updates and announcements.

USE CASE 4

Get alerts when out-of-stock items become available again for purchase.

Tech stack

PythonPlaywrightDockerCSS selectorsXPathJSONPath

Getting it running

Difficulty · moderate Time to first run · 30min

Requires Docker setup and configuration of notification credentials (email/Discord/Slack/webhook) before monitoring can begin.

Use freely for any purpose including commercial. Keep the notice and disclose changes to the patent grant.

In plain English

Changedetection.io is a self-hosted tool that automatically monitors web pages for changes and sends you a notification when something on a page is different from the last time it was checked. It solves the tedious problem of manually checking websites for updates, whether that is a product coming back in stock, a price dropping, new content appearing on a page, or any other change you care about. The tool fetches pages on a schedule you configure, compares the current content to the previously saved version, and sends an alert through your chosen notification channel, which can be email, Discord, Slack, Telegram, a webhook, or many others. You can narrow what it watches by targeting specific elements on the page using CSS selectors, XPath expressions, or JSONPath for API responses, so you only get notified when the section you care about changes. For pages that require JavaScript to render or require interactions like logging in or clicking a button before the content appears, changedetection.io can use a Playwright browser engine to load and interact with the page before checking for changes. A visual selector tool lets you click on parts of the page to specify what to monitor. For e-commerce use cases, there is a dedicated price and restock detection mode that extracts product metadata and lets you set upper and lower price thresholds or notify you when an out-of-stock item becomes available. Recent versions also support AI-powered filtering where you write a plain-English rule such as "notify me only when the price drops below 50 dollars" and an LLM evaluates each detected change against that intent. You would use this for tracking product prices, monitoring job listings, watching government or regulatory pages for updates, or any recurring webpage-checking task. The tech stack is Python, deployable via Docker.

Copy-paste prompts

Prompt 1
How do I set up changedetection.io to monitor a product price on an e-commerce site and alert me when it drops below $50?
Prompt 2
Show me how to use CSS selectors in changedetection.io to monitor only a specific section of a webpage instead of the entire page.
Prompt 3
How do I deploy changedetection.io using Docker and configure it to send notifications to my Discord server?
Prompt 4
Can you explain how to use the AI filtering feature to create a rule like 'notify me only when the price drops below 50 dollars'?
Prompt 5
How do I set up changedetection.io to monitor a page that requires JavaScript rendering or login before content appears?
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.