Phone Number Verification in Nigeria

Verify a Nigerian mobile phone number and retrieve the subscriber's name and date of birth.

Prerequisites

You'll need an API key. See Quickstart or Authentication if you don't have one yet.

Note: Verification endpoints use an API key in the X-API-Key header โ€” not a Bearer token. Verification POST requests also require an Idempotency-Key header.


Make the verification request

No networkCode is required for Nigerian numbers โ€” the carrier is resolved automatically.

curl -X POST https://api.lira.com/api/v1/verify/phone \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Idempotency-Key: YOUR_IDEMPOTENCY_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "phoneNumber": "08000000000",
    "country": "NG"
  }'

Request body fields

Field Type Required Description
phoneNumber string Yes Nigerian phone number. Local format (e.g. 08000000000) or E.164 (e.g. +2348000000000).
country string Yes Always NG.
mode string No sync (default) or async. Use async to receive the result via webhook.

Sandbox: Use phone number 08000000000 with country NG for a predictable successful result. See Environments for the full list of sandbox test data.


Read the result

Successful verification

{
  "id": "b2c3d4e5-...-...-...-...",
  "status": "success",
  "verificationType": "PHONE_NUMBER",
  "identifier": "08000000000",
  "country": "NG",
  "verifiedAt": "2026-03-09T10:06:00.000Z",
  "verified": true,
  "phoneNumber": "08000000000",
  "firstName": "Jane",
  "lastName": "Doe",
  "fullName": "Jane Doe",
  "dateOfBirth": "1990-01-15"
}

Note: Nigerian phone verifications return firstName, lastName, fullName, and dateOfBirth. The dateOfBirth field may be absent depending on the carrier.

Failed verification

{
  "id": "b2c3d4e5-...-...-...-...",
  "status": "failed",
  "verificationType": "PHONE_NUMBER",
  "identifier": "08000000000",
  "country": "NG",
  "verifiedAt": "2026-03-09T10:06:00.000Z",
  "verified": false,
  "error": {
    "code": "SUBSCRIBER_NOT_FOUND",
    "message": "No subscriber found for the provided phone number"
  }
}

Note: A 200 OK HTTP response does not mean the verification succeeded. Always check the status field.


Error handling

error.code Cause Action
SUBSCRIBER_NOT_FOUND Phone number not registered with the carrier Ask the user to verify their number is correct and active
INVALID_PHONE_NUMBER Phone number format is invalid Validate format (local or E.164) before submitting
PROVIDER_ERROR Upstream system returned an error Retry with exponential backoff
PROVIDER_TIMEOUT Upstream system timed out Retry โ€” transient error

For the full error code reference, see Errors.


Next steps