Web page evidence capture API with timestamp
Capture a public web page as tamper-evident proof (archived HTML and screenshot, SHA-256 hashes and an OpenTimestamps anchor), to keep verifiable evidence of what the page showed at a given time. Not part of the free tier: needs a credits key (or x402 on the HTTP API).
What you get
- The rendered page as HTML and a full-page PNG screenshot, both from one page load
- SHA-256 hashes of both artifacts and links to download them
- An OpenTimestamps anchor of the proof digest
Parameters
urlstringrequiredbodyPublic http(s) URL to capture
1–2048 characters
Try it
Example response
{
"id": "01M5YCTV80A6V3J9N5RXW7TC8E",
"url": "https://example.com/page",
"capturedAt": "2026-10-27T10:00:00.000Z",
"sha256": {
"html": "28c6b4d8ba18e876196fb1d376671e3be48b283f8c1fe6e2481ec62f66b9664e",
"png": "4353a1de7e0dcc4e87350e22d5c9ee9f3e70e8ce9c31533ec991bee8870c4814"
},
"artifacts": {
"html": "https://402check.com/v1/proof/01M5YCTV80A6V3J9N5RXW7TC8E/html",
"png": "https://402check.com/v1/proof/01M5YCTV80A6V3J9N5RXW7TC8E/png"
},
"anchor": {
"provider": "opentimestamps",
"otsBase64": "APAQqrvM",
"status": "pending"
}
}
Output against our capture test fixture; ids and hashes come from that run.
HTTP
curl -X POST "https://402check.com/v1/proof" \
-H "Authorization: Bearer rk_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com/"}'
MCP
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "proof_create",
"arguments": {
"url": "https://example.com/"
}
}
}
Endpoint https://402check.com/mcp. Setup for Cursor, Claude and other clients is in the docs.
Source and limits
Data from Cloudflare Browser Rendering and OpenTimestamps.
- Not part of the free tier: it needs a credits key or x402
- Public http(s) URLs only; private and local addresses are refused with 400 invalid_url
- The HTML hash covers the serialized DOM after rendering, not the raw HTTP bytes
- The anchor starts as pending; upgrading it to confirmed is not implemented in v1
Questions
How much does a capture cost?
$0.25 per successful capture. It is never free: use a credits key or x402.
Do I need an account?
No. Call it without credentials on the free tier, pay per call with x402 over HTTP, or send a prepaid rk_ key bought by card.
How do I verify a proof later?
Fetch it with proof_get (free), re-hash the artifacts and compare with sha256.
Am I charged for a failed call?
No. Credits are deducted and x402 payments settled only on a 2xx response; errors such as invalid_query or upstream_error cost nothing.