Choosing an Integration Method
Verifa offers four ways to integrate identity verification into your product. Choose based on your engineering resources, platform, and how much control you need over the user experience.
Comparison
Web Capture (recommended for most)
The fastest path to production. Create a session via the API, redirect the user
to the capture_url, and receive results via webhook.
How it works:
- Your server calls
POST /api/v1/sessions - Redirect the user to
capture_url(or embed it in an iframe) - Verifa handles document scanning, selfie, liveness, and consent
- User is redirected back to your
redirect_url - You receive a webhook with the result
When to choose this:
- You’re building a web application
- You want to launch quickly with minimal frontend code
- You want automatic fraud signal collection
- You don’t need deep native camera control
See Web Capture Flow for the full integration guide.
Mobile SDK
Native SDKs for iOS, Android, and React Native. The SDK handles camera capture, liveness detection, and document scanning with a native look and feel.
How it works:
- Your server calls
POST /api/v1/sessionsand passes the session token to your mobile app - Initialize the SDK with the session token
- The SDK presents native camera screens for document and selfie capture
- On completion, the SDK calls back to your app
- You receive a webhook with the result
When to choose this:
- You’re building a native mobile app
- You need the best camera quality and UX
- You want native device signals (root detection, gyroscope, touch pressure)
- You need iOS App Clip or Android Instant App support
See Mobile SDK for the integration guide.
API-Only
Full control over the capture experience. You build the camera UI, collect documents and selfies, and submit them through the API. Verifa handles verification processing.
How it works:
- Your server calls
POST /api/v1/sessions - Your app captures document images and selfie
- Upload documents via
POST /api/v1/sessions/\{id\}/documents - Submit for processing via
POST /api/v1/sessions/\{id\}/complete - You receive a webhook with the result
When to choose this:
- You need complete control over the user experience
- You’re integrating into an existing capture flow
- You’re building for a non-standard platform (kiosk, desktop app, etc.)
- You want to pre-process images before submission
See API-Only Integration for the full guide.
verifa.js SDK (easiest)
A lightweight JavaScript SDK that opens the Verifa capture UI as a popup, modal, or redirect. Works with any web framework.
How it works (recommended):
- Your server creates a session via
POST /api/v1/sessions(secret key stays on your server) - Your frontend receives the
capture_url - Call
Verifa.open()— opens the capture UI in a popup or modal - Handle the completion in your callback
When to choose this:
- You want a popup or modal verification UI without building it yourself
- You’re building a single-page application (SPA)
- You want a drop-in “Verify Identity” button
- You already have a backend that can create sessions
For prototyping only: The SDK also supports publishable keys
(Verifa.startVerification()) to create sessions directly from the browser
without a backend. This is convenient for testing but not recommended for
production — use your backend to create sessions.
See JavaScript SDK for the full integration guide.
Decision guide
Mixing methods
You can use different integration methods for different parts of your product. For example:
- Web Capture for onboarding on desktop
- Mobile SDK for onboarding on mobile
- API-Only for re-verification or document updates
All methods create the same session object and produce the same result format. Your webhook handler and backend logic work identically regardless of how the user completed capture.
Next steps
- Web Capture Flow — Integrate the hosted capture experience
- JavaScript SDK (verifa.js) — Drop-in frontend integration with popup or modal
- API-Only Integration — Build your own capture UI
- Mobile SDK — Native iOS, Android, and React Native
Related
- Quickstart — Create your first session in 5 minutes
- Sessions — Session lifecycle and API reference
- Webhooks Guide — Set up real-time result delivery