GET /name/{name}

Name 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,
  ?deep=true
}

1M requests · $20/mo. Get started

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

Compact name using name_locale formatting rules, such as R.J. Smith. Null when the name is invalid

deep.directory

Name formatted for directory listings, such as Smith, Robert James. Null when the name is invalid

deep.initials

Name initials using name_locale formatting rules, such as RJS. Null when the name is invalid

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 from 191 countries in their own script. Paid deep matches dictionary names in Latin, Han, Hangul, Cyrillic, Arabic, and Greek.

  • GraceLatin
  • 王Han
  • 민준Hangul
  • иванCyrillic
  • آدَمArabic
  • αγαθηGreek
4,227,191
first names
191
countries
6
scripts
877,383
native-script names

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 a short name, a directory name, and initials for your contact lists and profiles. It also includes gender and salutation when the evidence supports them. Optional name_locale selects the formatting rules; country selects gender context. An unfamiliar name can still be valid.

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

30ms

EU

33ms

APAC

57ms

LatAm

30ms

ME

98ms

See live status →

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" \
  -H "Parse-Version: 2.0.0"
// Example response · 200
{
  "name": "Grace Hopper",
  "valid": true,
  "prefix": null,
  "first": "Grace",
  "middle": null,
  "last": "Hopper",
  "suffix": null
}

API referenceSDKsKeys and authentication

Every response field

Response fields

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

Deep fields

deep.genderstring or null
male or female from name evidence, optionally scoped by ?country=. Ambiguous or unsupported evidence stays null
deep.salutationstring or null
Mr or Ms from gender, null when gender is null
deep.shortstring or null
Compact name using name_locale formatting rules, such as R.J. Smith. Null when the name is invalid
deep.directorystring or null
Name formatted for directory listings, such as Smith, Robert James. Null when the name is invalid
deep.initialsstring or null
Name initials using name_locale formatting rules, such as RJS. Null when the name is invalid

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 matches 4,227,191 dictionary names from 191 countries and territories.
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.
Can I get initials and a shorter name?
Yes. Paid deep adds short, directory, and initials. Robert James Smith becomes R.J. Smith, Smith, Robert James, and RJS with the default English rules. Optional name_locale selects supported formatting rules without changing how the name is parsed. Unsupported locales return 400.
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 counts as junk?
Role words, company markers like LLC, and placeholders like test test. Those answer valid: false as a 200, never a 404.

Names, neatly.

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

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

Ready for busy moments.Start includes 1,800 requests per minute, with extra capacity for bursts. Rate limits