Developer Portal
IDENTITY VERIFICATION

NIN Phone V2 Verification

High-reliability secondary endpoint powered by Prembly Advance to retrieve complete National Identity Number (NIN) demographic records using a registered mobile phone number.

Service Online / Available
POST /api/v1/nin/phone/v2 Alias: /api/v1/nin/phone-v2
Authentication & Headers
HEADER VALUE REQUIRED
Authorization Bearer YOUR_API_TOKEN Yes
Accept application/json Yes
Content-Type application/json Yes

Service Availability & Realtime Pricing

Role: Default
SERVICE / FIELD CODE SERVICE NAME PRICE (₦) STATUS
V105 Phone NIN Verification v2 ₦100.00 Available

Request Parameters

PARAMETER TYPE DESCRIPTION REQUIRED
number / phone / phone_number string The 11-digit mobile phone number linked to the NIN identity profile (e.g. 08012345678). Required
ref string Optional unique merchant transaction reference string. Optional

Implementation Examples

curl -X POST "https://www.api.arewasmart.com.ng/api/v1/nin/phone/v2" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{"number": "080123456789"}'
<?php

$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => "https://www.api.arewasmart.com.ng/api/v1/nin/phone/v2",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => json_encode([
        'number' => '080123456789'
    ]),
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer YOUR_API_TOKEN',
        'Content-Type: application/json',
        'Accept: application/json'
    ],
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
const axios = require('axios');

axios.post('https://www.api.arewasmart.com.ng/api/v1/nin/phone/v2', {
    number: '080123456789'
}, {
    headers: {
        'Authorization': 'Bearer YOUR_API_TOKEN',
        'Content-Type': 'application/json',
        'Accept': 'application/json'
    }
})
.then(response => console.log(response.data))
.catch(error => console.error(error.response ? error.response.data : error));
import requests

url = "https://www.api.arewasmart.com.ng/api/v1/nin/phone/v2"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json"
}
payload = {
    "number": "080123456789"
}

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

Response Payloads

Success Response (200 OK)
Normalized to Verifications Table
{
    "status": "success",
    "code": 200,
    "message": "verification sucessful",
    "data": {
        "nin": "09876543211",
        "vnin": "",
        "firstname": "JOHN",
        "middlename": "",
        "surname": "MODE",
        "gender": "m",
        "birthdate": "22-02-1996",
        "telephoneno": "09012345678",
        "email": "",
        "photo": "/9j/4AAQSkZJRgABAgAAAQABAAD...",
        "signature": "",
        "trackingId": "",
        "userid": "",
        "residence_address": "TUDUN WADA RESIDENCE",
        "nok_town": "",
        "nok_postalcode": "",
        "firstName": "JOHN",
        "middleName": "",
        "phoneNumber": "09012345678",
        "birthDate": "22-02-1996",
        "reference": "VER-PHONE-EFLXM4RI4Y",
        "submission_date": "2026-10-21 12:30:00"
    },
    "transaction_ref": "PHN2-68F7A1B2C3D4",
    "charge": 100.00
}
Verification Failed (400 Bad Request)
{
    "status": "failed",
    "code": 400,
    "message": "Phone Number Verification failed or record not found.",
    "transaction_ref": "PHN2-68F7A1B2C3D4"
}
Insufficient Balance (403 Forbidden)
{
    "status": "failed",
    "code": 403,
    "message": "Insufficient wallet balance. Service requires 100.00 NGN."
}