GET /name/{name}

Full name parser API

Pass a name any way a form gave it to you. Get it back clean.

Try it

Example response/name/GRACE%20HOPPER
{
  "name": "Grace Hopper",
  "valid": true,
  "prefix": null,
  "first": "Grace",
  "middle": null,
  "last": "Hopper",
  "suffix": null,
  example
}

What comes back.

name

Cleaned full name, comma flip resolved and proper cased

valid

Looks like a person's name. Role words, company markers, and placeholders answer false

first

First name

middle

Middle name or initial, null when absent

last

Last name, name particles included (de la Hoya), null on a single word

prefix

Mr, Mrs, Ms, Dr, Prof, and friends, null when absent

suffix

Jr, III, PhD class, null when absent

deep.gender

male or female from name evidence, optionally scoped by ?country=. Ambiguous or unsupported evidence stays null

deep.salutation

Mr or Ms from gender, null when gender is null

deep.known

The matching name appears in the dictionary, even when gender is null. Independent of parsing validity

deep.countries

All associated ISO2 country codes for the matching name, never the person's nationality

1

Pass the mess

All caps, all lower, Last, First order, prefixes and suffixes attached.

2

Get the parts

First, middle, last, prefix, suffix. Proper cased, first name first.

3

Junk answers false

Role words, company markers, and placeholders come back valid: false.

Coverage

Names in their own script. Paid deep adds dictionary and country evidence.

4,227,191
names in the dictionary
191
associated country codes

Pass a name the way a form gave it to you. GRACE HOPPER, smith, john, and Dr. Jane Smith Jr. come back split into first, middle, and last, properly cased, with prefix and suffix set aside. Role words, company markers, and placeholders answer valid: false.

Paid deep adds dictionary matches, associated countries, gender, and salutation when the evidence supports them. Pass country to choose a country context for that evidence. An unfamiliar name can still be valid, and known names stay known when gender is null.

SPEED

How long /name takes.

Median time to first byte over the last seven days. Warm requests, measured every 30 minutes. Live verification and other request variants can take longer.

US

18ms

EU

23ms

APAC

72ms

LatAm

30ms

ME

165ms

See live status →

Names, neatly.

Parse and format names on every plan. Name evidence on paid plans.

Start includes 1M API requests a month for $20/mo.

Make your first request.

One key works across the APIs. Copy a request in your language and get JSON back.

curl "https://api.parseapi.com/name/GRACE%20HOPPER" \
  -H "X-API-Key: YOUR_API_KEY"
// Example response · 200
{
  "name": "Grace Hopper",
  "valid": true,
  "prefix": null,
  "first": "Grace",
  "middle": null,
  "last": "Hopper",
  "suffix": null
}

?deep=true Dictionary membership, country associations and uncertain name evidence. Included on paid plans.

API referenceSDKsKeys and authentication

Every response field

Response fields

name
Cleaned full name, comma flip resolved and proper cased
valid
Looks like a person's name. Role words, company markers, and placeholders answer false
prefix
Mr, Mrs, Ms, Dr, Prof, and friends, null when absent
first
First name
middle
Middle name or initial, null when absent
last
Last name, name particles included (de la Hoya), null on a single word
suffix
Jr, III, PhD class, null when absent

Deep fields

deep.gender
male or female from name evidence, optionally scoped by ?country=. Ambiguous or unsupported evidence stays null
deep.salutation
Mr or Ms from gender, null when gender is null
deep.known
The matching name appears in the dictionary, even when gender is null. Independent of parsing validity
deep.countries
All associated ISO2 country codes for the matching name, never the person's nationality

Build with Name

All tutorials →

QUESTIONS

Does this work with international names?
Unicode letters and combining marks are supported, including Arabic, Indic, Han, and Hangul. Splitting uses first-name-first order unless a comma marks Last, First. Paid deep adds evidence from 4,227,191 dictionary names associated with 191 country codes.
What input works?
All caps, all lower, Last, First order, and attached prefixes or suffixes. The parts come back split and proper cased.
Does casing rewrite my data?
Only all-upper or all-lower input is recased. Mixed case passes through, so McIntyre stays McIntyre.
When is gender null?
Paid deep.gender is null when evidence is ambiguous, conflicting, or insufficient. Add deep=true and country=IT for Italian evidence; without country, the result uses global name evidence.
What do known and countries mean?
Paid deep.known reports a dictionary match, independently of gender. deep.countries lists country associations for that name, even when a country context is selected. These are name associations, not a person's nationality. An unfamiliar name can still be valid.
What counts as junk?
Role words, company markers like LLC, and placeholders like test test. Those answer valid: false as a 200, never a 404.

Paste a column of names into the split names tool. First, middle, and last come back as values.