What will you build with Okra?

Find out what you can build with Okra’s API through our documentation, SDKs and sample use cases.

Quickstart Guides

Learn more about Okra and integrate with your web or mobile app through our libraries & SDKs.

Get Started
UI frame

API Documentation

The Okra documentation is your guide for all things development.

Read the documentation
UI frame

Okra Apps

A no-code option to integrate and customise Okra with your apps.

Link with Okra Widget
UI frame


The Most Complete KYC/B (Know Your Customer or Business) Profile.

Identity verification is vital when authenticating a user. We combine identity validation with ownership to reduce risk and fraud. Without the ability to digitally validate an end-user’s identity in real-time, consumers may be forced to manually upload and email sensitive information or even worse, submit a paper application.


Need to verify customers against their biometric data?

Significantly reduce the possibility of fraud by confirming the person using your product is the account owner at the validated bank. Try Selfie Verification now.

These methods are less secure and less efficient than Okra’s automated and real-time alternative. Any user with online or mobile banking can validate ownership of their financial data, allowing you to safely unlock your services. Once a user connects, we can automatically retrieve BVN, biometric photo, and a full KYC profile — you’ll never ask for BVN again.

Read more about Identity @ get.okra.ng/identity-deck


Okra Identity product helps you verify users' identities by accessing information on file with their financial institution and retrieve a full KYC profile for an individual or corporate entity (including directors) across all banks in Nigeria. Using Identity, you can access a user's phone number, email address, mailing address, many more. This can be used for prefilling account information, as well as for verifying with a trusted source that information they provided about themselves is correct. Fraud reduction and complementing of Know Your Customer (KYC) compliance are common applications for Identity.

Use OkraJS to instantly authenticate your customer's account and retrieve a full identity profile in real-time:

  • Validated BVN or RC Number
  • Validated Company Registration and Tax Details (corporate entities only)
  • BVN Identity Photo
  • DTI (Debt-to-Income score)
  • Mother’s Maiden Name*
  • Full Name or Company Name
  • Alias(es)
  • Gender*
  • Date of Birth
  • Email Address(es)
  • Addresses
  • Phone number(s)
  • Photo ID(s)*

Depending on the use case of your product, you may want to retrieve a full KYC profile from their bank, verify the identity of all users, or only some. For example, you might want to verify the identity of any user on your platform requesting a loan, or you might only validate users who you have identified as being underaged, supposing your platform require adults.

Sample Identity Data

Identity data includes names, addresses, email address, and phone numbers. Here's a sample data of an identity response.

    "status": "success",
    "message": "Identity retrieved succesfully",
    "data": {
        "pagination": {
            "totalDocs": 1,
            "limit": 20,
            "hasPrevPage": false,
            "hasNextPage": false,
            "page": 1,
            "totalPages": 1,
            "pagingCounter": 1,
            "prevPage": null,
            "nextPage": null
        "identity": [
                "_id": "604ba2ea247435813de02e2e",
                "aliases": [
                "phone": [
                "email": ["[email protected]"],
                "verified": true,
                "next_of_kins": [
                    "Peace Ebuka"
                "address": [
                    "10, Western Road"
                "owner": [
                        "_id": "604ba2ea247435813de02e2e",
                        "name": "Silicon Valley Inc"
                "record": null,
                "bvn": "22123456789",
                "firstname": "Emeka",
                "lastname": "Tayo",
                "fullname": "Sulaimon",
                "dob": 02/12/2001,
                "gender": "single":,
                "marital_status": "single",
                "customer": {
                    "_id": "604ba2ea247435813de02e2e",
                    "name": "Jola Chinedu Mohammed"
                "env": "production",
                "photo_id": [
                        "_id": "",
                        "url": "",
                        "image_type": "png",
                        "bank": "Plaris Bank"
                "created_at": "2020-04-13T01:28:09.899Z",
                "last_updated": "2020-09-15T10:44:21.645Z",
                "__v": 2,
                "middlename": "Titus",
                "score": "40",
                "smileId": true,
                "enrollment": {
                    "bank": "",
                    "branch": "",
                    "registration_date": ""
                "level_of_account": "",
                "lga_of_origin": "",
                "lga_of_residence": "",
                "nationality": "Nigeria",
                "state_of_origin": "",
                "state_of_residence": "",
                "watch_listed": "",
                "rc_number": "923376",
                "bvn_updated": true,
                "ref_ids": [],
                "smile_identity": {
                    "result_code": "",
                    "message": "",
                    "updatedFrom": "",
                    "updatedAt": "2020-09-10T01:54:29.994Z"
                "employer": [],
                "id": "PKO003"

Data Identity Matching

The /identity/getById endpoint provides you with several pieces of information. While email address, phone number, and address are usually available, only name is guaranteed to be available..


Identity is guaranteed to return name data, making name matching a reliable way to verify identity. In some cases, slight differences can appear between data returned by Identity and data provided by legitimate users. For example, a user might omit their middle name in your application, or provide a shortened version of their legal name. There are several techniques you can implement to reduce the chance of these mismatches, including substring matching, string cleaning to remove data such as initials and suffixes, or applying a fuzzy matching algorithm, for which many open-source implementations are available.

Email address and phone number

Matching email addresses can be done straightforwardly. You can also match a phone number after transforming it to the same format as the phone number that you have obtained from your user.

Updated 2 days ago

What's Next

View the Identity Schema or start playing around with the endpoints. Or process an identity without connecting a customer via the widget.

Identity Schema
Identity Endpoints
NUBAN Identity Verification
RC/TIN Verification


The Most Complete KYC/B (Know Your Customer or Business) Profile.

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.