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

News

04.11.2024

New Python Client Library Released

We have implemented a Python client library, now available on PyPI, providing easy access to...


22.10.2024

Software Version 10.6.0 Released

This update brings several improvements and new features designed to enhance the accuracy and...


11.10.2024

Discovering Czech Names

As part of the West Slavic group, the Czech language shares similarities with Slovak and Polish,...


25.09.2024

Romanian Names Added

The Romanian language, a Romance language derived from Latin, is unique in Eastern Europe,...


11.09.2024

Software Version 10.4.0 Deployed

The latest update includes several improvements:

 

Expanded Database of Names: new names...


   

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
  } ]
}