Lookup
Resolve account holder names before sending money.
Lookup API
The Lookup API lets you resolve the account holder name behind a mobile money number or bank account before initiating a payout, disbursement, or transfer. Use it to show recipients in your checkout or back-office flow before the user confirms the transfer.
Lookups are read-only — no money moves and no OTP is issued.
Verify a mobile money wallet
POST /v1/lookup/walletReturns the account holder name registered against a Ghana mobile money number.
Request
| Parameter | Type | Required | Description |
|---|---|---|---|
phone_number | string | Yes | 10-digit Ghana phone number (e.g. 0241234567) |
provider | string | No | mtn, telecel, or airteltigo. Auto-detected from the phone prefix if omitted. |
curl -X POST https://api.shikacreators.com/v1/lookup/wallet \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"phone_number": "0241234567"
}'const res = await fetch('https://api.shikacreators.com/v1/lookup/wallet', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHIKA_SECRET_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
phone_number: '0241234567',
}),
});
const wallet = await res.json();import requests
response = requests.post(
'https://api.shikacreators.com/v1/lookup/wallet',
headers={'Authorization': f'Bearer {SECRET_KEY}'},
json={'phone_number': '0241234567'},
)
wallet = response.json()Response
{
"object": "wallet_verification",
"verified": true,
"account_name": "JOHN DOE",
"phone_number": "0241234567",
"provider": "mtn"
}Verify a bank account
POST /v1/lookup/bank-accountReturns the account holder name registered against a Ghana bank account. Use GET /v1/lookup/banks to find the right bank_code.
Request
| Parameter | Type | Required | Description |
|---|---|---|---|
account_number | string | Yes | Bank account number |
bank_code | string | Yes | Bank code from /v1/lookup/banks |
curl -X POST https://api.shikacreators.com/v1/lookup/bank-account \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"account_number": "1234567890",
"bank_code": "030100"
}'const res = await fetch('https://api.shikacreators.com/v1/lookup/bank-account', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHIKA_SECRET_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
account_number: '1234567890',
bank_code: '030100',
}),
});
const account = await res.json();Response
{
"object": "bank_account_verification",
"verified": true,
"account_name": "JOHN DOE",
"account_number": "1234567890",
"bank_code": "030100"
}List supported banks
GET /v1/lookup/banksReturns the list of banks supported for bank transfers and bank-account verification.
curl https://api.shikacreators.com/v1/lookup/banks \
-H "Authorization: Bearer sk_live_..."const res = await fetch('https://api.shikacreators.com/v1/lookup/banks', {
headers: { 'Authorization': `Bearer ${process.env.SHIKA_SECRET_KEY}` },
});
const { data: banks } = await res.json();Response
{
"object": "list",
"data": [
{
"bank_name": "Access Bank",
"short_name": "ACCESS",
"bank_code": "030100",
"sort_code": "030100"
}
],
"total": 1
}Errors
| Code | Description |
|---|---|
invalid_phone_number | Phone number is not a valid Ghana mobile number, or doesn't match the provider you supplied. |
wallet_verification_failed | Orange Pay could not resolve the wallet (number not registered, network unreachable, etc.). |
bank_verification_failed | The bank could not resolve the account number (wrong bank code, account doesn't exist, etc.). |
validation_error | Request body failed schema validation. |