Name Match
Documents & BiometricsScore how well two names match, allowing for initials, order and spelling.
Compare a declared name with the name on any record and get a match score that understands Indian naming conventions: initials, honorifics, surname order, transliteration and common misspellings. Stop reviewers eyeballing strings.
Endpoint
Request parameters
| Field | Type | Description |
|---|---|---|
name_one
required
|
string | Name one |
name_two
required
|
string | Name two |
Example request
curl -X POST https://app.emver.io/api/sandbox/v1/name-match \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"name_one": "string",
"name_two": "string"
}'
import requests
response = requests.post(
"https://app.emver.io/api/sandbox/v1/name-match",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Accept": "application/json",
},
json={
"name_one": "string",
"name_two": "string"
},
timeout=60,
)
response.raise_for_status()
data = response.json()
const response = await fetch("https://app.emver.io/api/sandbox/v1/name-match", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
"Accept": "application/json",
},
body: JSON.stringify({
"name_one": "string",
"name_two": "string"
}),
});
const data = await response.json();
$response = Http::withToken('YOUR_API_KEY')
->acceptJson()
->post('https://app.emver.io/api/sandbox/v1/name-match', {
"name_one": "string",
"name_two": "string"
});
$data = $response->json();
Replace YOUR_API_KEY and the placeholder values. Use the switch above to see production URLs.
Response
Structure · 200
{
"status": INTEGER,
"message": STRING,
"data": {
"match_score": STRING,
"match_decision_against_threshold": STRING,
"explanation_of_differences": STRING
}
}
Example · 200
{
"status": 200,
"message": "string",
"data": {
"match_score": "string",
"match_decision_against_threshold": "string",
"explanation_of_differences": "string"
}
}
Error · 4xx / 5xx
{
"status": INTEGER,
"message": STRING
}
See Errors & status codes for what each status means and which calls are billed.
About this API
Names on different documents rarely match character for character. The Name Match API scores similarity the way a careful reviewer would, so "S. Kumar" and "Suresh Kumar" pass while genuinely different people do not.
It underpins the name-match results in emver's other APIs and is available standalone for reconciling records inside your own systems.
Typical uses
- Payout beneficiary checks. Compare declared names with bank records.
- Data deduplication. Merge candidate or customer records reliably.
- Document cross-checks. Reconcile names across PAN, Aadhaar and degree certificates.
- Sanctions screening. Reduce false positives on watchlist hits.
Questions
- Does it handle regional-language names?
- Yes. Transliteration variants of Indian names are scored as likely matches.
- Can I run it in bulk?
- Yes. Bulk runs are supported through flow requests in the console.