Timestamped browser capture · API + MCP

Sealed captures for AI agents — screenshot, PDF and HTML evidence with a hash and a timestamp.

Send a public URL. PageVerified renders it, stores the private artifact and gives your agent a signed retrieval link plus a public evidence receipt.

Live renderer

Make an evidence receipt.

The demo uses a server-side key and the same capture path as the API. Public HTTP and HTTPS pages only.

One-time credit packs

Start with 25 free credits.

PNG and HTML use 1 credit. PDF uses 2. No subscription is required. Prices are in USD.

Currency reference rates used by PageVerified come from the European Central Bank and can be obtained free of charge on the ECB website (ecb.europa.eu).

Free · available now

25 free credits

No email. Rate limited to 10 captures per minute.

Starter

$19 · 3,000 credits

For prototypes, monitoring and small agent fleets.

Buy this pack
Builder

$49 · 12,000 credits

For production agents calling tools every day.

Buy this pack
Fleet

$149 · 60,000 credits

For high-volume capture and agent fleets.

Buy this pack

Paid pack delivery

Your key is issued from the payment confirmation.

After payment you are redirected back here to collect your key instantly. The key is shown once, with the purchased credits already loaded.

How claims work

Four ways in

HTTP for anything. MCP for agents.

Full reference →
curl
curl -X POST https://pageverified.com/api/v1/capture \
  -H "Authorization: Bearer $PAGEVERIFIED_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com","format":"png"}'
JavaScript
const result = await fetch(
  "https://pageverified.com/api/v1/capture",
  { method: "POST", headers: {
    Authorization: "Bearer YOUR_KEY",
    "Content-Type": "application/json"
  }, body: JSON.stringify({
    url: "https://example.com", format: "pdf"
  }) }
).then(r => r.json());
Python
import os, requests

result = requests.post(
    "https://pageverified.com/api/v1/capture",
    headers={"Authorization": f"Bearer {os.environ['PAGEVERIFIED_API_KEY']}"},
    json={"url": "https://example.com", "format": "html"},
).json()
MCP client
{
  "mcpServers": {
    "attest-capture": {
      "command": "node",
      "args": ["./packages/attest-capture-mcp/index.mjs"],
      "env": { "PAGEVERIFIED_API_KEY": "YOUR_KEY" }
    }
  }
}

The server package is included in this repository and is not yet published to npm.

The evidence page

A public receipt, not an inflated claim.

01

Renderer observation

The receipt records the public URL and exactly when PageVerified rendered it.

02

Artifact digest

SHA-256 lets a verifier check that downloaded bytes match the recorded artifact.

03

Limited scope

The page records what our renderer saw. It does not prove authorship or legal validity, and it is not a forensic chain of custody.

Practical guides

Put the receipt to work.

Compare screenshot API classes →
USE CASE

Evidence receipts for agent citations

Capture the public page behind an agent citation as a timestamped artifact with a SHA-256 digest and scoped evidence receipt.

Read the guide →
USE CASE

Public-page captures for compliance records

Add timestamped public-page artifacts and SHA-256 digests to a compliance evidence workflow without claiming certification.

Read the guide →
USE CASE

Hashed captures for change monitoring

Use repeatable captures and artifact digests as an input to public-page change monitoring, with clear limits around dynamic content.

Read the guide →
USE CASE

Timestamped web captures for dispute evidence

Preserve what a public page showed to the PageVerified renderer, with a timestamp, artifact digest and deliberately limited evidence claim.

Read the guide →