Skip to main content
ProofAge verifies people for websites: that they are who they say they are, or that they are old enough. The person takes a selfie and, for the document checks, photographs an identity document in a hosted widget. Your backend creates the verification and receives the decision by webhook.

Quick start

Create a verification, open the widget, receive the decision.

API reference

Every endpoint, with a playground.

Integration prompt

Let an AI coding agent do the integration.

Choose your check

Each workspace runs one check, chosen when you create it. Prices are on the Pricing page.

Identity (KYC)

An identity document and a selfie: the document is read and checked, the person is checked to be live, and the selfie is matched to the document’s portrait.

Age verification by ID document

The same capture as KYC. The date of birth on the document is compared with your minimum age, from 16 to 25.

Facial age estimation

Just a selfie, 18+ only. When the selfie can’t confirm 18+, the person adds an ID in the same session; nobody is declined on the selfie alone.

How an integration fits together

  1. Your backend creates a verification with a request signed by your secret key, and gets back its id and a url.
  2. The person opens the url: in a window over your page with the Browser SDK, or by redirect. The widget handles consent, camera access, capture guidance, 28 languages and moving from desktop to phone.
  3. ProofAge sends the decision to your webhook. You can also read the result at any time.

Choose your integration

Redirect

Send the person to the verification page and back. No frontend code.

Browser SDK

Open the verification over your page in a few lines.

Your own UI

Build the capture screens yourself and upload the images through the API.

Server SDKs

Node.js, Python, PHP and Laravel sign requests and verify webhooks.

Plugins

WordPress, Shopify and PrestaShop, with no code.

MCP server

Let Claude, Cursor or Codex integrate and operate ProofAge.

Then

Webhooks

Signed decision events, retries and replay.

Sandbox and test data

Test workspaces are never billed; set any outcome.

Concepts

Workspaces, verifications, attempts and test mode.