Phone Number Verification in Zambia
Verify a Zambian mobile phone number and retrieve the subscriber's name.
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-Keyheader — not a Bearer token.
Make the verification request
Zambia requires a networkCode to identify the mobile operator. Use lowercase values.
curl -X POST https://api.lira.com/api/v1/verify/phone \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"phoneNumber": "0977000000",
"country": "ZM",
"networkCode": "mtn"
}'
Request body fields
| Field | Type | Required | Description |
|---|---|---|---|
phoneNumber |
string | Yes | Zambian phone number. Local format (e.g. 0977000000) or E.164 (e.g. +260977000000). |
country |
string | Yes | Always ZM. |
networkCode |
string | Yes | Mobile operator. Must be one of: airtel, mtn, zamtel. Use lowercase. |
mode |
string | No | sync (default) or async. Use async to receive the result via webhook. |
Important: The
networkCodemust be lowercase. SendingMTNinstead ofmtnwill result in an error. This differs from Ghana, which uses uppercase network codes.
Supported operators
| Operator | networkCode |
|---|---|
| Airtel Zambia | airtel |
| MTN Zambia | mtn |
| Zamtel | zamtel |
Read the result
Successful verification
{
"id": "ver_d4e5f6g7-...",
"status": "success",
"verificationType": "PHONE_NUMBER",
"identifier": "0977000000",
"country": "ZM",
"verifiedAt": "2026-04-08T10:08:00.000Z",
"verified": true,
"phoneNumber": "0977000000",
"fullName": "Chanda Mwale"
}
Note: Zambia phone verifications return
fullNameonly. Individual name components (firstName,lastName) anddateOfBirthare not available for Zambian numbers.
Failed verification
{
"id": "ver_d4e5f6g7-...",
"status": "failed",
"verificationType": "PHONE_NUMBER",
"identifier": "0977000000",
"country": "ZM",
"verifiedAt": "2026-04-08T10:08:00.000Z",
"verified": false,
"error": {
"code": "SUBSCRIBER_NOT_FOUND",
"message": "No subscriber found for the provided phone number"
}
}
Note: A
200 OKHTTP response does not mean the verification succeeded. Always check thestatusfield.
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 |
INVALID_NETWORK_CODE |
networkCode not recognised |
Must be one of: airtel, mtn, zamtel (lowercase) |
NETWORK_CODE_REQUIRED |
Verification submitted without networkCode |
Add networkCode to the request |
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
- Bank Account in Zambia — verify Zambian bank accounts
- Phone Number Overview — general phone verification guide
- Async Verification with Webhooks — receive results via webhook
- Errors — complete error code reference
