Split a full name into parts
Heuristicnames_parseBest-effort — fuzzy, approximate, or inferred; check the confidence score.
Parse a person name into components: prefix, first, middle, last, suffix, nickname. Handles formats like 'John A. Smith Jr.', 'Smith, John A.', 'Dr. John Smith III', 'John (Jake) Smith'. Preserves Mc/Mac/apostrophe/hyphen casing. Nicknames in parens are extracted to a separate `nickname` field. Processing multiple inputs? Use `names_parse_batch` to do up to 1000 in one call.
Parameters
full_namestringrequiredFull name to parse.
Call it
curl -X POST https://api.snipget.ai/v1/names/parse \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{"full_name":"Dr. John A. Smith Jr."}'The Batch tab sends up to 1000 inputs in one call via /v1/names/parse/batch.
Example response
{
"first": "John",
"middle": "A.",
"last": "Smith",
"suffix": "Jr.",
"prefix": "Dr.",
"nickname": null,
"full": "Dr. John A. Smith Jr."
}FAQ
Why not split the name myself?
Splitting on spaces breaks real names. This pulls a full name apart into first, middle, last, prefix, suffix, and nickname, and it handles the hard cases: 'Smith, John A.', 'Dr. John Smith III', McDonald and O'Brien, hyphenated names, and parenthesized nicknames like 'John (Jake) Smith'.
How reliable are the parts?
This is best-effort, not guaranteed. Real names are ambiguous, so the parser infers the most likely split and returns a confidence score. When it cannot find a first or last name, confidence drops, so check that score before trusting the breakdown.
What formats does it understand?
Plain order like 'John A. Smith Jr.', comma order like 'Smith, John A.', titles and suffixes like Dr. and III, and a nickname in parentheses, which it pulls out into its own field.
What does it NOT do?
It does not verify the name is a real person, and it is tuned for Western name order. Names from other traditions may split in unexpected ways, so review the confidence and the parts.
What if I send a blank name?
You get every part returned as empty with confidence 0 and a reason, not an error. That is the signal to skip the row rather than treat it as a failure.