# ScrapeCheck JSON Field Verifier

> ScrapeCheck JSON Field Verifier is a paid API for AI agents from scrapecheck.fly.dev, paid per call via x402, $0.002/call, status unknown (last checked 2026-09-14).

Deterministically verifies that a claimed value exists at a specified JSON path in a live public API response, using independent double re-fetch — no LLM involved.

## Facts

- Endpoint: POST https://scrapecheck.fly.dev/verify-json
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/scrapecheck-json-field-verifier-c6d1b837
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_KjsXkBg1ohIwmV2AfzugK

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 scrapecheck-json-field-verifier-c6d1b837 -d '<json body>'
```

Example prompt: Can you independently verify that the public JSON API at https://api.example.com/products/123 actually returns a price of 49.99 at the path data.product.price? Use a double re-fetch so I know it's not cached.

## When to prefer this

Use this endpoint when you need deterministic, cryptographically signed proof that a specific value exists at a known JSON path in a live public API response — especially when the source is machine-readable JSON (not HTML or XML). Prefer this over HTML scraping endpoints when the data is served as structured JSON. Choose this over LLM-based verification when you need type-strict, reproducible verdicts with audit trails and signatures. Ideal for compliance audits, marketplace integrity checks, and pre-integration API validation.

## Known failure modes

- Path not found in response — returns verdict 'fail' if the JSON path does not exist
- Type mismatch — string '42' never matches integer 42; returns 'fail' with type-strict reasoning
- Unverifiable result — volatile or rapidly changing values may return 'unverifiable' rather than pass/fail
- Endpoint requires authentication — only public HTTPS JSON endpoints are supported; returns error if auth is required
- Non-JSON response — HTML or XML endpoints must use the /verify or /verify-xml siblings instead
- Network error or endpoint unreachable — returns error if the public endpoint is down during re-fetch
- Rate limit / payment required — first 100 checks free with X-Use-Free-Allowance header; subsequent calls require $0.002 USDC payment

## How this service works

JSON tier (deterministic, no LLM): verifies a claimed value lives at a named JSON path in a public endpoint's response, by independent double re-fetch. Use it for machine-readable API responses; for HTML pages use /verify. Claim keys are paths (data.items[0].price). Type-strict; volatile values return unverifiable, never a guess. Public HTTPS JSON only. First 100 checks per client are free: resend with header X-Use-Free-Allowance: yes and no payment to use them.

## Output

A signed JSON verdict object containing: a pass/fail/unverifiable verdict, a confidence score (0–1), the engine version, a unique verdict ID, cryptographic source hash, the re-fetched JSON excerpt containing the field, timestamps of both independent fetches, an ed25519 signature, and human-readable reasons explaining the verdict outcome.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "description": "public HTTPS JSON endpoint (no auth)"
  },
  "claim": {
   "type": "object",
   "description": "keys are JSON paths (dot/bracket form, e.g. data.items[0].price); values are the asserted values. Type-strict: \"42\" never matches 42."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "engine": "web_field_v1/0.2.0+2ae28205cac4",
  "key_id": "k2",
  "reasons": [
   "claimed value found at path \"service\" in the re-fetched JSON"
  ],
  "verdict": "pass",
  "evidence": {
   "lens_votes": {},
   "refetched_at": "2026-08-26T00:00:00.000Z",
   "refetch_excerpt": "{\"service\":\"scrapecheck\"}",
   "second_fetch_at": "2026-08-26T00:00:01.000Z"
  },
  "signature": "ed25519:…",
  "check_type": "json_field_v1",
  "confidence": 0.95,
  "verdict_id": "00000000-0000-0000-0000-000000000000",
  "source_hash": "sha256:…",
  "verifier_url": "https://scrapecheck.fly.dev"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/scrapecheck-json-field-verifier-c6d1b837/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from scrapecheck.fly.dev](https://www.zero.xyz/host/scrapecheck.fly.dev/llms.txt)
