Introduction

We all take our names for granted and yet there is so much information in it. Your name reveals a lot of information about who you are. It tells if you're a man or a women, what language you speak and it can even reveal your nationality.

Validating a phone number, zip code or email address is simple. You don’t need a parsing service for that. But parsing a name and getting information out of it is much harder. That is where we come in: Name Parser offers a Web App and API that splits a complete name into useful information such as first name, last name, gender and nationality. It makes your live as a developer or data scientist much easier.

Just give us a name and we'll give you the useful components.

Supporting 139 countries

In order to properly parse names, our service uses an huge database with 2.208.942 first names and 6.119.869 last names from 139 different countries. A significant part of this name data is available for purchase as a CSV file with names and gender at Name Census .

There are many names such as Robin, Pascal or Mickey, which are mainly used for girls in one country and for boys in other countries. By specifying the country code in the query, we can determine the gender of a name with greater certainty.

Country Names Country Names
United Arab Emirates United Arab Emirates 14.007 Afghanistan Afghanistan 8.414
Albania Albania 4.058 Armenia Armenia 1.901
Angola Angola 4.996 Argentina Argentina 24.632
Austria Austria 17.405 Australia Australia 27.945
Azerbaijan Azerbaijan 3.003 Bosnia and Herzegovina Bosnia and Herzegovina 5.021
Bangladesh Bangladesh 11.283 Belgium Belgium 32.080
Burkina Faso Burkina Faso 5.300 Bulgaria Bulgaria 7.628
Bahrain Bahrain 2.066 Benin Benin 3.384
Bermuda Bermuda 4.634 Bolivia Bolivia 5.452
Brazil Brazil 114.619 Bahamas Bahamas 2.978
Belarus Belarus 3.352 Belize Belize 2.803
Canada Canada 37.541 Congo Congo 4.962
Republic of the Congo Republic of the Congo 2.961 Switzerland Switzerland 60.225
Ivory Coast Ivory Coast 4.883 Chile Chile 11.293
Cameroon Cameroon 8.608 China China 13.108
Colombia Colombia 21.113 Costa Rica Costa Rica 7.886
Cuba Cuba 3.873 Cape Verde Cape Verde 3.283
Cyprus Cyprus 3.641 Czech Republic Czech Republic 10.340
Germany Germany 43.936 Denmark Denmark 131.474
Dominican Republic Dominican Republic 10.003 Algeria Algeria 7.185
Ecuador Ecuador 10.414 Estonia Estonia 2.648
Egypt Egypt 10.120 Spain Spain 70.160
Ethiopia Ethiopia 3.917 Finland Finland 8.371
France France 52.657 United Kingdom United Kingdom 69.382
Georgia Georgia 6.404 Ghana Ghana 8.374
Guinea Guinea 2.562 Greece Greece 7.539
Guatemala Guatemala 8.671 Hong Kong Hong Kong 6.555
Honduras Honduras 6.860 Croatia Croatia 3.929
Haiti Haiti 3.417 Hungary Hungary 10.306
Indonesia Indonesia 29.015 Ireland Ireland 13.424
Israel Israel 5.208 India India 35.503
Iraq Iraq 7.018 Iran Iran 6.548
Iceland Iceland 2.337 Italy Italy 34.082
Jersey Jersey 6.087 Jamaica Jamaica 16.066
Jordan Jordan 3.568 Japan Japan 11.490
Kenya Kenya 9.955 South Korea South Korea 7.911
Kuwait Kuwait 4.456 Kazakhstan Kazakhstan 3.890
Lebanon Lebanon 4.883 Sri Lanka Sri Lanka 4.013
Liberia Liberia 9.186 Lithuania Lithuania 2.094
Luxembourg Luxembourg 6.174 Latvia Latvia 2.563
Libya Libya 2.386 Morocco Morocco 5.924
Moldova Moldova 1.722 Macedonia Macedonia 2.971
Mali Mali 2.303 Myanmar [Burma] Myanmar [Burma] 2.300
Malta Malta 2.263 Mexico Mexico 71.858
Malaysia Malaysia 13.136 Mozambique Mozambique 3.158
Nigeria Nigeria 16.310 Nicaragua Nicaragua 5.981
Netherlands Netherlands 31.904 Norway Norway 32.946
Nepal Nepal 6.534 New Zealand New Zealand 9.612
Oman Oman 3.827 Panama Panama 6.842
Peru Peru 12.281 Papua New Guinea Papua New Guinea 2.887
Philippines Philippines 21.399 Pakistan Pakistan 12.909
Poland Poland 54.564 Palestine Palestine 2.609
Portugal Portugal 19.947 Paraguay Paraguay 6.738
Qatar Qatar 5.245 Romania Romania 9.419
Serbia Serbia 4.261 Russia Russia 39.411
Rwanda Rwanda 1.972 Saudi Arabia Saudi Arabia 8.615
Sudan Sudan 3.442 Sweden Sweden 37.432
Singapore Singapore 13.264 Slovenia Slovenia 10.412
Slovakia Slovakia 5.037 Senegal Senegal 3.898
Somalia Somalia 3.160 El Salvador El Salvador 5.440
Syria Syria 4.021 Thailand Thailand 8.626
Tunisia Tunisia 3.255 Turkey Turkey 170.335
Trinidad and Tobago Trinidad and Tobago 3.086 Taiwan Taiwan 5.209
Tanzania Tanzania 4.872 Ukraine Ukraine 9.610
Uganda Uganda 5.850 United States United States 127.159
Uruguay Uruguay 4.946 Uzbekistan Uzbekistan 2.088
Saint Vincent Saint Vincent 4.727 Venezuela Venezuela 23.682
Vietnam Vietnam 5.101 Kosovo Kosovo 4.918
Mayotte Mayotte 22.158 Zambia Zambia 4.123
Zimbabwe Zimbabwe 3.828

Order of names

Names can be written in different name orders . This makes it complicated for developers to check if a name is valid or not. The order [first name] [last name] is known as the Western order and is usually used in most Western countries (Europe, North and South America, India and Oceania). Names can have multiple first names and multiple last names . This is common in Spanish-speaking countries, Brazil and Portugal. The order [last name], [first name] is known as the Eastern order and is primarily used in East Asia. Our software can parse all common name orders, salutations and titles.

Types Format Example
First name only [first name] Yumeng
Last name only [last name] Mountbatten-Windsor
Regular names [first name] [last name] Jennifer Anderson
Names with middle name [first name] [middle name] [last name] Stephanie Karen Hills
Double (Spanish) last names [first name] [last name] [last name] José Rodríguez Zapatero
Last name first followed by first [last name], [first name] [middle name] Procházka, Lukáš Michal
Names with salutation and initials [salutation] [first name] [initial] [last name] Mr Bob S. Samuels
Title with last name first [title] [last name], [first name] Dr. Jenkins, Philip
Nickname between [], (), {} or "" [first name] "[nickname]" [last name] Stephanie "DJ" Williams
Cyrillic, Greek and Latin characters [first name] [last name] Екатерина Иванов

Changelog

We always keep on improving our service. We divided the changelog in a section for the API and for the database. Our API returns the version of the API and database via the response headers. You can use the versions from the response header to programmatically detect if we release a new version.

API
Version Date Changes
2.1 2023-01-04
  • Rewrote complete structure of project making it more efficient to run and more than 55% faster.
  • Implemented unit test that automatically tests 57 different names and styles to prevent errors.
  • Fixed initials bug: When initials and a name where given (e.g.: W.P. Williams) the name was mistaken for the first name instead of the last name.
  • Fixed nickname bug: Nickname can now also consist out of numbers (e.g.: Phill Miller (1st rooster)).
  • Fixed special letters bug: Alle names can now also include letters like ë. ø and û (e.g.: Daniël Koster).
  • Fixed name order bug: By using comma's as a separation character the order of names can differ (e.g.: Miller, Walter M., Jr.)
  • Fixed lastname bug: Lastnames can now also be just 2 characters which is very common is some countries (e.g.: Jack Ma).
  • Improved the alternative countries of the first and middle-names.
  • Improved parsing of the lastname which now supports the use of multiple lastnames. This is common in Spanish-speaking countries (e.g. José Rodríguez Zapatero) and in some countries with marriage.
  • Added additional 'lastnames' object containing the individual last names detected in the complete lastname.
  • Improved nationality prediction by using the improved lastname information.
  • Improved salutation. Now supporting various salutations for 9 languages including different writing styles (e.g. Mr. Jack Dorsey or Mr Jack Dorsey).
  • Improved name generation in Spanish-speaking countries and countries where it is common to have two last names.
  • Improved country detection using the detected country from firstname, lastname and parsed lastname if lastname had more than one name.
2.0 2022-12-16
  • Extended the name parsing endpoint with "typo correction". For any misspelled first name, a list of alternative, correct names is returned.
  • Created a huge database with 20 million possible common spelling mistakes and typos for all first names. For example "Chriatian" should be "Christian".
  • Implemented a typo generator for names that takes in a name and creates hundreds of possible, logical spelling mistakes for it.
  • The error handling of the API has been improved, making it easier to fix errors.
  • Rewrote all code to strict type to prevent run-time errors and have earlier detection of errors.
  • Fixed validation bug, a name should now at least contain an existing firstname and lastname is optional when using loose validation.
1.9 2022-10-25
  • Improved structure of response so that it is consistent for all endpoints.
  • Fixed bug in parsing of email addresses.
1.8 2022-09-18
  • Added status code 404 in case a name can not be parsed.
  • Parse endpoint will always return the validation result even if name could not be parsed.
1.7 2022-03-20
  • Increased the number requests per hour for all subscriptions.
  • Last names that can not be validated will be returned nicely formatted with correct upper and lower case letters.
1.6 2021-03-14
  • Updated ‘generate’ endpoint so each subscription type (including free plan) can receive 25 generated names per request using the 'results' parameter.
  • Add password to the ‘generate’ endpoint so each generated name and email address now also have a strong password that can be used for development databases.
1.5 2021-02-12
  • Added ‘email‘ as a parameter to the name parsing endpoint to extract names from email.
  • Added 'email' object to all response objects including provider and country information.
  • Added fictional email addresses to the random name generator output.
  • Updated ‘account’ endpoint so usage field always has 24 hours and 31 days.
  • Removed the 'gender' endpoint from the API as this is already available in the name parsing endpoint.
  • Moved the 'validation' endpoint to the name parsing endpoint and made it available as an additional parameter.
1.4 2020-11-13
  • Added the name extraction endpoint to the API to extract names from text.
  • Created database with common keywords in every supported language to reduce false possive names for extraction endpoint.
  • Examined and improved complete API to meet strict GDPR regulations.
1.3 2020-09-30
  • All endpoints don't try to parse (obvious) rubbish names anymore.
  • Added additional status codes for when names could not be found (404).
  • Improved the rate limiting functionality excluding error responses.
  • Added additional hourly and daily usage fields to account information endpoint.
  • Parse and Validation endpoints accept different orders for first and last name like: last name, first name first name or last name first name.
1.2 2020-06-01
  • Added rate limiting based upon subscription plan.
  • Improved the name parser, so it can detect multiple middle names.
  • Increased accuracy of nationality prediction using new algorithm
  • Updated the structure of the result object to a more logical model.
  • Added support for IP addresses to Country Code using MaxMind GeoLite2.
  • Added Pantheon and IMDB data files for loose and strict validation.
1.1 2019-09-24
  • Fixed salutation breaking after a title.
  • Added the detection of nicknames that are written like: (nickname), [nickname] or "nickname".
  • Added the following endpoints to the API: account information, validation and name generation.
1.0 2019-08-17
  • Released first version of the API.
Database
Version Date Changes
10 2023-01-14
  • Exported 11.371.003 public profiles to rebuild the first name and last name database resulting in 113 countries.
  • Added MX (Mexico) with first name and last name database.
9 2022-10-23
  • Exported 25.388.576 public profiles to rebuild the first name and last name database resulting in 141 countries.
8 2021-01-30
  • Exported 11.371.003 public profiles to rebuild the first name and last name database resulting in 113 countries.
  • Added PE (Peruvian) last name database.
  • Added 'compact' ASCII column to first name and last name databases for search.
7 2020-10-07
  • Updated countries RU in the gender database.
  • Created a last name table to import all official last names.
  • Added all supported countries to last name database.
  • In the countries RU, PL, CZ the last name also indicates the gender.
  • Updated first name database for countries CA, RU, PL, IT, CH with additional names.
6 2020-08-31
  • Exported 9.252.364 public profiles to rebuild the first name database resulting in 104 countries.
  • Improved performance of cron jobs that collect public profiles.
  • Fixed the Russian first names entries.
5 2020-05-05
  • Names from unsupported countries are now added and based upon first names from supported countries resulting in 110 countries.
  • Started measuring and tracking nationality prediction performance by using open database with names and countries from 29,216 olympic athletes .
  • Updated country tables with additional country information.
  • Added countries HU, SI, SK, IN, RU and UA.
4 2019-12-26
  • Added column country_rank to name tables to support nationality prediction.
  • Added countries AR, BR, AU, NZ, CZ, ES, FR, GR, PL, TR to the gender database.
3 2019-10-22
  • Updated tables, now including frequency of names.
  • Added additional table for ASCII version of each name.
  • Added countries AT, CA, DK, IT, NO, IE, CH, PT to the gender database.
2 2019-09-02
  • Released first version of the database.
  • Converted whole database to UTF-8 when importing name databases.
  • Added countries NL, SE, DE, FI, BE, US, GB to the gender database.
1 2019-08-17
  • Released first version of the database.