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

News

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


05.01.2026

2025 Around the World

2025 marked another remarkable year for Optimaize, characterized by significant progress in our...


15.12.2025

Detecting What Isn’t a Name: Salutations in International Data

Salutations often appear in name fields, even though they are not part of the actual name....


25.11.2025

Dictionary Update: Danish Names

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


   

Risk Detector


       
Detects various types of possibly fake data in person records. It performs checks on the person's name, email address, telephone number and address.
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": {},
  "inputPerson": {
    "type" : "NaturalInputPerson",
    "emailAddresses": [
      {
        "type" : "EmailAddressImpl",
        "emailAddress": "[email protected]"
      }
    ],
    "correspondenceLanguage": "en",
    "addresses": [
      {
        "type" : "UseForAllAddressRelation",
        "address": {
           "type" : "StructuredAddress",
          "placeInfo": {
            "type" : "StructuredPlaceInfo",
            "locality": "Atlantis",
            "postalCode": "55555"
          },
          "streetInfo": {
            "type" : "StructuredStreetInfo",
            "streetName": "Hill road",
            "houseNumber": "72"
          }
        }
      }
    ],
    "telNumbers": [
      {
        "type" : "SimpleTelNumber",
        "fullNumber": "999 999 999"
      }
    ],
     "personName" : {
      "nameFields" : [ {
        "string" : "John",
        "fieldType" : "GIVENNAME"
      }, {
        "string" : "Doe",
        "fieldType" : "SURNAME"
      } ]
    }
  }
}
      
   

   

Output

        
An overall score considering all the detected risks and all the positive attributes of the record. Range [-1,1].
  • Range [-1,0) means no risks were detected and the record looks good.
  • 0 means no risks were detected, but also no positive attributes were found, the service can't tell for sure.
  • Range (0,1] means one or multiple risks were detected.
       
A list of all the detected risks. Sorted by severity having the worst come first.
See RiskDetectorResult.
   
{
  "score" : 1.0,
  "risks" : [ {
    "dataItem" : "EMAIL",
    "riskScore" : 1.0,
    "reason" : "Domain of email address '[email protected]' has a risk to be a placeholder.",
    "riskType" : [ "FakeRiskType", "OTHER" ]
  }, {
    "dataItem" : "EMAIL",
    "riskScore" : 1.0,
    "reason" : "Domain of email address '[email protected]' has a risk to contain placeholder.",
    "riskType" : [ "FakeRiskType", "PLACEHOLDER" ]
  }, {
    "dataItem" : "NAME",
    "riskScore" : 0.97,
    "riskType" : [ "FakeRiskType", "PLACEHOLDER" ]
  }, {
    "dataItem" : "TEL",
    "riskScore" : 0.7,
    "reason" : "Tel number '999 999 999' contains repeating patterns.",
    "riskType" : [ "FakeRiskType", "OTHER" ]
  }, {
    "dataItem" : "ADDRESS",
    "riskScore" : 0.6,
    "reason" : "Atlantis",
    "riskType" : [ "FakeRiskType", "FICTIONAL" ]
  }, {
    "dataItem" : "TEL",
    "riskScore" : 0.5,
    "reason" : "Tel number '999 999 999' is invalid.",
    "riskType" : [ "FakeRiskType", "INVALID" ]
  }, {
    "dataItem" : "TEL",
    "riskScore" : 0.5,
    "reason" : "Tel number '999 999 999' contains risky equal digit sequences.",
    "riskType" : [ "FakeRiskType", "OTHER" ]
  }, {
    "dataItem" : "ADDRESS",
    "riskScore" : 0.4,
    "reason" : "Postal code '55555' looks like a random typing.",
    "riskType" : [ "FakeRiskType", "RANDOM_TYPING" ]
  } ]
}