{"uid":"cap_vi7km-xNdR9nDTs4-CnTE","slug":"url-change-watch-a413e148","name":"URL Change Watch","description":"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? }. Provided as is, with no warranty or guarantee of accuracy or fitness. Nothing is stored.","url":"https://well-009-url-change-watch.rainmaker-wells.workers.dev/api/url-change-check?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"https URL to watch. http/file/data/localhost/private IPs rejected."},"previous_etag":{"type":"string","description":"Prior ETag; used when previous_sha256 is absent and response has ETag (quotes normalized)."},"previous_sha256":{"type":"string","description":"Hex SHA-256 of last seen body. If omitted (and no previous_etag match), this call is a baseline (changed=null)."},"include_body_if_changed":{"type":"boolean","description":"If true and changed (or baseline), include truncated body text (~8KB) as body_preview. Default false."}}},"responseSchema":{"type":"object","additionalProperties":true},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_W71aslSqhsUkC6bSh9yT6","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Fetches a public HTTPS URL, computes SHA-256 of the response body, and reports whether the content has changed compared to a previously recorded SHA-256 or ETag","exampleAgentPrompt":"Check if https://example.com/data.json has changed since my last snapshot — the previous SHA-256 was a3f1c2d4e5b6... — and include a preview of the body if it has changed.","exampleUseCases":[{"title":"Monitor competitor pricing page","prompt":"Check if https://competitor.com/pricing has changed since yesterday — the previous SHA-256 was 9f86d08188f... — and show me a preview of the body if anything is different."},{"title":"Verify a published dataset hasn't changed","prompt":"I need to confirm that https://data.gov/dataset/file.csv hasn't been modified — its SHA-256 was b94f6f125c79... last time I checked. Tell me if it's still the same."},{"title":"Baseline a new URL for future monitoring","prompt":"Fetch https://status.myservice.com/api/health and give me its current SHA-256 hash so I can use it as a baseline to detect changes in the future."}],"resultDescription":"Returns a JSON object with the fetched URL, final URL after redirects, content type, byte length, computed SHA-256, optional ETag and Last-Modified headers, a boolean 'changed' field (null if baseline, true/false if compared), any warnings, and an optional truncated body preview (~8KB) if requested and content changed.","failureModes":["Non-HTTPS URLs (http, file, data, localhost, private IPs) are rejected with an error","Response body exceeds 1 MB cap — endpoint returns error or truncated result","Target URL times out after ~10 seconds — returns timeout error","More than 5 redirects encountered — returns redirect limit error","Invalid or malformed previous_sha256 value — may produce unexpected changed result","Target server returns non-2xx status — result may reflect error page content rather than expected resource"],"whenToPreferThis":"Use this endpoint when you need a lightweight, stateless way to check if a public HTTPS URL's content has changed based on SHA-256 hashing or ETag comparison, without maintaining your own infrastructure. It is ideal for one-off change checks, baselining a URL for future comparison, or integrating change detection into an agent workflow where storing hashes client-side is acceptable. Prefer alternatives if you need persistent server-side scheduling, monitoring many URLs continuously, or require HTTP (non-HTTPS) support.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-22T12:38:15.037Z","isFirstParty":false,"canonicalSlug":"url-change-watch-60af402a"}