$0.01
per call · USD Coin on Base
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.
Endpoint
POST https://scrapecheck.fly.dev/verify8
Calls / 30d
3
Unique payers / 30d
Sep 5
Last called
exact
Payment scheme
Call this service
import { wrapFetchWithPayment } from "@x402/fetch";
import { privateKeyToAccount } from "viem/accounts";
const account = privateKeyToAccount(process.env.PRIVATE_KEY);
const fetchWithPay = wrapFetchWithPayment(fetch, account);
const res = await fetchWithPay("https://scrapecheck.fly.dev/verify", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"asked": "get the current price and stock status of A Light in the Attic",
"claim": {
"in_stock": true,
"price": "£51.77"
},
"url": "https://books.toscrape.com/catalogue/a-light-in-the-attic_1000/index.html"
}),
});
const data = await res.json();curl -X POST \
"https://scrapecheck.fly.dev/verify" \
-H "Content-Type: application/json" \
-d '{"asked":"get the current price and stock status of A Light in the Attic","claim":{"in_stock":true,"price":"£51.77"},"url":"https://books.toscrape.com/catalogue/a-light-in-the-attic_1000/index.html"}' \
-H "X-PAYMENT: <signed x402 payment>"Example response
{
"check_type": "web_field_v1",
"confidence": 0.97,
"engine": "web_field_v1/0.2.0+2ae28205cac4",
"evidence": {
"lens_votes": {
"does_answer": true,
"is_current": true,
"is_real": true
},
"refetch_excerpt": "…$29.99…",
"refetched_at": "2026-07-31T17:38:14.697Z"
},
"key_id": "k2",
"reasons": [
"claimed price £51.77 found in re-fetched page; page shows \"in stock\""
],
"signature": "ed25519:…",
"source_hash": "sha256:…",
"verdict": "pass",
"verdict_id": "965abecd-a85f-45c7-98a2-49bde4bb9c51",
"verifier_url": "https://scrapecheck.fly.dev"
}Payment details
0x455f20ec147477cafcd6d77c1604529f3c4ff665USD Coin · 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913Is this your API?
Pin it to the top of Search & Web and the homepage with a featured placement.
More from ScrapeCheck & similar services
ScrapeCheck · Verify Presence
scrapecheck.fly.dev
PRESENCE tier (deterministic, no LLM): confirms the claimed value appears on the live page — it does NOT confirm the value is the right answer to the question. Positive verdict is "present", never "pass"; check_type web_field_presence_v1. For full verification use /verify. First 100 checks per client are free: resend with header X-Use-Free-Allowance: yes and no payment to use them.
ScrapeCheck · Verify Hash
scrapecheck.fly.dev
Checksum tier (deterministic, no LLM): verifies the exact bytes served at a public URL hash to a claimed sha256, by independent double re-fetch. Use it to confirm a download or artifact matches its published checksum. Bodies up to 3 MB; dynamic pages return unverifiable, never a guess. sha256 only. First 100 checks per client are free: resend with header X-Use-Free-Allowance: yes and no payment to use them.
ScrapeCheck · Verify XML
scrapecheck.fly.dev
XML tier (deterministic, no LLM): verifies a claimed value lives at a named path in a public XML document, by independent double re-fetch. Use it for feeds and sitemaps; for JSON use /verify-json, for HTML use /verify. Paths address elements and @attributes (urlset.url[0].loc). String-exact; ambiguous or volatile values return unverifiable, never a guess. First 100 checks per client are free: resend with header X-Use-Free-Allowance: yes and no payment to use them.