Identity Verification API / Nigeria
System Upgrade v3.1

Unified Identity Verification

Securely verify identities across African borders using our sovereign data rails. Integrate biometric, corporate, and financial records in a single request.

NIN Verification API

The NIN Verification API enables you to verify Nigerian National Identity Numbers (NIN) in real-time. LumiID offers two service tiers:

  • Basic: For quick identity validation (minimal fields, faster).
  • Premium: For detailed verification with full NIN record including photo and address.

All endpoints require authentication using your Bearer token. Base URL: https://api.lumiid.com/

Authentication

Include your API key in the header of every request:

Authorization: Bearer YOUR_API_KEY

1. NIN Basic Verification

This endpoint provides essential identity data such as full name, date of birth, gender, and verification status. It’s ideal for services that only need to confirm if an NIN is valid.

Endpoint: POST /api/v1/ng/nin-basic

Authorization: Bearer Token

Content-Type: application/json

Request Body:

{
  "nin": "89184072280"
}

Success Response:

{
  "success": true,
  "code": "NIN_VERIFIED",
  "message": "NIN verification successful",

  "summary": {
    "verified": true,
    "verification_type": "NIN",
    "provider": "LumiID",
    "confidence_score": 1.0
  },

  "data": {
    "nin": "89184072280",
    "firstname": "Bunch",
    "lastname": "Dillon",
    "middlename": "",
    "phone": "08000000000",
    "gender": "m",
    "photo": "/9j/4AAQSkZJRgABAgAAAQABAAD..."
  },

  "meta": {
    "request_id": "req_a3f9c21d9b4e",
    "timestamp": "2025-12-27T17:50:46.123456Z"
  }
}

Error Response:

{
  "success": false,
  "code": "NIN_VERIFICATION_FAILED",
  "message": "Invalid NIN or verification failed",

  "summary": {
    "verified": false,
    "verification_type": "NIN",
    "provider": "LumiID",
    "confidence_score": 0.0
  },

  "data": null,

  "meta": {
    "request_id": "req_b91d82fa13c4",
    "timestamp": "2025-12-27T17:51:02.902134Z"
  }
}

πŸ’‘ Tip: Use this endpoint when you only need to confirm identity validity, not full personal details.

2. NIN Premium Verification

This endpoint provides full NIN data including photo, address, phone number, and nationality. It’s suitable for banking, government, or enterprise-level KYC operations.

Endpoint: POST /api/v1/ng/nin-premium

Authorization: Bearer Token

Content-Type: application/json

Request Body:

{
  "nin": "89184072280"
}

Success Response:

{
  "success": true,
  "code": "NIN_VERIFIED",
  "message": "NIN verification successful",

  "summary": {
    "verified": true,
    "verification_type": "NIN",
    "provider": "LumiID",
    "confidence_score": 1.0
  },
  'data': {
    'nin': '89184072280', 
    'firstname': 'Bunch', 
    'lastname': 'Dillon', 
    'middlename': '', 
    'phone': '08000000000', 
    'gender': 'm', 
    'photo': '/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAgGBgcGBQgHB...', 
    'birthdate': '06-01-1974', 
    'residence': {
      'address1': '8637 Larkin Ports', 
      'town': 'Abuja', 
      'lga': 'Abuja Municipal', 
      'state': 'FCT Abuja'}, 
      'title': 'mr', 
      'email': 'example@gmail.com', 
      'profession': 'ENGINEER', 
      'marital_status': 'married', 
      'employment_status': 'employed', 
      'birth_state': 'FCT', 
      'birth_country': 'Nigeria', 
      'next_of_kin': {
        'firstname': '****', 
        'lastname': '****', 
        'middlename': '****', 
        'address1': '****', 
        'address2': '', 
        'lga': '****', 
        'state': '****', 
        'town': '****'
      }, 
      'nspokenlang': 'ESAN', 
      'ospokenlang': '****', 
      'religion': 'islam', 
      'lga_of_origin': 'Kabu', 
      'place_of_origin': 'Kabu', 
      'state_of_origin': 'FCT', 
      'signature': 'base6w==', 
      'tracking_id': 'S000000000000000'
    }
    "meta": {
      "request_id": "req_b91d82fa13c4",
      "timestamp": "2025-12-27T17:51:02.902134Z"
  }

}

Error Response:

{
  "status": false,
  "message": "Verification failed. Please try again later."
}

πŸ’‘ Tip: Use this endpoint when detailed identity information (including photo) is needed for regulatory KYC compliance.

Example Integration

Python Example

    
      import requests

      url = "https://api.lumiid.com/v1/ng/nin-basic/"
      headers = {
          "Authorization": "Bearer YOUR_API_KEY",
          "Content-Type": "application/json"
      }
      payload = {
          "nin": "89184072280"
      }

      response = requests.post(url, json=payload, headers=headers)
      print(response.json())
    
      
    

JavaScript Example

    
      fetch("https://api.lumiid.com/v1/ng/nin-basic/", {
      method: "POST",
      headers: {
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json"
      },
      body: JSON.stringify({
        nin: "89184072280"
      })
      })
      .then(response => response.json())
      .then(data => console.log(data))
      .catch(error => console.error(error));
    
      
    

Service Comparison

Feature NIN Basic NIN Premium
Full Name, Gender, DOB βœ”οΈ βœ”οΈ
Address & Contact ❌ βœ”οΈ
Photo βœ”οΈ βœ”οΈ
Turnaround Speed Fast Moderate

Common Error Codes

  • 400: Missing or invalid NIN field
  • 401: Invalid or expired API key
  • 404: Record not found
  • 500: Internal server error (retry later)

Important Notes

  • All data is retrieved directly from the National Identity Management Commission (NIMC) database.
  • Use HTTPS endpoints only β€” requests over HTTP will be rejected.
  • Each request consumes one credit from your LumiID wallet.
  • Ensure you handle user data responsibly and comply with NDPR regulations.