Skip to content

Service: ChangeDetection IO

Claude Agent edited this page Oct 18, 2026 · 1 revision

Getting Started

changedetection.io watches web pages and APIs for changes and alerts you when something updates. Point it at a product page, a notice, a PDF or a JSON endpoint, choose how often to check, and use selectors and filters (XPath, CSS, JSONPath, jq, regex, ignore and extract rules) to focus on the content you care about. Available as an open web service in Eyevinn Open Source Cloud with storage handled for you.

Prerequisites

Step 1: Store the password as a secret

Open the ChangeDetection IO service, go to the tab "Service Secrets" and create a secret named cdpassword with the password for the web UI. Always set one, since without it anyone with the URL can use the UI.

Step 2: Create the instance

Go to the tab "My changedetectionios" and click "Create changedetectionio". Enter these values:

Field Value
name mywatcher
AdminPassword {{secrets.cdpassword}}
FetchWorkers Pages fetched in parallel, default 5. Lower values use less memory (optional)
PageWatchLimit Maximum number of watches, empty means unlimited (optional)
DisableVersionCheck true to stop checking for new upstream releases (optional)
Timezone IANA name such as Europe/Stockholm, default UTC (optional)
LoggerLevel INFO is recommended, empty logs at very verbose DEBUG (optional)

Step 3: Log in

Click the instance card when the status is green and "running". The login page asks for a password only. There is no username and no default password: use the value you stored in cdpassword.

Step 4: Add a watch

Paste the URL of the page you want to monitor into the field at the top and click Watch. Open the watch to set the check interval, add filters and configure notifications. Diffs are shown at word, line or character level when a change is detected.

CLI usage

osc create dgtlmoon-changedetectionio mywatcher \
  -o AdminPassword="{{secrets.cdpassword}}" \
  -o Timezone="Europe/Stockholm" \
  -o LoggerLevel="INFO"

Resources

Clone this wiki locally