# URL Change Watch

> URL Change Watch is a paid API for AI agents from well-009-url-change-watch.rainmaker-wells.workers.dev, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-22).

Fetches a public HTTPS URL, computes SHA-256 of the response body, and reports whether the content has changed compared to a previously recorded hash or ETag.

## Facts

- Endpoint: POST https://well-009-url-change-watch.rainmaker-wells.workers.dev/mcp?utm_source=zero.xyz#url-change-check#url-change-check
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-22
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/url-change-watch-60af402a
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_xJikY09Jp58Xw4Qn03bxG

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 url-change-watch-60af402a -d '<json body>'
```

Example prompt: Check if https://example.com/data.json has changed since my last check — compare it against my stored SHA-256 of abc123def456 and return the new hash along with the page body if it changed.

## When to prefer this

Use this endpoint when you need lightweight, hash-based change detection for a public HTTPS URL without setting up a persistent webhook or crawler. It is ideal for polling-based monitoring workflows where an agent periodically checks a URL and compares the current SHA-256 or ETag to a previously stored value. Prefer it over full scraping tools when you only need to know if content changed (not what changed), or when you want to verify the integrity of a static asset. Not suitable for private/internal URLs, URLs requiring authentication, or bodies larger than 1 MB.

## Known failure modes

- Non-HTTPS URLs (http, file, data, localhost, private IPs) are rejected with an error
- Response bodies exceeding 1 MB are truncated or rejected
- Target URL takes longer than ~10 seconds to respond — timeout error
- More than 5 redirects causes a redirect-limit error
- Target server returns a non-200 status — reflected in warnings or error
- Network errors reaching the target URL

## How this service works

Fetch a public https URL, compute SHA-256 of the response body, and report whether it changed vs a prior sha256/etag ($0.01 USDC via x402). Sticky: store sha256 and call again later. Optional previous_sha256, previous_etag, include_body_if_changed. https only — http, file, data, localhost, and private IPs rejected. Caps: 1 MB body, ~10s timeout, max 5 redirects. Returns JSON { url, final_url, content_type, byte_length, sha256, etag?, last_modified?, changed, warnings, body_preview? }.

## Output

A JSON object containing: the requested URL, the final URL after redirects, content_type, byte_length, sha256 hash of the response body, optional ETag and last_modified headers, a boolean 'changed' flag indicating whether content differs from the supplied previous_sha256 or previous_etag, any warnings (e.g. redirect notices, size limits), and an optional body_preview if include_body_if_changed was set.

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/url-change-watch-60af402a/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from well-009-url-change-watch.rainmaker-wells.workers.dev](https://www.zero.xyz/host/well-009-url-change-watch.rainmaker-wells.workers.dev/llms.txt)
