{"uid":"cap_ORv5ur0jB9iuPd-MhwTCN","slug":"netintel-web-page-change-monitor-9a70bca6","name":"NetIntel Web Page Change Monitor","description":"Monitor a web page for changes — fetch a URL, compare it with your previous check and return changed true/false, the added and removed lines, the percent changed and the new content only when it changed. First call stores the baseline; repeat with the same watch_id from your cron. Works on HTML (readable text), JSON (canonical keys) and plain text; conditional GET; no API key.","url":"https://netintel.dev/web/monitor?utm_source=zero.xyz","method":"GET","headers":{},"bodySchema":{"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":"Absolute http(s) URL to monitor. Aliases: target, page, link"},"watch_id":{"type":"string","description":"Your job id (1-64 chars A-Za-z0-9_.:-); keeps watches apart when one wallet serves many agents"}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"diff":{"type":["object","null"],"description":"added/removed lines with counts"},"changed":{"type":["boolean","null"],"description":"null on the baseline call"},"summary":{"type":"string"},"change_pct":{"type":["number","null"]}}}}}}},"responseSchema":{"type":"json","example":{"diff":{"added":["Natural gas prices rose 4%"],"removed":["Natural gas prices fell 2%"],"truncated":false,"added_count":1,"removed_count":1},"changed":true,"summary":"changed: +1 / −1 lines (6.1%)","change_pct":6.1}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.003","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.003/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.003","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.003","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_6QgmAp2L-Dy98RCBCzF7q","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.003","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Fetches a URL and detects changes since the last check, returning added/removed lines, percent changed, and new content only when something changed.","exampleAgentPrompt":"Keep an eye on https://example.com/pricing for me — use watch_id 'pricing-watch' and let me know if anything changes, what lines were added or removed, and by what percentage.","exampleUseCases":[{"title":"Product page price change alert","prompt":"Monitor https://store.example.com/product/widget-pro using watch_id 'widget-price' and tell me if the page content changes — specifically what lines were added or removed and how much of the page changed."},{"title":"News article update tracker","prompt":"Check https://news.example.com/breaking-story with watch_id 'breaking-story-watch' and let me know if the article has been updated since the last check, including any new paragraphs added."},{"title":"JSON API response diff for cron job","prompt":"Fetch https://api.example.com/status.json with watch_id 'api-status-monitor' and tell me if the response has changed from the baseline — show me what was added and removed and the percent that changed."}],"resultDescription":"Returns a JSON object with: 'changed' (boolean, null on first/baseline call), 'diff' (object with 'added' and 'removed' line arrays, 'added_count', 'removed_count', 'truncated' flag), 'change_pct' (numeric percentage of content changed), and 'summary' (human-readable change description). On the first call a baseline is stored and 'changed' is null. On subsequent calls with the same watch_id, the result reflects differences from the stored baseline.","failureModes":["URL is unreachable or returns non-200 — endpoint may return an error or baseline may not be stored","watch_id not provided — watches may conflict if multiple pages are monitored by the same wallet","Page blocks automated fetching (robot restrictions, Cloudflare) — content may be empty or incomplete","First call always returns changed: null — agents must handle baseline case explicitly","Truncated diffs for very large pages — 'truncated: true' in the diff object","Invalid or malformed URL — query will fail with an error response"],"whenToPreferThis":"Choose this endpoint when you need lightweight, pay-per-call web page change detection without managing infrastructure or storing baselines yourself. It is ideal for agent cron workflows that periodically poll a URL and only need to act when content changes. It natively handles HTML (readable text), JSON (canonical keys), and plain text, and uses conditional GET to minimize bandwidth. It requires no API key, making it easy to invoke ad hoc. Prefer it over full scraping pipelines when you only need to know what changed, not the full content every time.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-30T12:31:31.009Z","isFirstParty":false,"canonicalSlug":"netintel-web-page-change-monitor-9a70bca6"}