Watch Management
Watches are the core of changedetection.io - each watch monitors a single URL for changes. Use these endpoints to create, retrieve, update, and delete watches programmatically.List All Watches
/api/v1/watch
Query Parameters
Filter watches by tag name (not UUID)
Set to
"1" to trigger recheck of all watchesResponse Fields
Unique identifier for the watch
The raw URL being monitored (may contain Jinja2 templates)
The rendered URL (Jinja2 processed) - always use this for display
Custom title for the watch
HTML
<title> tag from the pageArray of tag UUIDs associated with this watch
Unix timestamp of last check
Unix timestamp of last detected change
Last error message,
false if no error, null if never checkedExample
Create a Watch
/api/v1/watch
Request Body
URL to monitor (must use http://, https://, or ftp:// protocol)
Custom title for the watch
Array of tag UUIDs to associate with this watch
Single tag UUID (alternative to
tags array)Processor mode:
text_json_diff or restock_diffFetcher to use:
system, html_requests, html_webdriver, or extra_browser_*Whether the watch is paused
Whether notifications are muted
Array of notification URLs (Apprise format)
Check interval with fields:
weeks, days, hours, minutes, secondsUse global check interval settings
CSS/XPath selectors to extract content
CSS/XPath selectors to remove content
Text patterns to ignore in change detection
Text patterns that must be present to trigger
Example
Get a Single Watch
/api/v1/watch/
Path Parameters
UUID of the watch
Query Parameters
Set to
"1" or "true" to trigger immediate recheckSet to
"paused" or "unpaused" to change pause stateSet to
"muted" or "unmuted" to change mute stateExample
Update a Watch
/api/v1/watch/
Path Parameters
UUID of the watch to update
Request Body
Accepts the same fields as Create Watch. Only specified fields will be updated.Unix timestamp to mark the watch as viewed (set higher than
last_changed)Example
Delete a Watch
/api/v1/watch/
Path Parameters
UUID of the watch to delete
Example
Get Watch History
/api/v1/watch//history
Path Parameters
UUID of the watch
Example
Get Single Snapshot
/api/v1/watch//history/
Path Parameters
UUID of the watch
Unix timestamp or
"latest" for most recent snapshotQuery Parameters
Set to
"1" to return raw HTML instead of processed textExample
Get Snapshot Diff
/api/v1/watch//difference//
Path Parameters
UUID of the watch
Starting timestamp or
"previous" for second-most-recentEnding timestamp or
"latest" for most recentQuery Parameters
Output format:
text, html, htmlcolor, or markdownEnable word-level diffing (vs line-level)
Return raw diff without formatting
Show only changed lines (no context)
Ignore whitespace-only changes
Include removed content
Include added content
Include replaced content
Example
Get Watch Favicon
/api/v1/watch//favicon
Path Parameters
UUID of the watch
Example
Search Watches
/api/v1/search
Query Parameters
Search query to match against watch URLs and titles
Tag name to limit search results (name not UUID)
Allow partial matching of URL query (set to
1 or true)Response
Returns matching watches with basic information:Unique identifier for the watch
URL being monitored
Custom title for the watch
Unix timestamp of last check
Unix timestamp of last detected change
Most recent error message (if any)
Whether changes have been viewed
Examples
Use Cases
Find watches by domain
Find watches by domain
Search for all watches monitoring a specific domain:
Filter by tag
Filter by tag
Search within a specific tag group:
Partial URL matching
Partial URL matching
Enable partial matching for more flexible searches: