Integrate identity verification in minutes. A clean RESTful API, real-time webhooks, a full sandbox, and documentation that doesn't make you guess.
# Create a verification session curl -X POST https://api.withverifa.com/api/v1/sessions \ -H "X-API-Key: vk_live_..." \ -H "Content-Type: application/json" \ -d '{ "external_ref": "user_12345", "checks": ["document", "biometric", "liveness"], "redirect_url": "https://your-app.com/verified" }'
{ "session_id": "ses_8f2a...", "capture_url": "https://api.withverifa.com/verify/abc123", "status": "pending", "expires_at": "2026-01-15T12:00:00Z" }
Drop our JavaScript widget on any page. Your users finish verification without leaving your site — same modal-and-camera UX you'd expect from Stripe, Plaid, or Persona.
<!-- Load the widget from our CDN, integrity-pinned --> <script src="https://cdn.withverifa.com/dist/verifa-v1.0.0.js" integrity="sha384-/2DZ+OBwe8NRgYq4X0/qpvx7e7s9CjFy0K7WZX4E5utplz4njxn3A0tNTXNsK4fm" crossorigin="anonymous" ></script>
// 1. Your backend creates a session and returns capture_url const session = await fetch("/api/start-verification").then(r => r.json()) // 2. Open the widget — modal, popup, or redirect new Verifa.Client({ captureUrl: session.capture_url, onReady: ({ sessionId }) => console.log("ready", sessionId), onComplete: ({ sessionId, status }) => save(sessionId, status), onCancel: () => console.log("user closed"), onError: (e) => console.error(e.code, e.message), }).open()
~2.5 KB gzipped · works on every modern browser · cross-origin iframe, camera, postMessage lifecycle · full SDK reference →
Clean, versioned endpoints with consistent error handling and pagination. Every resource follows the same conventions — no surprises.
Event notifications with HMAC-signed payloads, automatic retries, and configurable event filtering. Know the moment a verification completes.
Drop-in JavaScript widget for the web (CDN-distributed, SRI-pinned). React Native SDK available now; iOS and Android native bindings coming soon. Server SDKs for Python, Node.js, and Go in development.
Full-featured test environment with preset verification outcomes. Test every flow without touching live data or spending a cent.
Build custom verification flows with conditional logic. Auto-approve low-risk, escalate high-risk, add manual review gates — your rules.
Built-in idempotency support. Retry safely without creating duplicate sessions or charges.
Create a free account, get API keys instantly. No sales call, no credit card.
One API call creates a verification session. Open the embedded widget on your site with a single <script> tag, or send users to our hosted capture flow.
Receive verification results via webhook. Full structured data — document fields, face match scores, risk signals, AML hits.
Explore the full API reference, integration guides, and code examples.
Read the Documentation →100 free verifications per month. No credit card required.
Get Started Free