Documentation Sections
Overview & Architecture
The Arewa Verification API provides ultra-fast, bank-grade identity verification infrastructure for Nigerian software applications, fintechs, aggregators, and enterprise portals. Authenticate citizens in real-time against authoritative government sources with 99.9% uptime.
https://www.irust.ng.smartidea.com.ng/api/v1
Authentication
All API requests must be transmitted over secure HTTPS and authenticated using your secret API key. You can provide your key through either of the following standard HTTP headers:
Standard Authorization HTTP header with Bearer prefix.
Authorization: Bearer YOUR_API_KEY
Pass your token directly in the X-API-KEY header.
X-API-KEY: YOUR_API_KEY
Service Pricing & Automatic Billing
API requests operate on a prepaid wallet balance model. Fees are deducted atomically only when an upstream verification is completely successful. If a record is not found or the query fails, no fee is charged.
| Service Name | Service Code | Base Fee | Response Time | Billing Trigger |
|---|---|---|---|---|
| BVN Verification | 600 | ₦70.00 | ~1.2s | On 200 OK + Valid Profile |
| NIN Direct Verification | 610 | ₦80.00 | ~1.5s | On 200 OK + Valid Profile |
| NIN via Phone Lookup | 615 | ₦100.00 | ~2.0s | On 200 OK + Valid Profile |
| NIN Demographic Search | 620 | ₦100.00 | ~2.2s | On 200 OK + Match Found |
| Fast v2 (Zero-Downtime Alternative Engines) | ||||
| BVN Verification (Fast v2) v2 Engine | V600 | ₦100.00 | ~0.8s (Fast) | On 200 OK + Valid Profile (Alternative Gateway) |
| NIN Direct Verification (Fast v2) v2 Engine | V610 | ₦150.00 | ~0.9s (Fast) | On 200 OK + Valid Profile (Alternative Gateway) |
| NIN via Phone Lookup (Fast v2) v2 Engine | V105 | ₦100.00 | ~1.0s (Fast) | On 200 OK + Valid Profile (Alternative Gateway) |
Verifies an 11-digit Bank Verification Number and retrieves validated banking profile data including customer photo, full names, phone number, and residential details.
Request Body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
bvn |
string | Required | The 11-digit BVN to verify (e.g. "22222222222"). |
{
"bvn": "22222222222"
}
{
"status": "success",
"message": "BVN verified successfully.",
"reference": "VER_20260925120000_A1B2",
"amount_charged": 70,
"wallet_balance": 4930,
"data": {
"bvn": "22222222222",
"firstName": "MUSA",
"lastName": "BELLO",
"middleName": "IBRAHIM",
"gender": "Male",
"dateOfBirth": "1992-05-14",
"phoneNumber": "08031234567",
"state": "Kano",
"photo": "base64_string..."
}
}
Direct lookup of a National Identity Number against the NIMC national registry. Returns verified biometric photo, names, telephone, birthdate, and registration details.
Request Body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
nin |
string | Required | The 11-digit citizen NIN number. |
{
"nin": "12345678901"
}
{
"status": "success",
"message": "NIN verified successfully.",
"reference": "VER_20260925120531_F7C9",
"amount_charged": 80,
"wallet_balance": 4850,
"data": {
"nin": "12345678901",
"firstName": "FATIMA",
"lastName": "SULEIMAN",
"middleName": "AISHA",
"gender": "Female",
"dateOfBirth": "1995-11-20",
"phoneNumber": "08123456789",
"state": "Kaduna",
"lga": "Zaria",
"photo": "base64_string...",
"trackingId": "TRK987654321"
}
}
Locates and retrieves the full National Identity Number record linked to an enrolled Nigerian mobile telephone number.
Request Body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
phone_number |
string | Required | 11-digit Nigerian telephone number (e.g. "08031234567"). |
{
"phone_number": "08031234567"
}
{
"status": "success",
"message": "NIN verified successfully via telephone number.",
"reference": "VER_20260925121045_D3E1",
"amount_charged": 100,
"wallet_balance": 4750,
"data": {
"nin": "12345678901",
"firstName": "ALIYU",
"lastName": "ABUBAKAR",
"gender": "Male",
"dateOfBirth": "1988-03-12",
"phoneNumber": "08031234567",
"photo": "base64_string..."
}
}
Verifies and retrieves citizen NIN by matching demographic fields: First Name, Last Name, Gender, and Date of Birth.
Request Body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
first_name | string | Required | Citizen's official first name. |
last_name | string | Required | Citizen's surname / last name. |
gender | string | Required | "M" or "F" (or male/female). |
dob | string | Required | Date of birth format DD-MM-YYYY. |
{
"first_name": "AHMAD",
"last_name": "GARBA",
"gender": "M",
"dob": "14-06-1990"
}
{
"status": "success",
"message": "NIN Demographic Verification successful.",
"reference": "VER_20260925121512_K9L2",
"is_suspended": false,
"amount_charged": 100,
"wallet_balance": 4650,
"data": {
"nin": "12345678901",
"firstName": "AHMAD",
"lastName": "GARBA",
"gender": "M",
"dateOfBirth": "14-06-1990",
"photo": "base64_string..."
}
}
Fast v2 Identity Verification Suite (Zero-Downtime)
The Fast v2 verification endpoints route queries through dedicated secondary high-concurrency clusters to eliminate NIMC/NIBSS gateway downtime. Perfect for mission-critical automated KYC onboarding where failover resilience is essential.
High-speed alternative endpoint for BVN validation. Connects directly to failover identity gateways to prevent verification timeouts. Returns comprehensive citizen biodata, enrollment photo, date of birth, phone number, and residential address.
Request Body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
bvn |
string | Required | The 11-digit Bank Verification Number starting with 22 (e.g. "22222222222"). |
{
"bvn": "22222222222"
}
{
"status": "success",
"message": "BVN (v2) verified successfully.",
"reference": "VER_20261023120000_V600",
"amount_charged": 100,
"wallet_balance": 4900,
"service_type": "BVN",
"version": "v2",
"data": {
"bvn": "22222222222",
"firstName": "MUSA",
"lastName": "BELLO",
"middleName": "IBRAHIM",
"gender": "Male",
"dateOfBirth": "1992-05-14",
"phoneNumber": "08031234567",
"state": "Kano",
"photo": "base64_string..."
}
}
Slip Downloads Available
Slip generation remains identical to standard BVN. You can download slips via the portal or direct endpoint: /verification/bvn-v2/download-slip/{verification_id}?type=standard|premium|plastic.
Alternative direct National Identity Number lookup powered by the secondary v2 NIMC identity node. Provides uninterrupted verification access even during peak traffic periods with high availability and quick ~0.9s response latency.
Request Body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
nin |
string | Required | The 11-digit citizen National Identity Number (e.g. "12345678901"). |
{
"nin": "12345678901"
}
{
"status": "success",
"message": "NIN (v2) verified successfully.",
"reference": "VER_20261023120531_V610",
"amount_charged": 150,
"wallet_balance": 4750,
"service_type": "NIN",
"version": "v2",
"data": {
"nin": "12345678901",
"firstName": "FATIMA",
"lastName": "SULEIMAN",
"middleName": "AISHA",
"gender": "Female",
"dateOfBirth": "1995-11-20",
"phoneNumber": "08123456789",
"state": "Kaduna",
"lga": "Zaria",
"photo": "base64_string...",
"trackingId": "TRK987654321"
}
}
Slip Downloads Available
Slip templates remain fully compatible. Download regular, standard, premium, or vnin slips via: /verification/nin-v2/download-slip/{verification_id}?type=regular|standard|premium|vnin.
Retrieves citizen National Identity Number records using their enrolled Nigerian mobile phone number through the high-availability secondary cluster. Accepts either phone_number or phone parameter.
Request Body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
phone_number |
string | Required | 11-digit Nigerian telephone number (e.g. "08031234567"). Also accepts phone. |
{
"phone_number": "08031234567"
}
{
"status": "success",
"message": "NIN (v2) verified successfully via telephone number.",
"reference": "VER_20261023121045_V105",
"amount_charged": 100,
"wallet_balance": 4650,
"service_type": "NIN_PHONE",
"version": "v2",
"data": {
"nin": "12345678901",
"firstName": "ALIYU",
"lastName": "ABUBAKAR",
"middleName": "SANI",
"gender": "Male",
"dateOfBirth": "1988-03-12",
"phoneNumber": "08031234567",
"state": "Kano",
"lga": "Nassarawa",
"photo": "base64_string..."
}
}
Slip Downloads Available
Slip templates remain fully compatible. Download regular, standard, premium, or vnin slips via: /verification/nin-phone-v2/download-slip/{verification_id}?type=regular|standard|premium|vnin.
Check the live transaction status, charge details, and record audit for any previous verification reference.
Retrieve current wallet balance, currency, and account status for automated billing monitoring and low-balance warnings.
Code Implementation Examples
Select an endpoint and language to preview copy-ready production code.curl --location --request POST 'https://www.irust.ng.smartidea.com.ng/api/v1/verification/bvn-v2' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--data-raw '{
"bvn": "22222222222"
}'
HTTP Status & Error Codes
| HTTP Status | Meaning | Description / Remediation |
|---|---|---|
| 200 OK | Success | Verification completed and authoritative citizen details returned. |
| 400 Bad Request | Provider / Query Failure | Upstream provider returned an error or identity record was not found. |
| 401 Unauthorized | Invalid API Key | API key is missing or invalid. Check your Bearer token in header. |
| 402 Payment Required | Insufficient Balance | Your wallet has insufficient funds to cover the service fee. Deposit funds. |
| 422 Unprocessable | Validation Error | Request payload failed validation (e.g. BVN is not 11 numeric digits). |
| 504 Gateway Timeout | Upstream Timeout | Government identity gateway is slow or experiencing a temporary outage. |