Face Match API Explained: How 1:1 Verification Works

A face match API compares two face images, usually a live selfie and the photo on an ID, and returns a similarity score that shows how likely they belong to the same person. This is called 1:1 verification. Your app then compares that score with a threshold to decide match, no match, or review. Used alone, however, it cannot tell a real face from a photo, so it should always run after a liveness check.
What a Face Match API Is
A face match API is a service your backend calls with two images. In return, it tells you whether the faces in them likely belong to one person. So developers use it whenever they need to link a person to an identity they already hold.
- Onboarding: selfie versus the portrait on a national ID or driver’s license.
- Login and step-up: a new selfie versus the face enrolled at sign-up.
- Workforce checks: for example, a rider’s shift selfie versus their onboarding photo.
- High-value actions: a selfie before a large transfer or a change of registered phone number.
The appeal is speed. A comparison takes a moment, so it fits inside a sign-up or payment flow without users noticing much delay.
1:1 Verification vs 1:N Search
Typically, face APIs offer two kinds of comparison. They answer different questions, so mixing them up leads to poor designs.
| Aspect | 1:1 verification (face match) | 1:N search (identification) |
|---|---|---|
| Question answered | Does this face belong to the claimed identity? | Who is this person, or have we seen them before? |
| Inputs | Two images, or one image plus an enrolled face | One image searched against a gallery of many faces |
| Typical use | Selfie versus ID, login, step-up checks | Duplicate account detection, blocklists |
| Output | One similarity score | A ranked list of candidates with scores |
| Privacy footprint | Smaller; compares only what the user submits | Larger; requires storing a face gallery |
Most onboarding flows need both. Specifically, 1:1 proves the applicant owns the ID, while 1:N catches the same face applying under a second name. For the search side, see our guide to biometric deduplication.
How a Face Match Works: Detection, Embedding, Comparison

Behind a single API call sit three steps. Understanding them, in turn, helps you debug strange results.
- Detection. First, the model finds the face in each image and crops it. If no face is found, or several appear, the call usually fails or flags the image.
- Embedding. Next, a neural network converts each face into a long list of numbers, often called a template or embedding. Two photos of one person produce embeddings that sit near each other.
- Comparison. Then the service measures the distance between the two embeddings and turns it into a similarity score.
Because the model compares embeddings rather than pixels, it copes with changes in lighting, glasses, or a few years of aging. However, it still struggles with heavy blur, extreme angles, and tiny, low-resolution ID portraits. For the difference between finding a face and recognizing one, see our explainer on face detection vs recognition.
Match Scores and Thresholds
The score is not a yes or no. Instead, it is a measure of similarity, and your threshold turns it into a decision.
| Threshold setting | Effect on genuine users | Effect on impostors |
|---|---|---|
| Higher (stricter) | More false rejections; some real users fail | Fewer false accepts |
| Lower (looser) | Fewer false rejections | More impostors slip through |
| Two thresholds with a review band | Clear matches pass; borderline cases go to a person | Clear non-matches fail; doubtful cases get checked |
The two-threshold pattern works best in practice. For instance, auto-approve above the upper line, auto-decline below the lower line, and send everything between to review. Then tune both lines with your own data, because the right values depend on your users, their ID photos, and your fraud risk.
Philippine ID portraits, meanwhile, add their own challenges. Older cards may carry small or faded photos, while users often take selfies in mixed lighting. So measure false rejection rates by ID type and device before tightening thresholds. Independent benchmarks, such as those described in our article on NIST face recognition tests, help compare vendors, but your own pilot data matters more.
Why Face Match Needs Liveness Detection
Face matching measures resemblance, and nothing more. Whether the selfie came from a living person is outside its job. And that gap is exactly what fraudsters exploit.
- Printed photos. A fraudster holds a printed copy of the victim’s picture to the camera.
- Screen replays. Similarly, a video of the victim plays on a second phone.
- Masks. Rarer, but increasingly realistic, 3D masks target high-value accounts.
- Injected video. Malware or emulators feed a deepfake straight into the camera stream.
Each of these can score high on a face match, since the face does belong to the victim. Therefore, run liveness detection first, and only compare faces when liveness passes. Verihubs face recognition and liveness combine both steps for Philippine apps, with passive liveness through the API and active prompts available through the web SDK. Also, our report on deepfake fraud shows why injected video is now the main threat.
Integration Tips for Philippine Apps
A few practical choices make face matching far more reliable for local users.
- Use the best ID image you can get. Crop the portrait from a sharp, glare-free photo of the card rather than a compressed upload.
- Guide the selfie. Show an oval frame, ask users to remove caps and sunglasses, and check lighting before capture.
- Enroll a reference face. After onboarding, store a verified face template so later checks compare against a clean selfie, not the ID.
- Log scores, not just decisions. That way, scores let you retune thresholds later without guessing.
- Handle consent. Face data is sensitive personal information, so tell users how you use and store it.
Also plan for appearance changes. A user who enrolled years ago may look different now, so allow a fresh enrollment through a full verification rather than lowering thresholds for everyone.
Reading Face Match Errors
Not every failed call means a mismatch. In fact, many failures happen before any comparison runs, so each one calls for its own fix.
| Result | Likely cause | What to do |
|---|---|---|
| No face found | Glare on the ID, a cropped portrait, or a selfie taken too far away | Ask the user to retake the image with guidance |
| Multiple faces | Someone else in the background of the selfie | Request a new selfie in a plain setting |
| Low-quality image | Blur, low light, or heavy compression | Check quality on the device before upload |
| Low score on a genuine user | Old or faded ID portrait, big appearance change | Route to review or request another ID |
| High score with a failed liveness check | Likely a photo or replay of the real owner | Treat as a spoof attempt, never as a match |
Above all, separating these cases in your logs pays off quickly. Otherwise, a spike in “no face found” errors from one Android model looks like a fraud wave, when the real fix is a better capture screen.
Frequently Asked Questions
What is a face match API?
Put simply, the API takes two face images, typically a live selfie plus the portrait on a government ID, and returns a similarity score. Your app uses the score to decide whether both images show the same person.
What is the difference between 1:1 and 1:N face matching?
1:1 verification compares a face with one claimed identity. By contrast, 1:N search compares a face against many stored faces to find who it is or whether it is a duplicate.
What is a good face match threshold?
There is no universal number. Start with your provider’s recommendation, add a review band between two thresholds, and tune with your own data on false rejections and false accepts.
Can a face match API detect fake selfies?
Not by itself. For example, a printed photo or replayed video of the real person can score high. Liveness detection must run first to confirm the selfie came from a live person.
Does face matching work with old ID photos?
Usually, since models tolerate aging and lighting changes. Very small or faded portraits lower scores, so route those cases to review or ask for a newer ID.
Scores Inform, Rules Decide
A face match API gives you a number, not a verdict. So pair 1:1 matching with liveness, set two thresholds with a review band, and tune them on real Philippine IDs and phones. Add 1:N search where duplicates matter, and the same face technology will cover onboarding, logins, and high-value actions alike.
Evaluating face match providers for your app? Test Verihubs face matching on your own sample images.
