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

News

22.06.2026

Software Version 11.4.0 released - NameAPI's New Business Detection Module

Telling a company from a person sounds trivial, until you have to do it reliably across millions of...


15.05.2026

Identifying Titles in Global Name Data

We have updated our NameAPI database with titles from more than 80 cultures. Our services identify...


20.04.2026

Database Update: Georgian Names Added

We are pleased to announce the latest expansion of our name database with a comprehensive...


26.02.2026

Enhanced NameAPI Database

We are excited to announce a major update to the NameAPI database, reflecting the extensive...


11.02.2026

Software Version 11.2.0 Deployed

NameMatcher: More resilient matching for real-world names

Previously, if an input could not be...


   

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