Biometric
Face Match · 1:1 Verification

Face Matching API for selfie-to-ID verification

Compare a customer selfie with the portrait on an identity document and return a configurable similarity decision for your KYC workflow.

<1 sec1:1 matching
37 / 570+international ranking
1.5 sec1:N database search
180+countries supported

Clients who trust us

NurbankOtbasy BankBinancenaimi.kzBank RBKTennisi.kzSun FinanceShinhan FinanceKcellNPCK — National Payment Corporation of Kazakhstan
What it gives your business

Three reasons to match a face to the document

A stranger's passport is useless

A fraudster cannot pass verification with someone else's or a forged ID: the selfie will not match the document photo. Liveness prevents a photo from standing in for a live person.

One person — one account

Face Search (1:N) finds duplicate registrations across your database — even if the customer changed their passport or details.

A threshold that fits the scenario

The similarity threshold is configurable: strict for KYC, light for fast onboarding. The higher it is, the fewer impostors pass — and the more often a genuine customer is sent to a retry.

Gallery search · 1:N

One person — one account, even with a new passport

Face Search looks for one face among many in your database. On every registration it checks the customer against the whole base, so a repeated attempt is rejected even when the passport or details changed.

Stop multi-accounts and welcome-bonus farming.
Catches repeat registrations of previously blocked customers.
Database search takes ~1.5–2 seconds.

More about 1:N face search across your base

Accuracy

Doesn't confuse different people and doesn't reject your own

The model returns a similarity percentage and you compare it with a threshold configured in the dashboard. A genuine customer clears it while someone else's face stays well below it.

NIST FRVTConfigurable threshold
Face similarityThreshold: configurable
Same person
Document photoCustomer selfie
96%
Different people
Document photoA different person
27%
Tune the similarity threshold to your use case — from gentle onboarding to strict KYC. The Face2Face dashboard demo starts at 85%, but you decide how strict matching is.
Resilient to change

Recognizes the customer, even when they've changed

A passport photo may have been taken years ago — people change. The algorithm focuses on biometric traits resilient to age, hairstyle, weight and image quality. And the reverse — it does not confuse similar-looking people where simpler systems fail.

Passes

One person — different looks

Passport photo
Passport · 2016
Selfie today
Today
96%
Same person
Doesn't pass

Similar — but different people

Customer
Customer
Look-alike or twin
Look-alike · twin
29%
Different people
Weight changeBeard & moustacheHairstyleMake-upGlassesScars & surgery
On-Premise deployment

Face biometrics never leave your loop

Work in our cloud or deploy the Face Match core into a closed perimeter on your own servers (On-Premise) — selfies, document photos and biometric templates stay with you.

The result: biometric data does not leave the company perimeter — covering regulatory and security requirements.

National Bank requirements
Cloud · SaaSOn-Premise
Your company's perimeter
Face Match core
Customer biometrics
Data never leaves the perimeter
For developers

Classic integration for developers

If your team prefers to build the architecture by hand — use our ready-made SDKs and API.

JS · Webview

Web SDK / Flow Widget

A ready-made JS camera component (widget) for your website or embedded mobile browser (Webview). Fully customizable design to match your brand book.

JavaScriptCustom designWebview
iOS · Android

Mobile SDK

Native libraries for mobile apps. Deep access to the smartphone camera and biometric micro-packet transfer even on weak 3G connections.

SwiftKotlinOffline-ready
Backend

REST API

Direct access to face-to-document matching endpoints for your server-side logic. Authorization via a private X-API-KEY.

RESTX-API-KEYServer-side
AI · AGENTS

MCP server for AI agents

AI agents connect directly to verification — without writing code. Compatible with Claude, GPT and any MCP client.

MCPClaudeAI agents
face-match — REST API
# Face-to-document check by session_id
POST /v1/face2face/check/
Host: api.biometric.vision
X-API-KEY: sk_live_••••••••••••••
Content-Type: application/json
{ "session_id": "sess_9f2a…" }
# → 200 OK
{ "match": true, "similarity": 0.97, "threshold": "configurable" }
API response

What face matching returns

The response is JSON: the decision, the numeric similarity score and the reason a comparison failed. You set the threshold at which a match counts, based on the risk in your scenario.

Key fields

FieldWhat it means
resultThe comparison decision: the two faces match or they do not.
predictionSimilarity score from 0 to 1 — 0.9636, for example.
prediction_percentThe same value as a percentage, easier to show an operator.
failure_reasonWhy the comparison could not be made.
backend_session_idSession identifier for audit and for reviewing disputed cases.

Common errors

ErrorWhat to do
No face foundThere is no face in the photo — ask the user to retake it.
Not allowed file, valid extensions: .jpg .png .jpegUnsupported file format — convert it before sending.
Client does not have access to Face2Face technologyNo active subscription for the technology, or access is switched off.
Face2Face result does not existNo result yet: send the pair of images for comparison first.

You can compare two uploaded photos, or images from sessions that already ran — liveness or document recognition — so the selfie and the document portrait do not have to be sent twice. See the Face2Face reference

Numbers and facts

433+
document typesPassports and hundreds of other document types supported worldwide.
180+
supported countriesGlobal coverage for checks across jurisdictions.
40 sec
onboarding timeCustomer registration and verification in under a minute.
99%
technology accuracyHigh-accuracy AI-powered face and document verification.
FAQ

Questions about face matching

1:1 matching answers “is this the same person?” — a selfie against the document photo. A 1:N search looks for a face across every record in your database and answers “do we already have them?”. Different jobs, different products: the database search is Face Search.

The threshold follows the risk in the scenario: the higher it is, the fewer false matches — and the more often a genuine customer is sent to a retry or to manual review. Light onboarding and strict KYC need different values, which is why the threshold is configurable rather than baked into the model.

No. Face matching only judges the similarity of two images, and a photograph of a person also looks like that person. Confirming a live human is in front of the camera takes a liveness check, and confirming the document is genuine takes document authenticity checks.

The API returns “No face found” and no comparison is made. Usually that is enough to ask the user to retake the shot; whether the case goes to manual review is your decision.

Yes, an On-Premise deployment is available: the comparison runs inside your perimeter and images never leave it.
500 checks a month free

Verify faces instead of taking documents at face value

Create a developer account, build a Face2Face scenario in the builder and test matching on your own flow — 500 checks a month free, with no card.