NIN Lookup

This page contains information about how to integrate the NIN verification services into your application.

To carry out a National Identification Number (NIN) lookup, choose any of the channels below that align with your sector or industry to submit your verification request.

API Endpoints

BASE_API: https://api.truztcube.com

Access Levels & Data Minimization

According to NIMC compliance requirements, verification APIs are designed with tiered access levels. Each access level determines the type and amount of information returned per verification request.

This structure enforces the Data Minimization principle of the data protection policy. It ensures that:

  • Only relevant data is shared with the relying party.

  • Sensitive or unnecessary information is never exposed beyond the authorized scope.

  • Compliance with data privacy regulations is maintained at all times.

Access Level
Data
Credit Units for Verification

Level 1

Photograph, Names (First, Middle, Last Names), D.O.B., Gender

5

level 2

Level 1 + Address, Signature, Phone Number

8

Level 3

Level 2 + Maiden Name, Birth Country, Birth State, Birth LGA

12

Level 4

Level 3 + Origin State, Origin LGA, Next Of Kin Data, And All Modifications Carried Out As At The Date Of Verification

15

Level 5

Level 4 + Local Government and biometrics Security information inquiries

20

Verification Channels

Below are the various supported means of verification.

IMPORTANT: This verification system is exclusively for use by government agencies and financial institutions, as mandated by the regulator.

Request Headers

Name
Type
Description

x-api-key*

string

Your organization's secret API key for authentication is available on your Truztcube dashboard.

method*

string

POST

Request Body

All the params listed below are required.

Name
Type
Description

nin

string

unique 11 digits issued by the NIMC to the ID holder

request_reason

enum

Reason for the verification check: Please review the linked document for the list of reasons and select the one that applies to your use case. see the link below for approved reasons.

enterprise_id

string

Unique code provided to an authorized enterprise, which can be found on the NINAuth dashboard

Sample CURL Request

Substitute the values with test/live information gotten from your Truztcube dashboard

curl --location 'https://api.truztcube.com/v1/nin/raw/lookup'
--header 'x-api-key: TEST_aeXdR8Inarssmzm6M8CokJbTh6nAemES' \
--header 'method: POST'\
--data '{
    "nin":"12345678901",
    "request_reason": "nyscCheck",
    "enterprise_id": "ENT4SANDBOX"
}' 

Successful CURL Response

{
  "status": 200,
  "success": true,
  "message": "successfully fetched user data",
  "data": {
    "biographicData": {
      "birthCountry": "nigeria",
      "birthLga": "Utopia",
      "birthState": "Bendel",
      "dateOfBirth": "01-01-1900",
      "educationLevel": "tertiary",
      "employmentStatus": "unemployed",
      "firstName": "JOHN",
      "gender": "m",
      "height": "169",
      "lastName": "DOE",
      "maritalStatus": "single",
      "middleName": "Mary",
      "nativeSpokenLanguage": "English",
      "nextOfKinAddressLine1": "NO. 22 Aso Villa",
      "nextOfKinFirstName": "Mary",
      "nextOfKinLga": "Utopia",
      "nextOfKinMiddleName": "Doe",
      "nextOfKinSurname": "Jane",
      "nextOfKinTown": "Kano",
      "originLga": "Arochukwu",
      "originPlace": "OKPOGA",
      "originState": "LAGOS",
      "profession": "STUDENT",
      "religion": "christianity",
      "residenceAddressLine1": "NO. 22 ASO Villa",
      "residenceLga": "Abuja",
      "residenceState": "Benue",
      "residenceStatus": "birth",
      "residenceTown": "Barkin Chiawa",
      "title": "Mr"
    },
    "biometricData": [
      {
        "biometricSubType": "face",
        "biometricType": "photo",
        "image":"/sm71.."
      },
      {
        "biometricSubType": "signature",
        "biometricType": "signature",
        "image": "/9j/4AAQSkZ.."
      }
    ],
    "contactData": {
      "phone1":  "08030000000"
    }
  }
}

Error Format

{
    "statusCode": 500,
    "message": "Request failed: Request failed with status code 500"
}

Verification Reasons

curl --location 'https://api.truztcube.com/v1/nin/request-reasons'
--header 'x-api-key: TEST_aeXdR8Inarssmzm6M8CokJbTh6nAemES' \
--header 'method: GET'\

The array below lists the values needed for request_reason in your verification. Please include the key value with your submission.

"data": [
    {
      "key": "taxationEnrollment",
      "label": "Taxation Enrollment"
    },
    {
      "key": "taxationAssessment",
      "label": "Taxation Assessment"
    },
    {
      "key": "taxationEnforcement",
      "label": "Taxation Enforcement"
    },
    {
      "key": "corporateAffairsDirector",
      "label": "Corporate Affairs Director"
    },
    {
      "key": "corporateAffairsShareholder",
      "label": "Corporate Affairs Shareholder"
    },
    {
      "key": "corporateAffairsTrustee",
      "label": "Corporate Affair Trustee"
    },
    {
      "key": "medical",
      "label": "Medical"
    },
    {
      "key": "educationExam",
      "label": "Education Exam"
    },
    {
      "key": "educationAdmission",
      "label": "Education Admission"
    },
    {
      "key": "educationPromotion",
      "label": "Education Promotion"
    },
    {
      "key": "employmentRecruitment",
      "label": "Employment Recruitment"
    },
    {
      "key": "employmentEnrollment",
      "label": "Employment Enrollment"
    },
    {
      "key": "employmentDismissal",
      "label": "Employment Dismissal"
    },
    {
      "key": "creditBackgroundCheck",
      "label": "Credit Background Check"
    },
    {
      "key": "financialProducts",
      "label": "Financial Products"
    },
    {
      "key": "insurance",
      "label": "Insurance"
    },
    {
      "key": "clearanceForPoliticalOffice",
      "label": "Clearance For Policitive Office"
    },
    {
      "key": "legalCourts",
      "label": "Legal Courts"
    },
    {
      "key": "legalEnrollment",
      "label": "Legal Enrollment"
    },
    {
      "key": "crimePrisonIncarceration",
      "label": "Crime Prison Incarceration"
    },
    {
      "key": "passportImmigration",
      "label": "Passport Immigration"
    },
    {
      "key": "pensionEnrollment",
      "label": "Pension Enrollment"
    },
    {
      "key": "socioCulturalEnrollment",
      "label": "Socio-cultural Enrollment"
    },
    {
      "key": "entertainment",
      "label": "Entertainment"
    },
    {
      "key": "physicalAccess",
      "label": "Physical Access"
    },
    {
      "key": "logicalVirtualAccess",
      "label": "Logical Virtual Access"
    },
    {
      "key": "telecommunicationSimReg",
      "label": "Telecommunication Sim Registration"
    },
    {
      "key": "telecommunicationIotReg",
      "label": "Telecommunication Iot Registration"
    },
    {
      "key": "aviationTransport",
      "label": "Aviation Transport"
    },
    {
      "key": "roadTransport",
      "label": "Road Transport"
    },
    {
      "key": "maritimeTransport",
      "label": "Maritime Transport"
    },
    {
      "key": "railwayTransport",
      "label": "Railway Transport"
    },
    {
      "key": "leaCheck",
      "label": "Lea Check"
    },
    {
      "key": "defence",
      "label": "Defence"
    },
    {
      "key": "nyscCheck",
      "label": "NYSC Check"
    },
    {
      "key": "efccCheck",
      "label": "EFCC Check"
    },
    {
      "key": "blacklistPolitical",
      "label": "Blacklist Political"
    },
    {
      "key": "blacklistSocial",
      "label": "Blacklist Social"
    }
  ]
}

Last updated