Snipget.ai

Names match key

Exact
names_match_key

Deterministic and authoritative — the canonical answer for this input.

Generate a normalized match key for person deduplication. Returns 'FIRST|LAST', uppercase, letters and digits only, with accents FOLDED to their base letter — so 'Renée' and 'Renee' (or 'José' and 'Jose') collapse to the same key. Use this when comparing people across systems — two records with the same match key should be treated as the same person. An all-empty or punctuation-only name returns match_key=null at confidence 0 (a content-free key would make every blank record collide). Processing multiple inputs? Use `names_match_key_batch` to do up to 1000 in one call.

Parameters

firststringoptional
laststringoptional

Call it

curl -X POST https://api.snipget.ai/v1/names/match-key \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{"first":"José","last":"García"}'

The Batch tab sends up to 1000 inputs in one call via /v1/names/match-key/batch.

Example response

{
  "first": "José",
  "last": "García",
  "match_key": "JOSE|GARCIA"
}

FAQ

Why would I need a match key?

It builds a simple, stable key like 'JOHN|SMITH' so you can spot the same person across two systems even when one stores accents, punctuation, or odd spacing. Two records that are really the same person collapse to the same key.

Is the key always the same for the same name?

Yes. It is deterministic, so the same first and last name always produce the same key. That is exactly what makes it useful for matching and deduplication.

How does it handle accents and punctuation?

It folds accents to their base letter, so 'José García' becomes 'JOSE|GARCIA' and 'Renée' matches 'Renee'. Punctuation and spacing are removed. That is the whole point: the same person lines up whether or not a system stored the accents.

What does it NOT do?

It does not decide that two different keys belong to the same person, and it will not match nicknames. 'Bob Smith' and 'Robert Smith' produce different keys. For nickname-aware matching, use the nickname tools.

What if I only have one of the two names?

Both first and last are optional. A missing side just comes back empty, so you might get 'JOHN|' which is still a valid, consistent key.

Related tools