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

34ms

APAC

44ms

LatAm

36ms

ME

92ms

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

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

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 6,000 requests per minute, with extra capacity for bursts. Rate limits