Business Verification

Required Class: ID Api Class or Business Verification Class

Running Business Verification on Python

  1. Get your Smile ID Partner ID

  2. Get your API Key (take note of the environment you are running the job in)

  3. Get the business information from your users

  4. Submit the Job to Smile ID

  5. Interpret your results

Get your Partner ID

You can find your Partner ID in the menu list when logged into the portal.

Get your API Key

Your api key is in the developer section of the portal.

  • Click on the Generate New API Key button

  • Copy your api key (ensure you are in the right environment)

Get the business information from your users

To submit a Business Verification KYC job you need the business information of your business. Depending on the id type you are attempting to query, the required information varies. For the comprehensive list of required information for each id type, check the page dedicated to each id type in the KYB Supported Countries section of the docs.

Submit the Job to Smile ID

You can copy the sample code below and edit it with your partner and job details.

const smileIdentityCore = require("smile-identity-core");
const IDApi = smileIdentityCore.IDApi;

// Initialize
// Login to the Smile ID Portal to view your partner id.
const partner_id = '<Your partner ID>';
// Copy your API key from the Smile Identity portal.
const api_key = '<Your API key>';
// Use '0' for the sandbox server, use '1' for the production server.
const sid_server = '<0 or 1>';

const connection = new IDApi(partner_id, api_key, sid_server);

// Create required tracking parameters
const partner_params = {
  job_id: '<put your unique job ID here>',
  user_id: '<put your unique ID for the user here>',
  job_type: 7,

// Set fields required by the ID authority for a verification job.
const id_info = {
  country: '<2-letter country code>',
  id_type: '<id type>',
  id_number: '<valid id number>',
  entered: true,
  business_type: '<valid business type>', // this is optional except when country is NG
  postal_address: '<valid postal address>', // this is optional, except when country is KE
  postal_code: '<valid postal address>', // this is optional, except when country is KE

// Submit the job. This method returns a promise.
(async () => {
  try {
    const result = await connection.submit_job(partner_params, id_info);;
  } catch (error) {

Example Response Body

Your response will return a JSON String containing the below:

  "SmileJobID": "0000020855",
  "PartnerParams": {
    "job_id": "job-40fcd3aa-68ad-4b03-84c3-3a59c7a4ebcd",
    "user_id": "user-f193ac26-0ff7-4f8a-a841-4a79cd7a311a",
    "job_type": 7
  "ResultText": "Business Verified",
  "ResultCode": "1012",
  "Actions": {
    "Return_Business_Info": "Returned",
    "Verify_Business": "Verified"
  "company_information": {
    "country": "Nigeria",
    "address": "22, Ojora Close, Victoria Island, Lagos",
    "registration_number": "0000000",
    "search_number": "0000000",
    "authorized_shared_capital": "10000000",
    "industry": "Technology Solutions Company",
    "tax_id": "N/A",
    "registration_date": "2016-01-28T16:06:22.003+00:00",
    "phone": "08000000000",
    "state": "LAGOS",
    "email": "",
    "status": "ACTIVE"

  "fiduciaries": [
      "name": "Company X",
      "fiduciary_type": "SECRETARY_COMPANY",
      "address": "22, Ojora Close, Victoria Island, Lagos",
      "registration_number": "000000",
      "status": "N/A"
  "proprietors": [],
  "documents": { "search_certificate": "" },
  "directors": [
      "shareholdings": "100000",
      "id_number": "A000000",
      "address": "22, Ojora Close, Victoria Island, Lagos",
      "occupation": "CEO",
      "gender": "MALE",
      "nationality": "Nigerian",
      "date_of_birth": "2000-09-20",
      "name": "Joe Doe Leo",
      "id_type": "Passport",
      "phone_number": "0123456789"

Interpret your Results

You can read more about result codes and responses in the Business Verification section of the docs.

Last updated