Bank Account Verification in Zambia
Verify a Zambian bank account and retrieve the account holder's name before initiating a transfer.
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
curl -X POST https://api.lira.com/api/v1/verify/account \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"accountNumber": "1234567890",
"country": "ZM",
"bankCode": "023"
}'
Request body fields
| Field | Type | Required | Description |
|---|---|---|---|
accountNumber |
string | Yes | The bank account number to verify. |
country |
string | Yes | Always ZM. |
bankCode |
string | Yes | The bank's unique identifier. See the supported banks table below. |
mode |
string | No | sync (default) or async. Use async to receive the result via webhook. |
Supported banks
Use one of the following bankCode values when verifying a Zambian bank account.
bankCode |
Bank Name |
|---|---|
002 |
Absa Bank |
003 |
Access Bank |
005 |
Access Bank (formerly ATMA) |
006 |
Bank of China |
007 |
Citibank |
008 |
Ecobank |
010 |
Indo Zambia Bank |
011 |
Investrust Bank |
012 |
First Alliance Bank |
013 |
First Capital |
014 |
FNB |
016 |
Stanbic Bank |
017 |
Standard Chartered Bank |
022 |
United Bank for Africa |
023 |
Zanaco |
025 |
ZICB |
028 |
AB Bank |
032 |
Natsave |
033 |
Access Bank |
036 |
Bayport |
037 |
Zambia National Building Society |
Read the result
Successful verification
{
"id": "ver_a1b2c3d4-...",
"status": "success",
"verificationType": "ACCOUNT_NUMBER",
"identifier": "1234567890",
"country": "ZM",
"verifiedAt": "2026-04-08T10:05:00.000Z",
"verified": true,
"accountNumber": "1234567890",
"accountName": "John Banda",
"bankCode": "023",
"bankName": "Zanaco"
}
Note: Zambian bank account verifications do not return address fields (
state,lga). OnlyaccountName,bankCode, andbankNameare returned on success.
Failed verification
{
"id": "ver_a1b2c3d4-...",
"status": "failed",
"verificationType": "ACCOUNT_NUMBER",
"identifier": "1234567890",
"country": "ZM",
"verifiedAt": "2026-04-08T10:05:00.000Z",
"verified": false,
"error": {
"code": "ACCOUNT_NOT_FOUND",
"message": "No account found for the provided details"
}
}
Note: A
200 OKHTTP response does not mean the verification succeeded. Always check thestatusfield.
Error handling
error.code |
Cause | Action |
|---|---|---|
ACCOUNT_NOT_FOUND |
Account number not found at the specified bank | Ask the user to check their account number and bank code |
INVALID_BANK_CODE |
Bank code not recognised | Check the bankCode against the supported banks table |
INVALID_ACCOUNT_NUMBER |
Account number format is invalid | Validate format 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
- Phone Number in Zambia — verify Zambian phone subscribers
- Bank Account Overview — general bank account verification guide
- Async Verification with Webhooks — receive results via webhook
- Errors — complete error code reference
