TL;DR — Quick Summary

Deploy Changedetection.io to monitor website changes. Track price drops, content updates, API responses, and regulatory pages with notifications via email, Slack, Ntfy, and webhooks.

Why Changedetection.io?

Manually checking websites for updates is tedious. Changedetection.io does it for you:

  • Price tracking — Get alerted when a product drops in price.
  • Competitor monitoring — Know when competitors update pricing or features.
  • Regulatory compliance — Track government policy pages for changes.
  • API monitoring — Watch JSON endpoints for schema or value changes.
  • Job listings — Get notified about new positions instantly.

Prerequisites

  • Docker on any machine.
  • At least 128 MB RAM.

Step 1: Deploy with Docker

docker run -d \
  --name changedetection \
  --restart=always \
  -p 5000:5000 \
  -v changedetection-data:/datastore \
  dgtlmoon/changedetection.io

For JavaScript-rendered pages, add Playwright:

# docker-compose.yml
version: "3"
services:
  changedetection:
    image: dgtlmoon/changedetection.io
    ports:
      - "5000:5000"
    volumes:
      - ./data:/datastore
    environment:
      - PLAYWRIGHT_DRIVER_URL=ws://playwright-chrome:3000
    restart: always

  playwright-chrome:
    image: dgtlmoon/sockpuppetbrowser:latest
    restart: always

Step 2: Monitoring Strategies

Use CaseCSS SelectorCheck Interval
Product price.price, #product-priceEvery 2 hours
Blog/news updatesarticle, .post-listEvery 6 hours
API response(JSON mode)Every 15 minutes
Government regulation#content, .regulation-textDaily
Job listings.job-list, #positionsEvery hour
Competitor pricing.pricing-tableEvery 4 hours

Step 3: Notification Setup

Configure in Settings > Notifications using Apprise URLs:

# Email
mailto://user:password@smtp.gmail.com?to=alerts@example.com

# Slack
slack://TokenA/TokenB/TokenC/#channel

# Ntfy
ntfy://ntfy.example.com/alerts

# Discord
discord://WebhookID/WebhookToken

# Telegram
tgram://BotToken/ChatID

Step 4: Advanced Filters

Use triggers to only alert on meaningful changes:

FilterExamplePurpose
Text added”In stock” appearedProduct back in stock
Text removed”Available” disappearedProduct sold out
ThresholdPrice changed by >10%Significant price drops
Ignore text”Last updated:“Skip dynamic timestamps

Troubleshooting

ProblemSolution
Too many false alertsAdd CSS selectors to target specific content; use “Ignore text” filters
JavaScript page not renderingEnable Playwright browser container in docker-compose
Check timing is offVerify the schedule format; minimum interval is 1 minute
Notifications not sendingTest the Apprise URL in Settings > Test Notification
Page requires loginUse the “Request headers” option to send cookies or auth tokens

Summary

  • One Docker container monitors unlimited URLs.
  • CSS selectors target specific page elements to avoid false alerts.
  • 70+ notification services via Apprise integration.
  • Playwright option for JavaScript-rendered pages.