# Notarized Website Capture

> Notarized Website Capture is a paid API for AI agents from api.williamrobinson.dev, paid per call via x402, $10/call, status unknown (last checked 2026-10-12).

Crawls and cryptographically notarizes web pages, producing timestamped, tamper-evident evidence artifacts for legal, compliance, or audit purposes

## Facts

- Endpoint: POST https://api.williamrobinson.dev/v1/notary/capture?utm_source=zero.xyz
- Price: $10/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/notarized-website-capture-6d30660d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_HbvNtMwd9f_d03KTzSlwr

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 notarized-website-capture-6d30660d -d '<json body>'
```

Example prompt: Capture and notarize https://www.example.com — crawl up to 10 pages within the same origin, include screenshots and HTML snapshots, and tag it with matter reference 'case-2024-557' so I have timestamped legal evidence.

## When to prefer this

Choose this endpoint when you need legally defensible, cryptographically timestamped evidence of web content — for litigation, IP enforcement, regulatory audits, or compliance documentation. It is the right choice when you need RFC 3161 timestamps and/or OpenTimestamps blockchain anchoring alongside full DOM snapshots and screenshots. Prefer this over a simple web scraper or screenshot tool when tamper-evidence, chain-of-custody, and long-term verifiability are requirements.

## Known failure modes

- Invalid or unreachable URL returns a validation or network error
- Private/localhost IPs or non-standard ports rejected at input validation
- Exceeding maxPages (>20) returns a schema validation error
- Pages that exceed extraction limits are recorded as failed in the response with EXTRACTION_LIMIT_EXCEEDED
- Payment authorization missing or invalid returns HTTP 402 with payment-required header
- URLs outside the specified scope (same-origin or same-path) are not crawled
- Artifacts expire after a set period (expiresAt) and become unavailable

## How this service works

Web Evidence ($0.01/call), OpenSCAD Print Validation ($0.05/call), Spreadsheet Modification & Audit ($0.05/call), Packing & Shipping Engineer ($0.05/call), Game-Asset Technical Artist ($0.10/call), PCB Fabrication Engineer ($0.25/call), Software Failure Reduction Lab ($0.50/call), Laboratory-Protocol Compiler ($0.15/call), Video Finishing & Localization ($0.50/call), Print Prototype Engineer ($0.15/call), Garment-Pattern Engineer ($0.10/call), Product-Label Artwork Compiler ($0.15/call) and Notarized Website Capture ($10.00/call), settled in USDC on Base mainnet over HTTP 402. No API keys, no accounts.

Price: $0.01 (10000 atomic USDC per call), settled over HTTP 402 (x402, scheme "exact", EIP-3009).

How to pay: an unpaid POST answers 402 with a base64 `payment-required` header describing an exact transfer of 10000 atomic USDC on eip155:8453 (asset 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913) to 0x26026370fe8b2bb17af9092a17691c76519366da. Sign the EIP-3009 authorization, attach it in the `payment-signature` header, and retry the identical request. Invalid requests are never charged.

- Settlement: eip155:8453 / 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913 / 0x26026370fe8b2bb17af9092a17691c76519366da

## Output

A JSON response containing: capture status ('notarized'), artifact URLs for a manifest.json (with RFC 3161 and OpenTimestamps cryptographic proofs), a capture.zip (containing page screenshots and DOM snapshots), and a report.json. Each artifact includes its SHA-256 hash and size. The response also includes page counts (captured vs. failed), timestamps, expiry date, scope notes, and any warnings about pages that hit limits.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "format": "uri",
   "maxLength": 2048,
   "minLength": 1,
   "description": "Public HTTPS start URL, validated the same way as the evidence product (no userinfo, no non-443 port, no localhost/private-IP literal)."
  },
  "urls": {
   "type": "array",
   "items": {
    "type": "string",
    "format": "uri",
    "maxLength": 2048,
    "minLength": 1
   },
   "default": [],
   "maxItems": 20,
   "description": "Additional seed URLs; must share url's origin (and, under same-path scope, its path prefix); deduplicated after normalization."
  },
  "scope": {
   "enum": [
    "same-origin",
    "same-path"
   ],
   "type": "string",
   "default": "same-origin",
   "description": "same-path restricts crawled links to the directory of url's path and below."
  },
  "maxPages": {
   "type": "integer",
   "default": 10,
   "maximum": 20,
   "minimum": 1
  },
  "reference": {
   "type": "string",
   "maxLength": 200,
   "minLength": 1,
   "description": "Buyer's case/matter id, copied into the manifest (and therefore timestamped)."
  },
  "includeHtml": {
   "type": "boolean",
   "default": true,
   "description": "Include each page's serialized DOM snapshot in the capture."
  },
  "screenshots": {
   "type": "boolean",
   "default": true
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "pages": {
   "failed": 1,
   "captured": 4,
   "maxPages": 5,
   "stoppedBy": "max_pages",
   "notCaptured": 42
  },
  "status": "notarized",
  "startUrl": "https://www.iana.org/help/example-domains",
  "warnings": [
   "1 subresource were dropped by the capture budget across all pages",
   "page 4 (https://www.iana.org/protocols) failed: EXTRACTION_LIMIT_EXCEEDED"
  ],
  "artifacts": [
   {
    "url": "https://notary.api.williamrobinson.dev/v1/notary/artifacts/dacd7ad09988f18304e7391fc1f61608e151314436ecac79/manifest.json",
    "name": "manifest.json",
    "sha256": "25c9054a051cffd7bc51020273d306f194926cb1a1bc07831fc990f4b420cd67",
    "mediaType": "application/json",
    "sizeBytes": 8149
   },
   {
    "url": "https://notary.api.williamrobinson.dev/v1/notary/artifacts/dacd7ad09988f18304e7391fc1f61608e151314436ecac79/manifest.json.tsr",
    "name": "manifest.json.tsr",
    "sha256": "08e11ddd2b1191549b1d13897b1555a970a21597b203936ab0b8119da393a0b8",
    "mediaType": "application/timestamp-reply",
    "sizeBytes": 6007
   },
   {
    "url": "https://notary.api.williamrobinson.dev/v1/notary/artifacts/dacd7ad09988f18304e7391fc1f61608e151314436ecac79/manifest.json.ots",
    "name": "manifest.json.ots",
    "sha256": "2bac346c29f311053936a047a8f243448983ab51f04aa6c5796da347543a5eae",
    "mediaType": "application/octet-stream",
    "sizeBytes": 613
   },
   {
    "url": "https://notary.api.williamrobinson.dev/v1/notary/artifacts/dacd7ad09988f18304e7391fc1f61608e151314436ecac79/capture.zip",
    "name": "capture.zip",
    "sha256": "681dd2780bf78018349ad685ba5857e7a9be3adea7d9114ec246dbfa7fa3675e",
    "mediaType": "application/zip",
    "sizeBytes": 717325
   },
   {
    "url": "https://notary.api.williamrobinson.dev/v1/notary/artifacts/dacd7ad09988f18304e7391fc1f61608e151314436ecac79/report.json",
    "name": "report.json",
    "sha256": "ebcb7a871ff294ffdd41cff0708ccb51ddeb08e651583b37315c024bf76b1239",
    "mediaType": "application/json",
    "sizeBytes": 2581
   }
  ],
  "expiresAt": "2026-10-06T08:13:12.366Z",
  "reference": "matter-2026-001",
  "capturedTo": "2026-09-29T08:13:10.983Z",
  "timestamps": {
   "rfc3161": {
    "genTime": "2026-09-29T08:13:11.000Z",
    "authority": "digicert",
    "policyOid": "2.16.840.1.114412.7.1",
    "serialNumber": "5249246359816347852680129227448516577"
   },
   "openTimestamps": {
    "status": "pending",
    "calendars": [
     "https://a.pool.opentimestamps.org",
     "https://
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/notarized-website-capture-6d30660d/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.williamrobinson.dev](https://www.zero.xyz/host/api.williamrobinson.dev/llms.txt)
