NameAPI is a web API
to handle people's names
in your software.

News

25.11.2025

Dictionary Update: Danish Names

NameAPI has expanded its Nordic coverage with 2,600 given names and 8,600 family names, capturing...


05.11.2025

Verification of Payee (VoP) with NameMatcher

NameAPI is introducing Verification of Payee (VoP) powered by NameMatcher, enabling fast, accurate...


30.10.2025

Software Version 11.0.0 Deployed

Release of Optimaize PII Platform with Java 21.


29.09.2025

Dictionary Update: Quechua and Aymara Names

The NameAPI database continues to grow, now enriched with 3,700 new given names and 600 family...


29.08.2025

Database Expansion: Brazilian Portuguese Names

We’ve expanded our database to include a comprehensive set of Brazilian Portuguese names. This...


   

Name Parser


       
Name parsing is the process of splitting a name string into its components.
See also the Swagger specification.
                    
POST
       
application/json (you must set the content-type as http header)
       
We have integrated Swagger directly into our API.
Visit https://api.nameapi.org/rest/swagger-ui/.

   

Input

               
See Context.
   
{
  "context" : {
     "priority" : "REALTIME",
     "properties" : [ ]
   },
  "inputPerson" : {
    "type" : "NaturalInputPerson",
    "personName" : {
      "nameFields" : [ {
        "string" : "Petra",
        "fieldType" : "GIVENNAME"
      }, {
        "string" : "Meyer",
        "fieldType" : "SURNAME"
      } ]
    },
    "gender" : "UNKNOWN"
  }
}      
   

   

Output

   
   
A list of possible ways how a person could be parsed. The entries are sorted by likeliness & confidence, the first is the best parsing result. See ParsedPersonMatch.

One match contains the following fields:
  • Information about the person: the computed gender, the addressing given name, the addressing surname... See ParsedPerson.
  • A list of consistency problems detected by the parser is within this object. See ParserDispute.
  • A value in the range 0-1 that indicates how likely is it that this is the correct way of parsing. The higher the better.
  • A value in the range 0-1 that indicates how sure the server is about the result. The higher the better.
   
{
  "matches" : [ {
    "parsedPerson" : {
      "personType" : "NATURAL",
      "personRole" : "PRIMARY",
      "mailingPersonRoles" : [ "ADDRESSEE" ],
      "gender" : {
        "gender" : "FEMALE",
        "confidence" : 1.0
      },
      "addressingGivenName" : "Petra",
      "addressingSurname" : "Meyer",
      "outputPersonName" : {
        "terms" : [ {
          "string" : "Petra",
          "termType" : "GIVENNAME"
        }, {
          "string" : "Meyer",
          "termType" : "SURNAME"
        } ]
      }
    },
    "parserDisputes" : [ ],
    "likeliness" : 0.990354218244094,
    "confidence" : 0.9583333333333334
  }, {
    "parsedPerson" : {
      "personType" : "NATURAL",
      "personRole" : "PRIMARY",
      "mailingPersonRoles" : [ "ADDRESSEE" ],
      "gender" : {
        "gender" : "FEMALE",
        "confidence" : 0.914111763426832
      },
      "addressingGivenName" : "Petra",
      "addressingSurname" : "Meyer",
      "outputPersonName" : {
        "terms" : [ {
          "string" : "Petra",
          "termType" : "GIVENNAME"
        }, {
          "string" : "Meyer",
          "termType" : "SURNAME"
        } ]
      }
    },
    "parserDisputes" : [ ],
    "likeliness" : 0.9849926986362509,
    "confidence" : 0.951388888888889
  } ]
}