Changedetection.io monitors web pages for changes and notifies you when they occur — useful for tracking price changes, content updates, job postings, or any web page you want to watch without manually checking.
What This Tool Solves
Rather than manually revisiting pages to check for updates, changedetection.io periodically checks for you and sends a notification the moment a change is detected — particularly useful for pages without their own RSS feed or notification system.
Prerequisites
- Docker installed
Step 1 — Run Changedetection.io with Docker
docker run -d \
--name changedetection \
--restart unless-stopped \
-p 5000:5000 \
-v changedetection-data:/datastore \
dgtlmoon/changedetection.io
Step 2 — Access the Web Interface
http://YOUR_SERVER_IP:5000
Step 3 — Add Your First Watch
Enter the URL you want to monitor, and changedetection.io will take an initial snapshot to compare future checks against.
Step 4 — Configure Check Frequency
Set how often the page should be checked — balance responsiveness (catching changes quickly) against not overloading the target site with excessive requests.
Step 5 — Configure Notifications
Under settings, configure a notification method (email, Discord, Telegram, or generic webhook) so you're alerted when a monitored page actually changes.
Filtering to Specific Page Sections (CSS/XPath Selectors)
For pages where you only care about a specific section (a price, not the entire page including ads/navigation that change constantly), configure a CSS selector or XPath to focus monitoring narrowly — avoids notification noise from irrelevant page changes.
Handling JavaScript-Rendered Pages
Some pages load content dynamically via JavaScript, which basic HTML fetching won't capture — changedetection.io supports a browser-based fetching mode (using a headless browser) for these cases, configurable per-watch if the default fetch method doesn't capture the content you need.
Setting Up Price Tracking
A common use case — combine a specific CSS selector targeting just the price element with a notification, effectively building a simple price-drop alert for products you're watching.
Add HTTPS
See How to Install Nginx Proxy Manager with Docker to route a domain with SSL, particularly if you'll access this from multiple devices/locations.
Respecting Target Sites
Set reasonable check intervals rather than excessively frequent polling — being a considerate automated visitor to sites you're monitoring, and checking whether a site's terms of service have any relevant restrictions on automated monitoring.
Backing Up Watch Configuration
docker run --rm -v changedetection-data:/data -v $(pwd):/backup alpine tar czf /backup/changedetection-backup.tar.gz /data
Common Errors
False-positive change notifications — often caused by dynamic page elements (ads, timestamps, view counters) unrelated to the content you actually care about; refine your CSS selector to target only the relevant section.
Continue Reading
- How to Install Uptime Kuma (Self-Hosted Uptime Monitoring)
- How to Install Nginx Proxy Manager with Docker
- How to Install n8n for Workflow Automation
Browse more articles in Popular Self-Hosted Applications.