Name validation API: catch junk names, not real people
Send the name someone typed into a form and get back whether it looks like a real person’s name, with the reasons: keyboard mashing, placeholders, fictional characters, profanity, digits or an email address in the name field. It never calls a name fake. It tells you what to look at.
100 free credits every day. No card.
An assessment, a score and the reasons
Each name comes back as plausible, suspicious or implausible, with a score from 0 to 100 and the list of signals behind it. “asdf qwerty” is implausible with keyboard_pattern on both words; “Mickey Mouse” is suspicious as a fictional character; “Jennifer Null” is plausible, and the score goes up because Jennifer appears in official birth records more than a million times.
That last part is what our name data adds. Most validators only know what a bad name looks like. NameGender also knows what a real first name looks like, from counted birth and population registers in eleven countries.
curl -X POST https://namegender.com/api/v1/name-check \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "asdf qwerty"}'
# "assessment": "implausible",
# "score": 0,
# "signals": [
# { "code": "keyboard_pattern", "severity": "high", "part": "first_name", "value": "asdf" },
# { "code": "keyboard_pattern", "severity": "high", "part": "last_name", "value": "qwerty" }
# ]
Copy failed. Select and copy the text.
What it catches
High-severity signals make a name implausible on their own; medium ones make it suspicious, as do two low ones.
| Signal | Example | Severity |
|---|---|---|
| Keyboard pattern | asdf qwerty, sdfsdf | High |
| Repeated letters | aaaa bbbb | High |
| Placeholder | test, n/a, xxx, Test Test, John Doe, Max Mustermann | High |
| Profanity | whole words only, in five languages | High |
| Email or URL in the name field | john@example.com | High |
| Fictional character | Mickey Mouse, Harry Potter | Medium |
| Digits or symbols | Anna2 Müller, Anna <Müller> | Medium |
| Company name in a person field | Acme GmbH | Medium |
Real names are left alone
Name filters have a long record of blocking real people: Jennifer Null cannot book flights, Cockburns trip profanity filters, and people with a single name cannot complete forms. The rules here are built around those cases. Null, Test and Doe are fine as surnames; only “null” on its own or the pair John Doe is flagged. Mickey Smith passes, Mickey Mouse does not. Profanity matches whole words only, and a first name with counted birth records is never treated as one.
Single names, two-letter names such as Ng, short words without vowels such as Strč, and names in scripts our data does not cover are not penalised, and a first name we have never seen does not count against anyone on its own. We tested the rules on 4,610 real first names in nine scripts, alone and paired with a surname: none was marked suspicious or implausible.
Flag, don’t reject
Use implausible to hold a sign-up for a second look or ask for the name again, and suspicious to mark a lead for review. Rejecting people automatically on a name is the one use we advise against: the cost of a wrongly blocked customer is higher than the cost of one junk lead.
The check works in the same places as the rest of the API. In Google Sheets, =NAMEGENDER_CHECK(A2:A500) marks a whole column. In Zapier, the Check Name action returns the signal codes as plain text, so a filter step can route anything containing profanity or placeholder. Make, n8n and all ten client libraries have it too.
Questions
Is this identity verification?
No. It says whether a name looks like a real person’s name, not whether the person exists or is who they claim to be.
What does it cost?
One credit per name, including names that come back plausible. A bulk endpoint takes up to 100 names per request.
How are surnames checked?
By their shape only: keyboard patterns, repeated letters, digits and symbols. There is no surname dataset behind the check, so an unusual surname is never flagged for being unusual.
How often does it flag real names?
On 4,610 real first names in nine scripts, alone and with a surname, it flagged none. Rules that risk real names, such as famous people’s names, are left out on purpose.
Related pages
Turn a name into “Sehr geehrte Frau Dr. Müller,”, “Sayın Ahmet Bey,” or “Madame,” in one call. Neutral when the gender is not certain. 1 credit.
Upload a CSV or XLSX name list and get a gender column back, with confidence fields, automatic deduplication and the cost shown before charging.
Append a gender column to a customer list, CRM export or lead database, with a confidence field you can filter on and no monthly reset on purchased credits.
A lead list mixes people, companies and inboxes like info@. NameGender now labels each input personal, organization or role, and only people get a gender.
Every NameGender lookup now splits the input into first_name, middle_name and last_name at no extra cost. The rules, real examples, and where splitting fails.
Check it against your own list
Every number on this page is reproducible with a free key. If your data breaks it, that is the more interesting result.