$0.002
per call · USD Coin on Base
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.
Endpoint
POST https://scrapecheck.fly.dev/verify-hash4
Calls / 30d
4
Unique payers / 30d
Aug 30
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-hash", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"claim": {
"sha256": "92fa12e267971550b3d78a1d5aea6cc20586c66bead4fa89e9952f1604ac9ab0"
},
"url": "https://scrapecheck.fly.dev/.well-known/402index-verify.txt"
}),
});
const data = await res.json();curl -X POST \
"https://scrapecheck.fly.dev/verify-hash" \
-H "Content-Type: application/json" \
-d '{"claim":{"sha256":"92fa12e267971550b3d78a1d5aea6cc20586c66bead4fa89e9952f1604ac9ab0"},"url":"https://scrapecheck.fly.dev/.well-known/402index-verify.txt"}' \
-H "X-PAYMENT: <signed x402 payment>"Example response
{
"check_type": "url_hash_v1",
"confidence": 0.95,
"engine": "web_field_v1/0.2.0+2ae28205cac4",
"evidence": {
"lens_votes": {},
"refetch_excerpt": "sha256:92fa12e2…",
"refetched_at": "2026-08-28T00:00:00.000Z",
"second_fetch_at": "2026-08-28T00:00:01.000Z"
},
"key_id": "k2",
"reasons": [
"the body served at the URL hashes to the claimed sha256 (64 bytes, stable across two immediate fetches)"
],
"signature": "ed25519:…",
"source_hash": "sha256:…",
"verdict": "pass",
"verdict_id": "00000000-0000-0000-0000-000000000000",
"verifier_url": "https://scrapecheck.fly.dev"
}Payment details
0x455f20ec147477cafcd6d77c1604529f3c4ff665USD Coin · 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913Is this your API?
Pin it to the top of Data & Enrichment and the homepage with a featured placement.
More from ScrapeCheck & similar services
ScrapeCheck · Verify
scrapecheck.fly.dev
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.
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 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.