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
- Your backend creates a verification with a request signed by your secret key, and gets back its
idand aurl. - 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. - 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.