Skip to content

Business & payments

KYB against the CAC business registry

Check companies, business names and incorporated trustees by RC, BN or IT number or TIN: status, type, directors, shareholders and winding-up records.

What it does

Business Verification, in detail.

RC, BN, IT or TIN

company_type is inferred from the RC prefix, so you rarely send it, and every lookup returns one company object.

Choose your depth

Request directors, shareholders, share capital, status report or winding-up details with include[].

Status you can act on

ACTIVE, INACTIVE, STRUCK OFF or WOUND UP, with an active boolean; match is false for any inactive company.

Scored name matching

name_match and a 0–100 name_match_confidence, ignoring case, punctuation and suffixes such as Ltd and PLC.

How it works

From request to decision.

  1. 1

    Identify the company

    Collect exactly one of the RC, BN or IT number, or the TIN.

  2. 2

    POST /v1/verify/business

    Choose sections with include[] and pass the name to match.

  3. 3

    Review in the dashboard

    Directors and shareholders are stored against the reference for your compliance file.

Routing and providers

Company records come from the Corporate Affairs Commission register through NIBSS Combined Identity Validation (CIV).

Use it

One request. One normalized response.

Call POST /v1/verify/business through @speedmap/node, speedmap for Python, or the verify_business tool in Speedmap Connect.

Request
curl -X POST http://localhost:4000/v1/verify/business \
  -H "Authorization: Bearer sk_test_..." \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "rc_number": "RC1234567",
  "include": [
    "directors",
    "shareholders",
    "status_report"
  ],
  "match": {
    "company_name": "Speedily Services Limited"
  }
}'
Response · 200 OK
{
  "reference_id": "spm_aa7982b93170000491c3ab12",
  "object": "verification",
  "product": "business",
  "method": "cac_rc",
  "status": "verified",
  "match": true,
  "mode": "sandbox",
  "subject": null,
  "summary": {
    "company_name": "SPEEDILY SERVICES LIMITED",
    "rc_number": "RC1234567",
    "status": "ACTIVE",
    "active": true,
    "type": "Private Company Limited by Shares",
    "registered_at": "2016-05-12",
    "state": "FCT",
    "name_match": true,
    "name_match_confidence": 100
  },
  "consent": {
    "mechanism": "public_registry",
    "consent_id": null
  }
}

Use cases

Where Nigerian teams use it.

Marketplace seller KYB

Verify sellers before their first payout and re-check the register before raising limits.

Corporate lending

Confirm a borrower is active and run by the directors on the application.

Merchant onboarding

Check the settlement account name against the registered name at signup.

Supplier due diligence

Check vendors and their shareholders before contracts are signed.

Part of:Payments & payoutsMarketplaces

What you get back

The fields you will read.

  • summary.company_name / rc_number

    Meaning
    As registered
  • summary.status / active

    Meaning
    ACTIVE, INACTIVE, STRUCK OFF or WOUND UP, with a boolean
  • summary.type / registered_at / state

    Meaning
    Company type (for example Private Company Limited by Shares or Business Name), registration date and state
  • summary.name_match / name_match_confidence

    Meaning
    Whether the name you supplied matches the register, with a 0–100 score (null when you sent none)
  • match

    Meaning
    true when the company is active and the name, if supplied, matches

Assertion tier

Registration facts only: name, number, status, type, registration date, state and name_match.

Full tier

Adds data: the directors, shareholders, share capital, status report and winding-up records you asked for.

Pricing

Billed per live check on the Scale up plan. Failed calls and idempotent retries are never billed.

FAQ

Business Verification questions.

Need more detail? Read the documentation or talk to our team.

Do business lookups need consent?
No. The CAC register is a public registry, and Speedmap records the lawful basis on every check.
Can I verify business names (BN) as well as companies (RC)?
Yes. Send the BN number in rc_number.
Can I search by company name?
No. Lookups need an RC, BN or IT number, or a TIN.

Start verifying in minutes. Go live when you’re ready.

Create your account in under a minute and explore the full dashboard. We switch your workspace live after a short compliance review.