# x402 Gateway Webpage Change Detector

> x402 Gateway Webpage Change Detector is a paid API for AI agents from x402-gateway-production-1f21.up.railway.app, paid per call via x402, $0.001/call, status unknown (last checked 2026-10-12).

Fetches a webpage, computes a deterministic hash of its content, and returns a diff against a previous version to detect meaningful changes in prices, docs, policies, availability, or competitor pages.

## Facts

- Endpoint: POST https://x402-gateway-production-1f21.up.railway.app/change?utm_source=zero.xyz
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x402-gateway-webpage-change-detector-54da4667
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_4NZRhgsAGTACzGcRi8PB4

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-gateway-webpage-change-detector-54da4667 -d '<json body>'
```

Example prompt: Check if the pricing page at https://example.com/pricing has changed since my last check — use the previous hash 'abc123def456' and only look at the .pricing-table section, ignoring the .ads div.

## When to prefer this

Choose this endpoint when you need deterministic, hash-based change detection on a specific webpage or a CSS-targeted section of it — especially for price monitoring, policy tracking, documentation updates, or competitor intelligence. Unlike generic scrapers, it provides structured diffs and hashes designed for automated comparison workflows, making it ideal for agents that need to decide 'has this changed?' without storing full page snapshots themselves.

## Known failure modes

- URL unreachable or returns non-200 status — endpoint returns error with HTTP status code
- Timeout exceeded (configurable 5–60 seconds) if the target page loads slowly
- Invalid CSS selector causes empty content extraction
- Previous hash or text mismatch results in full diff returned
- max_diff_chars or max_text_chars limits truncate large page content

## How this service works

Detect whether a webpage changed. Website change detection and recurring webpage monitoring for price changes, inventory changes, availability changes, documentation updates, policy updates and competitor monitoring. Compare current content with previous_hash or previous_text and return current_hash plus deterministic change status and diffs.

## Output

Returns a structured response containing a deterministic hash of the current page content, a boolean indicating whether content changed, a character-level diff showing what was added or removed relative to the previous version, and optionally the full current extracted text — all filtered to the specified CSS selector if provided.

## 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",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "type": "object",
     "required": [
      "url"
     ],
     "properties": {
      "url": {
       "type": "string",
       "format": "uri"
      },
      "selector": {
       "type": "string"
      },
      "previous_hash": {
       "type": "string"
      },
      "previous_text": {
       "type": "string"
      },
      "max_diff_chars": {
       "type": "integer",
       "maximum": 50000,
       "minimum": 1000
      },
      "max_text_chars": {
       "type": "integer",
       "maximum": 250000,
       "minimum": 1000
      },
      "timeout_seconds": {
       "type": "integer",
       "maximum": 60,
       "minimum": 5
      },
      "ignore_selectors": {
       "type": "array",
       "items": {
        "type": "string"
       }
      },
      "include_current_text": {
       "type": "boolean"
      }
     },
     "additionalProperties": false
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "url": "https://example.com/",
  "status": "ready",
  "current_hash": "example",
  "comparison_status": "baseline"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x402-gateway-webpage-change-detector-54da4667/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-gateway-production-1f21.up.railway.app](https://www.zero.xyz/host/x402-gateway-production-1f21.up.railway.app/llms.txt)
