# ScrapeCheck

> ScrapeCheck is a paid API for AI agents from scrapecheck.fly.dev, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-11).

Independently re-fetches a source URL and returns a cryptographically signed pass/fail/unverifiable verdict confirming whether a scraped claim actually appears on that page.

## Facts

- Endpoint: POST https://scrapecheck.fly.dev/verify?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/scrapecheck-6bfa172b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_ExVBCCH8oeG3Ubt-W_KMM

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-6bfa172b -d '<json body>'
```

Example prompt: A price scraper just told me a product costs £51.77 at https://www.example-shop.com/product/widget-42 — can you independently verify that price is actually on that page right now and give me a signed verdict I can trust?

## When to prefer this

Choose ScrapeCheck when you need a cryptographically signed, independently verified attestation that a value (price, availability, fact) actually appeared on a specific public webpage at a specific time — especially when the data came from a third-party scraper you do not fully trust. It is the right choice when auditability and non-repudiation matter, or when downstream decisions (purchases, applications, contracts) depend on scraped claim accuracy. Prefer it over simply re-scraping yourself when you need a tamper-evident signed verdict with a unique ID. Not suitable for JavaScript-heavy SPAs or pages behind authentication.

## Known failure modes

- Verdict is 'unverifiable' if the page requires JavaScript rendering (server-rendered pages only)
- Verdict is 'fail' if the claimed value is not found anywhere in the re-fetched page
- Network errors or paywalls preventing re-fetch return 'unverifiable' rather than 'pass'
- Pages behind authentication or login walls cannot be verified
- Dynamically injected content (SPA/CSR) will not be confirmed — server-rendered HTML required
- Ambiguous or overly broad claims may return low confidence with 'unverifiable'

## How this service works

Checks whether a value you did not fetch yourself is actually on the page it came from. Independently re-fetches the source and returns a signed pass/fail/unverifiable verdict. A claim is never certified unless the re-fetched page contains it, and anything unconfirmed is unverifiable, never pass. Server-rendered pages only. $0.01 per check. First 100 checks per client are free: resend this exact request with header X-Use-Free-Allowance: yes and no payment to use them.

## Output

A JSON object containing a signed verdict ('pass', 'fail', or 'unverifiable'), a confidence score (0–1), an ed25519 cryptographic signature, a unique verdict_id UUID, an excerpt from the re-fetched page, the timestamp of the re-fetch, reasons explaining the decision, and lens votes (is_real, is_current, does_answer) indicating whether the claim was found, appears current, and answers the original request.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "description": "source page the scraper claims to have read (public http/https)"
  },
  "asked": {
   "type": "string",
   "description": "the original request, plain text"
  },
  "claim": {
   "type": "object",
   "description": "the scraper's claimed field values"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "engine": "web_field_v1/0.2.0+2ae28205cac4",
  "key_id": "k2",
  "reasons": [
   "claimed price £51.77 found in re-fetched page; page shows \"in stock\""
  ],
  "verdict": "pass",
  "evidence": {
   "lens_votes": {
    "is_real": true,
    "is_current": true,
    "does_answer": true
   },
   "refetched_at": "2026-07-31T17:38:14.697Z",
   "refetch_excerpt": "…$29.99…"
  },
  "signature": "ed25519:…",
  "check_type": "web_field_v1",
  "confidence": 0.97,
  "verdict_id": "965abecd-a85f-45c7-98a2-49bde4bb9c51",
  "source_hash": "sha256:…",
  "verifier_url": "https://scrapecheck.fly.dev"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/scrapecheck-6bfa172b/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)
