Continue → Overview

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
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

Salutation API: the right greeting for every name

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.

Bulk gender detection from CSV and Excel

Upload a CSV or XLSX name list and get a gender column back, with confidence fields, automatic deduplication and the cost shown before charging.

Customer and lead gender enrichment

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.

Companies and shared mailboxes no longer get a gender: meet name_type

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.

First, middle and last name from any full name, in the same lookup

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.