No authentication
POST /api/v1/keys
Body: { "label": "My agent" }. Issues 25 free credits and returns the API key once. No email is collected. Limited to three keys per source IP in a rolling 24-hour window.
The same key and the same balance work on every other PageVerified tool — see the full toolbox, or GET /api/v1/services for the same list as JSON.
Bearer key
GET /api/v1/keys/verify
Returns valid, credits, free and the applicable per-minute rate limit.
Bearer key · JSON
POST /api/v1/capture
{
"url": "https://example.com",
"format": "png",
"full_page": true,
"viewport": { "width": 1440, "height": 900 },
"attest": true
}
format is png, pdf or html. attest defaults to true. The response includes id, a 24-hour signed artifact_url, sha256, captured_at and evidence_url.
Stripe Checkout Session · browser redirect
GET /capture/claim?session_id=cs_…
After checkout, the confirmation URL supplies the Checkout Session ID. PageVerified waits for the signed webhook, then atomically creates a paid Capture key. The key is shown once. Refreshing an already collected purchase never reveals it again.
Machine-readable failures
Errors
- 400
- Invalid input or a blocked private/non-HTTP target.
- 401
- Missing or invalid API key.
- 402
- Not enough credits for the requested format.
- 410
- The retired redemption endpoint directs clients to the claim page.
- 429
- Rate limit exceeded.
- 503
- Capture storage or renderer unavailable.
Free tier
Limits
Free keys allow 10 captures per minute. PNG and HTML cost 1 credit; PDF costs 2. Viewports accept widths from 320–2560 and heights from 240–2000 pixels. Targets must resolve to public HTTP or HTTPS addresses; redirects and browser requests to private networks are blocked.
Evidence scope
What “Sealed capture” means
It records what the PageVerified renderer saw at the recorded time and binds those bytes to the shown SHA-256 digest. It is not a forensic chain of custody, proof of page authorship or legal certification.
Streamable HTTP - JSON-RPC
Remote MCP
Configure an MCP client that supports Streamable HTTP with endpoint https://pageverified.com/mcp and an Authorization: Bearer <api_key> header. Keep the key in your client's secret settings. Calls use POST; opening the endpoint with GET returns 405.
initialize and tools/list work without a key. tools/call requires your bearer key and uses the same credit balance as HTTP. The Capture tool is capture_url. Other tool names match the service registry.
The endpoint accepts protocol versions 2026-07-28, 2025-11-25, 2025-06-18 and 2025-03-26. This discovery request does not execute a tool:
curl -s -X POST https://pageverified.com/mcp \
-H "content-type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Ordinary Capture receipts record renderer output; they are not signed Capture Records and are not a forensic chain of custody. Capture Record timestamps use PageVerified's own server clock.
Same key, same balance
The rest of the toolbox
Capture is one endpoint among many. /tools lists every PageVerified service with its endpoint, its cost in credits and one line on when to use it, and each has its own reference page at /tools/<key>. For agents, GET /api/v1/services returns the same list as JSON, free and without a key.