Identity & KYC

Verify a customer in under a second

BVN, NIN and CAC verification against official databases. Name, date of birth, phone and photo returned in real time. One API call, one integration, every check.

  • Under 300ms
  • BVN, NIN and CAC
  • Sandbox to test

Free to start · No monthly fee · Pay per verification

API

POST /v1/verify/bvn

Request

POST /v1/verify/bvn

{

"bvn": "22345678901",

"name": "Adaeze Nwosu",

"dob": "1992-05-14"

}

Response

{

"status": "verified",

"data": {

"bvn": "22345678901",

"name_match": true,

"dob_match": true,

"phone": "080****1234",

"photo": "https://..."

}

}

BVN verified against NIBSS · Name + DOB matched

200 OK · 310ms

Why it matters

Onboarding should not stall on verification

Most platforms verify identity by asking customers to upload documents, then have a team member review them manually. That takes hours or days, and the customer waits.

Verified against official databases

BVN is verified against NIBSS, NIN against NIMC, CAC against the Corporate Affairs Commission. The response tells you whether the name, date of birth and other details match the official record.

Under a second

A BVN check returns in under 300 milliseconds. A CAC check returns in under a second. The customer never waits, and your onboarding flow never stalls.

Photo and details returned

The API returns the name, date of birth, phone number and photo associated with the BVN or NIN. You can display the photo for visual confirmation without leaving your product.

How it works

From identifier to verified, in four steps

01

Collect the identifier

Ask the customer for their BVN, NIN or CAC number. The API accepts any of the three.

02

POST to verify

Send the identifier and any matching details (name, date of birth) to the API.

03

API checks the database

The identifier is verified against NIBSS, NIMC or CAC. The response includes a match status and the official record details.

04

Act on the result

If the details match, proceed with onboarding. If they do not, flag for review. The result is recorded for audit.

BVN verification

Confirm the person is who they say they are

A BVN check verifies the name, date of birth and phone number against NIBSS records. If all three match, the customer is verified. If any do not, the API tells you which one failed.

  • Name, DOB and phone match against NIBSS
  • Photo returned for visual confirmation
  • Under 300 milliseconds

API

POST /v1/verify/bvn

Request

POST /v1/verify/bvn

{

"bvn": "22345678901",

"name": "Adaeze Nwosu",

"dob": "1992-05-14"

}

Response

{

"status": "verified",

"data": {

"bvn": "22345678901",

"name_match": true,

"dob_match": true,

"phone": "080****1234",

"photo": "https://..."

}

}

BVN verified against NIBSS · Name + DOB matched

200 OK · 310ms

Verification flow

One integration for every check

BVN, NIN and CAC use the same API pattern. Collect the identifier, POST to verify, receive the result. The same webhook format, the same dashboard, the same audit trail.

  • Same API pattern for BVN, NIN and CAC
  • Consistent response format across all checks
  • One integration covers every verification type
See account issuing

Verification

BVN check

Collect BVN

Match name + DOB

Check phone

Return photo

Account created

Identity verified · Account ready

The difference

What changes when verification is real time

The usual way

  • Manually checking BVN on a bank portal
  • No way to verify identity programmatically
  • Customers uploading scanned documents for manual review
  • No audit trail of who was verified and when
  • Onboarding stalled by verification delays

With Niimbu

  • One API call verifies identity in real time
  • Name, DOB and photo confirmed against official databases
  • Instant verification, no manual review needed
  • Every verification recorded with timestamp and result
  • Onboarding never stalls on verification
Everything included

The verification detail that real onboarding needs

No add-on modules and no higher tier. These are part of identity verification from the first API call.

BVN verification

Verify Bank Verification Number against NIBSS records.

NIN verification

Verify National Identification Number against NIMC records.

CAC verification

Verify business registration against the Corporate Affairs Commission.

Name matching

Compare submitted name against the official record.

DOB matching

Compare submitted date of birth against the official record.

Photo retrieval

Retrieve the photo associated with a BVN or NIN.

Phone verification

Check if the phone number matches the BVN record.

Audit trail

Every verification attempt recorded with timestamp and result.

Sandbox

Test with known BVNs and NINs, no real verification charged.

Compliance officer reviewing verification results
The idea behind it

Verifying a customer should take seconds, not days.

Pricing

Per verification, not per customer

There is no monthly platform fee. You pay per verification attempt. Failed verifications cost the same as successful ones.

  • No monthly platform fee
  • Pay per attempt
  • Sandbox is free
See pricing
Questions

Frequently asked questions

If your question is not here, the Help Centre goes deeper, or you can talk to someone on the team.

What identifiers can I verify?

BVN (Bank Verification Number), NIN (National Identification Number) and CAC (Corporate Affairs Commission registration). Each is verified against its official database.

How long does verification take?

BVN and NIN verification typically return in under 300 milliseconds. CAC verification returns in under a second. All three are real-time.

What details does the response include?

For BVN and NIN: the official name, date of birth, phone number and photo. For CAC: the business name, registration number, status and directors.

What if the details do not match?

The API returns a match status for each field. If the name does not match, the response tells you. You can then decide whether to flag the customer for manual review.

Is there a sandbox?

Yes. The sandbox provides known BVNs, NINs and CAC numbers that return predictable results. You can build and test without performing real verifications.

Does every verification get recorded?

Yes. Every verification attempt — successful or failed — is recorded with the timestamp, the identifier, the submitted details and the result. This is available in the dashboard and via the API.

What does it cost?

There is no monthly platform fee. You pay per verification attempt. Failed verifications cost the same as successful ones, since the database is still queried.

The simpler way to scale your business!

Start free and see it working today, or talk to us about pricing for teams and higher volumes.