Skip to content

Financial institutions and states

Three read-only lists: every financial institution NIBSS knows, the subset that are deposit money banks, and the Nigerian states. You need the first two for destinationBankCode on an interbank transfer and for rendering beneficiaryBank and senderBank from webhooks; the third for address fields when you onboard an agent or merchant.

None of these routes has a scope rule. Any valid bearer token opens them. They are not legacy-shaped: each answers HTTP 200 with a bare JSON array, not a { code, desc } envelope, and a failure comes back as a real HTTP status with the standard error body. There are no query parameters and no pagination; cache the result and refresh it daily.

GET/api/legacy/common/institutions

Every active institution, ordered by name: commercial banks, microfinance banks, mobile money operators, payment service banks and the rest. Around five hundred rows.

Terminal window
curl https://api.bankcore.ng/api/legacy/common/institutions \
-H "Authorization: Bearer $TOKEN"
Field Description
nibssCode The 6-digit NIBSS institution code. This is the value to send as destinationBankCode, and the value you receive as beneficiaryBank and senderBank on webhooks and statements. Unique.
name, shortName Display name and abbreviation. shortName may be null for institutions added by hand.
cbnCode The 3-digit CBN code, where one exists. Transfers also accept it as destinationBankCode; BankCore canonicalises to the NIBSS code on the way through. Null for many non-bank institutions.
category NIBSS institution category as the raw number NIBSS publishes. See the table below. Null for institutions added outside the NIBSS load.
active Always true in this list; inactive institutions are not returned.
lastSyncedAt When the row was last refreshed from the NIBSS list.
id, createdAt, updatedAt, version Record housekeeping. Not meaningful to you.
category Kind
2 Commercial bank (deposit money bank)
3 Development bank
5 Finance company
6 Merchant bank
7 Mortgage bank
9 Microfinance bank
10 Mobile money operator
11 Other payment service provider
12 Payment service bank

Codes 1, 4 and 8 are absent from the NIBSS edition loaded; the list is numbered by NIBSS and may grow, so treat unknown values as “other”.

GET/api/legacy/common/institutions/bank

The same shape, filtered to category 2: the commercial banks, around thirty rows. Use it when a picker of five hundred entries would bury the bank your customer is looking for. A beneficiary at a microfinance bank or a mobile money operator is still reachable by NIP; use the full list for that.

Terminal window
curl https://api.bankcore.ng/api/legacy/common/institutions/bank \
-H "Authorization: Bearer $TOKEN"
GET/api/legacy/common/states

Active Nigerian states ordered by name. Use the name as state when onboarding an agent or merchant.

Terminal window
curl https://api.bankcore.ng/api/legacy/common/states \
-H "Authorization: Bearer $TOKEN"
Field Description
id Integer id. Stable, but send the name on forms, not the id.
countryCode Always NG.
name State name as it should be stored on a customer.
code Short code, may be null.
isActive Always true in this list.

The portal has no reference-data page; bank names are rendered from these lists on the Transfers and Payments received pages.