Watch
Monitor any URL for content changes. Webclaw periodically scrapes the page, compares it to the previous snapshot, and notifies you via webhook when something changes.
Note
Maximum 20 watches per user. Each check consumes 1 scrape credit.
Create a watch
POST
/v1/watchCreate a new URL watch with a check interval and optional webhook.
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
url | string | Yes | The URL to monitor. |
name | string | No | Human-readable label for the watch. |
interval_minutes | integer | No | Check interval in minutes (60-10080). Default: 1440 (daily). |
webhook_url | string | No | URL to receive POST notifications when changes are detected. |
Interval options
| Interval | Minutes | Credits / month (est.) |
|---|---|---|
| Hourly | 60 | ~720 |
| Every 6 hours | 360 | ~120 |
| Daily | 1440 | ~30 |
| Weekly | 10080 | ~4 |
List watches
GET
/v1/watchList all watches for the authenticated user.
Watch details
GET
/v1/watch/{id}Get a watch and its snapshot timeline.
Snapshot object
| Field | Type | Description |
|---|---|---|
id | string | Unique snapshot identifier. |
content_hash | string | Hash of the extracted content for quick comparison. |
word_count | integer | Word count of the page content. |
status | string | "initial" (first check), "same" (no change), or "changed". |
title | string | Page title at check time. |
diff_summary | string | null | AI-generated summary of what changed. Null for initial snapshots. |
word_count_delta | integer | Change in word count from previous snapshot. |
links_added | string[] | New links found on the page. |
links_removed | string[] | Links removed since last check. |
checked_at | string | ISO 8601 timestamp of the check. |
Update a watch
PATCH
/v1/watch/{id}Update watch settings. Only provided fields are changed.
Delete a watch
DELETE
/v1/watch/{id}Permanently remove a watch and all its snapshots.
Trigger manual check
POST
/v1/watch/{id}/checkImmediately check the URL and create a new snapshot. Costs 1 scrape credit.
Webhook payload
When a change is detected and a webhook_url is configured, Webclaw sends a POST request with this payload:
SDK examples
Python
TypeScript
cURL
Note
Watches are paused automatically if 3 consecutive checks fail (e.g. the page returns 404). Update the watch with
active: true to resume.