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
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.
From identifier to verified, in four steps
Collect the identifier
Ask the customer for their BVN, NIN or CAC number. The API accepts any of the three.
POST to verify
Send the identifier and any matching details (name, date of birth) to the API.
API checks the database
The identifier is verified against NIBSS, NIMC or CAC. The response includes a match status and the official record details.
Act on the result
If the details match, proceed with onboarding. If they do not, flag for review. The result is recorded for audit.
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
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
Verification
BVN check
Collect BVN
Match name + DOB
Check phone
Return photo
Account created
Identity verified · Account ready
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
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.
Every platform verifies differently
The identifier, the use case and the compliance requirement change by product. Pick the closest fit.
Fintech platforms
Verify identity before opening an account, issuing a card or disbursing a loan.
Lending platforms
Verify borrower identity before disbursement, with the result recorded for regulatory compliance.
Marketplaces
Verify each seller before onboarding, with CAC verification for business accounts.
Logistics platforms
Verify driver identity before issuing cards or disbursing payments.
Cooperatives and associations
Verify member identity before issuing accounts or processing contributions.
Identity verification
See how Niimbu compares with manual document review and bank-portal checks.

Verifying a customer should take seconds, not days.
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
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.
More from Embed
Build on the same rails your customers already trust. Each API shares accounts, ledgers and verification.
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.