# x402 Web Tools – Web Page Change Monitor

> x402 Web Tools – Web Page Change Monitor is a paid API for AI agents from web.kagurazaka.dev, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-30).

Compares a web page's current readable text against the last recorded snapshot to detect changes, returning a diff of added/removed lines and check timestamps.

## Facts

- Endpoint: GET https://web.kagurazaka.dev/v1/watch?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-30
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x402-web-tools-web-page-change-monitor-9626b368
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_ghhLPOO2U5-AHhORbwdDV

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability x402-web-tools-web-page-change-monitor-9626b368
```

Example prompt: Check if https://www.x402.org/ has changed since the last time you looked at it, and show me exactly what lines were added or removed.

## When to prefer this

Choose this endpoint when you need to detect textual changes on a specific public web page between periodic checks, especially when you want a line-level diff of what was added or removed. It is ideal for lightweight polling of pages that change infrequently and where readable text content matters. Prefer it over full-page screenshot diffing or scraping pipelines when a simple text diff is sufficient. It maintains per-wallet history for 90 days, making it suitable for long-running monitoring workflows without external state management.

## Known failure modes

- URL is not publicly accessible or returns non-200 — endpoint may return an error or empty content
- First call for a URL/name records the baseline and returns first_check: true with no diff data
- URL content is not human-readable text (e.g. binary, heavily JavaScript-rendered) — diff may be empty or inaccurate
- Watch history expires after 90 days of inactivity — next call treats it as a first check
- Payment failure or insufficient USDC balance — call is rejected before execution

## How this service works

Check a web page for changes: each call compares the page's readable text with your previous check of the same URL (kept per paying wallet for 90 days) and returns whether it changed, when you last checked, and the added and removed lines. The first call records the page. Use name to keep several watches of one URL apart.

## Output

A JSON object with: `changed` (boolean), `checked_at` (ISO timestamp of this check), `previous_checked_at` (ISO timestamp of last check), `first_check` (boolean, true if this is the first call for this URL/name), `url` (the page checked), and `diff` containing an array of changes (each with `text` and `type` of 'added' or 'removed'), plus `added_lines` and `removed_lines` counts.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "url"
     ],
     "properties": {
      "url": {
       "type": "string",
       "description": "https URL of the page"
      },
      "name": {
       "type": "string",
       "description": "optional name to keep separate watches of the same URL (up to 64 characters)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "url": {},
      "diff": {},
      "changed": {},
      "checked_at": {},
      "first_check": {},
      "previous_checked_at": {}
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "url": "https://www.x402.org/",
  "diff": {
   "changes": [
    {
     "text": "## 75.41M",
     "type": "added"
    }
   ],
   "added_lines": 2,
   "removed_lines": 1
  },
  "changed": true,
  "checked_at": "2026-10-25T09:00:00Z",
  "first_check": false,
  "previous_checked_at": "2026-10-24T09:00:00Z"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x402-web-tools-web-page-change-monitor-9626b368/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from web.kagurazaka.dev](https://www.zero.xyz/host/web.kagurazaka.dev/llms.txt)
