Commercial Registration
Lean’s Business Verification product enables you to verify that a business is legitimate and retrieve structured data that supports your KYB (Know Your Business) compliance, onboarding, risk, and fraud workflows. The API is designed to return authoritative registry data that can be consumed programmatically or reviewed manually by compliance teams, supporting compliance with SAMA’s due-diligence standards.
The Commercial Registration (CR) is the "Digital Identity Card" for Saudi businesses. The CR verification API allows you to retrieve all commercial registration data associated with the CR provided.
Use Cases
| Use Case | Capability | What You Can Validate |
|---|---|---|
| Onboarding & Account Opening | Faster onboarding & KYB review time, accelerating Merchant Acquisition | Ensure a company is real, active, and compliant while cutting review time from hours to seconds. |
| KYB Compliance | Automated Verification | Meet regulatory standards with less manual work via automated, authoritative data checks. |
| Ownership & Control | UBO Identification | Verify the management structure of any registered business. |
| Fraud & Risk Assessment | SAMA Regulation Support | Reduce fraud and ensure compliance with SAMA regulations by verifying business legitimacy. |
Retrieving Commercial Registration Data
We offer two verification types, Full (returning all commercial registration data) and Basic (returning a subset of this data). For both Full and Basic checks you will need the Unified National Number (UNN) to make the request on the API;
| Feature Group | Full | Basic |
|---|---|---|
| Company Registration | ✓ | ✓ |
| Business Details | ✓ | ✓ |
| Nature of Business | ✓ | ✓ |
| Branches | ✓ | — |
| Relationships | ✓ | — |
| Managers | ✓ | — |
| Ownership & Partners | ✓ | — |
| Capital Structure | ✓ | — |
| E-Commerce Presence | ✓ | — |
| Licensing Information | ✓ | — |
| Fiscal Year Structure | ✓ | — |
| Company Status History | ✓ | — |
| Contact Information | ✓ | — |
| Liquidators | ✓ | — |
To retrieve either the full or basic CR data you will need to use the relevant API and type as detailed below:
| Dataset | Endpoint | Retrieval Method |
|---|---|---|
| Full CR Verification | Business Verification API | Requested via type = FULL |
| Basic CR Verification | Business Verification API | Requested via type = BASIC |
Data Coverage
To request the full company information you will need to provide the Unified National Number (UNN), also known as the CR National Number.
The table below details all of the data points that will be returned within this data set. The mandatory fields indicate this data will always be returned, otherwise considered optional fields.
| Category | Field Path | Description | Mandatory |
|---|---|---|---|
| Company Core Information | crNationalNumber | Commercial Registry National Number | |
| Company Core Information | crNumber | Commercial Registry Number | |
| Company Core Information | versionNo | Commercial Registry Version Number | |
| Company Core Information | name | Full Entity Name | |
| Company Core Information | nameLangId | Entity Name Language ID | Y |
| Company Core Information | nameLangDesc | Entity Name Language Description | Y |
| Company Core Information | crCapital | Capital | Y |
| Company Core Information | companyDuration | Company Duration | |
| Company Core Information | isMain | Is Main Commercial Registry | Y |
| Company Core Information | issueDateGregorian | Commercial Registry Issue Date (Gregorian) | Y |
| Company Core Information | issueDateHijri | Commercial Registry Issue Date (Hijri) | Y |
| Company Core Information | mainCrNationalNumber | Main Commercial Registry National Number | |
| Company Core Information | mainCrNumber | Main Commercial Registry Number | |
| Company Core Information | inLiquidationProcess | In Liquidation Process | |
| Company Core Information | hasEcommerce | Has E-Commerce | Y |
| Company Core Information | headquarterCityId | Headquarter City ID | |
| Company Core Information | headquarterCityName | Headquarter City Name | |
| Company Core Information | isLicenseBased | Is License Based | Y |
| Company Core Information | licenseIssuerNationalNumber | License Issuer National Number | |
| Company Core Information | licenseIssuerName | License Issuer Name | |
| Company Core Information | partnersNationalityId | Partners Nationality ID | |
| Company Core Information | PartnersNationalityName | Partners Nationality Name | |
| Entity Type | entityType.id | Entity Type ID | Y |
| Entity Type | entityType.name | Entity Type Name | Y |
| Entity Type | entityType.formId | Legal Form ID | |
| Entity Type | entityType.formName | Legal Form Name | |
| Entity Type | entity.Type.characters.id | - | Y |
| Entity Type | entity.Type.characters.name | - | Y |
| Status | status.id | Status ID | Y |
| Status | status.name | Status Name | Y |
| Status | status.confirmationDate.gregorian | Confirmation Date [Gregorian] | Y |
| Status | status.confirmationDate.hijri | Confirmation Date [Hijri] | Y |
| Status | status.reactivationDate.gregorian | Reactivation Date [Gregorian] | Y |
| Status | status.reactivationDate.hijri | Reactivation Date [Hijri] | Y |
| Status | status.suspensionDate.gregorian | Suspension Date [Gregorian] | Y |
| Status | status.suspensionDate.hijri | Suspension Date [Hijri] | Y |
| Status | status.deletionDate.gregorian | Deletion Date [Gregorian] | Y |
| Status | status.deletionDate.hijri | Deletion Date [Hijri] | Y |
| Contact Info | contactInfo | Contact Info | |
| Contact Info | contactInfo.phoneNo | Phone Number | |
| Contact Info | contactInfo.mobileNo | Mobile Number | |
| Contact Info | contactInfo.email | ||
| Contact Info | contactInfo.websiteUrl | Website | |
| E-Commerce | eCommerce | E-Commerce Details | |
| E-Commerce | eCommerce.eStore.authenticationPlatformUrl | E-Commerce CR National Number | |
| E-Commerce | eCommerce.eStore.storeUrl | Primary Store URL | |
| E-Commerce | eCommerce.eStore.storeActivities.id | Activity ID | |
| E-Commerce | eCommerce.eStore.storeActivities.name | Activity Name | |
| Capital | capital.currencyId | Currency ID | Y |
| Capital | capital.currencyName | Currency Name | Y |
| Capital | capital.contributionCapital | Contribution Capital | |
| Capital | capital.contributionCapital.typeId | Contribution Type ID | Y |
| Capital | capital.contributionCapital.typeName | Contribution Type Name - اسم نوع المساهمة | Y |
| Capital | capital.contributionCapital.cashCapital | Cash Capital | |
| Capital | capital.contributionCapital.inKindCapital | In-kind Capital | |
| Capital | capital.contributionCapital.contributionValue | Contribution Value | Y |
| Capital | capital.contributionCapital.totalCashContribution | Total Cash Contribution | Y |
| Capital | capital.contributionCapital.totalInKindContribution | Total In-kind Contribution | Y |
| Capital | capital.stockCapital.typeId | Stock Capital Type ID | Y |
| Capital | capital.stockCapital.typeName | Stock Capital Type Name | Y |
| Capital | capital.stockCapital.cashCapital | Cash Stock Capital | |
| Capital | capital.stockCapital.inKindCapital | In-kind Stock Capital | |
| Capital | capital.stockCapital.capital | Total Stock Capital | Y |
| Capital | capital.stockCapital.announcedCapital | Announced Capital | |
| Capital | capital.stockCapital.paidCapital | Paid Capital | Y |
| Capital | capital.stockCapital.stocks[].typeId | Stock Type ID | Y |
| Capital | capital.stockCapital.stocks[].typeName | Stock Type Name | Y |
| Capital | capital.stockCapital.stocks[].count | Stock Count | Y |
| Capital | capital.stockCapital.stocks[].value | Stock Value | Y |
| Capital | capital.stockCapital.stocks[].classReferenceID | Stock Class Reference ID | Y |
| Capital | capital.stockCapital.stocks[].className | Stock Class Name | Y |
| Fiscal Year | fiscalYear | Fiscal Year | |
| Fiscal Year | fiscalYear.isFirst | Is First Fiscal Year | Y |
| Fiscal Year | fiscalYear.calendarTypeId | Calendar Type ID | Y |
| Fiscal Year | fiscalYear.calendarTypeName | Calendar Type Name | Y |
| Fiscal Year | fiscalYear.endMonth | Fiscal Year End Month | |
| Fiscal Year | fiscalYear.endDay | Fiscal Year End Day | |
| Fiscal Year | fiscalYear.endYear | Fiscal Year End Year | |
| Parties | parties[].name | Party Name | Y |
| Parties | parties[].typeId | Party Type ID | |
| Parties | parties[].typeName | Party Type Name | |
| Parties | parties[].identity.id | Identity Number | Y |
| Parties | parties[].identity.typeId | Identity Type ID - رمز نوع الهوية | Y |
| Parties | parties[].identity.typeName | Identity Type Name | Y |
| Parties | parties[].partnership[].id | Partnership Role ID | Y |
| Parties | parties[].partnership[].name | Partnership Role Name | Y |
| Parties | parties[].partnerShare | Partner Share | |
| Parties | parties[].partnerShare.cashContributionCount | Cash Contribution Count | |
| Parties | parties[].partnerShare.inKindContributionCount | In-kind Contribution Count | |
| Parties | parties[].partnerShare.totalContributionCount | Total Contribution Count | |
| Parties | parties[].nationality | Nationality | |
| Parties | parties[].nationality.id | Nationality ID | Y |
| Parties | parties[].nationality.name | Nationality Name | Y |
| Parties | parties[].crNumber | Party CR Number | |
| Parties | parties[].licenseNo | Party License Number | |
| Management | management.structureId | Management Structure ID | Y |
| Management | management.structureName | Management Structure Name | Y |
| Management | management.managers[].name | Manager Name | Y |
| Management | management.managers[].typeId | Manager Type ID | Y |
| Management | management.managers[].typeName | Manager Type Name | Y |
| Management | management.managers[].isLicensed | Is Licensed | Y |
| Management | management.managers[].identity | Manager Identity | Y |
| Management | management.managers[].identity.id | Manager Identity Number | Y |
| Management | management.managers[].identity.typeId | Manager Identity Type ID | Y |
| Management | management.managers[].identity.typeName | Manager Identity Type Name | Y |
| Management | management.managers[].nationality | Manager Nationality | Y |
| Management | management.managers[].nationality.id | Manager Nationality ID | Y |
| Management | management.managers[].nationality.name | Manager Nationality Name | Y |
| Management | management.managers[].positions[].id | Position ID | Y |
| Management | management.managers[].positions[].name | Position Name | Y |
| Liquidators | liquidators[].name | Liquidator Name | Y |
| Liquidators | liquidators[].typeId | Liquidator ID | Y |
| Liquidators | liquidators[].identity.id | Liquidator Identity Number | Y |
| Liquidators | liquidators[].identity.typeId | Liquidator Identity Type ID | Y |
| Liquidators | liquidators[].identity.typeName | Liquidator Identity Type Name | Y |
| Liquidators | liquidators[].nationality.id | Liquidator Nationality ID | Y |
| Liquidators | liquidators[].nationality.typeName | Liquidator Identity Type Name | Y |
| Liquidators | liquidators[].positions | Liquidator Position List | |
| Activities | activities | Activity List | |
| Activities | activities[].id | Activity ID | Y |
| Activities | activities[].name | Activity Description | Y |
Example response for Full Verification
Requested with Unified National Number (UNN) and request type set to ‘Full’
{
"status": "OK",
"results_id": "0f79abdf-fa89-93a3-8b9c-40a3b6dc2b3a",
"message": "Data successfully retrieved",
"timestamp": "2024-10-24T15:37:35.254Z",
"meta": null,
"status_detail": null,
"verifications": {
"commercial_registry": {
"national_number": "7001272184",
"registration_number": "1010711252",
"version_number": 1
},
"company_name": {
"ar": "شركة اختبار للتجارة",
"en": null
},
"name_language": {
"id": 1,
"description": {
"ar": "العربية",
"en": null
}
},
"commercial_registration_capital": 150000,
"days_since_company_established": 99,
"main_commercial_registry": {
"is_main": false,
"national_number": null,
"registration_number": null
},
"issue_date": {
"gregorian": "2002-10-05",
"hijri": "1423-07-28"
},
"in_liquidation_process": false,
"has_ecommerce": true,
"headquarters": {
"city_id": 1,
"city_name": {
"ar": "الرياض",
"en": null
}
},
"license": {
"is_license_based": false,
"issuer_national_number": "123456789",
"issuer_name": {
"ar": "xx",
"en": null
}
},
"partners": {
"nationality": {
"ar": "السعودية",
"en": null
}
},
"entity_type": {
"name": {
"ar": "شركة ذات مسؤولية محدودة",
"en": null
},
"form_name": {
"ar": "ذات مسؤولية محدودة",
"en": null
},
"characters": [
{
"ar": "غير ربحية خاصة",
"en": null
}
]
},
"status": {
"ar": "فعال",
"en": null
},
"confirmation_date": {
"gregorian": "2003-10-05",
"hijri": "1424-07-28"
},
"reactivation_date": {
"gregorian": "2023-03-10",
"hijri": "1444-08-18"
},
"suspension_date": {
"gregorian": "2022-12-05",
"hijri": "1444-04-11"
},
"deletion_date": {
"gregorian": "2024-07-20",
"hijri": "1445-01-13"
},
"contact_info": {
"phone_number": "011256398",
"mobile_number": "050111101",
"email": "[email protected]",
"website_url": "www.google.com"
},
"e_commerce": {
"e_store": [
{
"authentication_platform_url": "www.google.com",
"store_url": "www.google.com",
"store_activities": [
{
"ar": "صناعة زبدة المكسرات",
"en": null
}
]
}
]
},
"capital_information": {
"currency": {
"ar": "ريال سعودي",
"en": null
},
"contribution_capital": {
"type": {
"ar": "نقدي و عيني",
"en": null
},
"cash_capital": 75000,
"in_kind_capital": 75000,
"contribution_value": 100,
"total_cash_contribution": 750,
"total_in_kind_contribution": 750
},
"stock_capital": {
"type": {
"ar": "xx",
"en": null
},
"capital": 12000,
"announced_capital": 1244,
"paid_capital": 12333,
"cash_capital": 1111,
"in_kind_capital": 111,
"stocks": [
{
"count": 11,
"value": 12,
"type": {
"ar": "xx",
"en": null
},
"class_reference_id": 1,
"class_name": {
"ar": "xx",
"en": null
}
}
]
}
},
"fiscal_year": {
"is_first": true,
"calendar_type": {
"ar": "ميلادي",
"en": null
},
"end_month": 12,
"end_day": 30,
"end_year": null
},
"parties": [
{
"name": {
"ar": "السيد عبدالعزيز احمد خالد الثنيان",
"en": null
},
"type": {
"ar": "جمعية خيرية/ مؤسسة أهلية",
"en": null
},
"identity": {
"id": "1234567890",
"type": {
"ar": "هوية وطنية",
"en": null
}
},
"partnership": [
{
"ar": "عضو",
"en": null
}
],
"partner_share": {
"cash_contribution_count": 250,
"in_kind_contribution_count": 250,
"total_contribution_count": 500
},
"nationality": null,
"license_number": null,
"commercial_registration_number": null
}
],
"management": {
"structure_name": {
"ar": "مجلس مديرين",
"en": null
},
"managers": [
{
"name": {
"ar": "السيد عبدالعزيز احمد خالد الثنيان",
"en": null
},
"type": {
"ar": "سعودي",
"en": null
},
"is_licensed": true,
"identity": {
"id": "1234567890",
"type": {
"ar": "هوية وطنية",
"en": null
}
},
"nationality": {
"ar": "سعودي",
"en": null
},
"positions": [
{
"ar": "عضو",
"en": null
}
]
}
]
},
"liquidators": [
{
"name": {
"ar": "عبدالله سالم هليل الشمري",
"en": null
},
"type": {
"ar": "فرد سعودي",
"en": null
},
"identity": {
"id": "2345678901",
"type": {
"ar": "هوية وطنية",
"en": null
}
},
"nationality": {
"ar": "سعودي",
"en": null
},
"positions": [
{
"ar": "عضو",
"en": null
}
]
}
],
"activities": [
{
"ar": "أنشطة أخرى خاصة بصناعة نشر الأخشاب",
"en": null
},
{
"ar": "صناعة السلالم والدرابزينات",
"en": null
}
]
}
}Examples response for Basic Verification
Requested with Unified National Number (UNN) and request type set to ‘Basic’
{
"status": "OK",
"results_id": "0f79abdf-fa89-93a3-8b9c-40a3b6dc2b3a",
"message": "Data successfully retrieved",
"timestamp": "2024-10-24T15:37:35.254Z",
"meta": null,
"status_detail": null,
"verifications": {
"commercial_registry": {
"national_number": "7001272475",
"registration_number": "1010711252",
"version_number": 1
},
"company_name": {
"ar": "شركة اختبار للتجارة",
"en": null
},
"name_language": {
"id": 1,
"description": {
"ar": "العربية",
"en": null
}
},
"main_commercial_registry": {
"is_main": false,
"national_number": null,
"registration_number": null
},
"issue_date": {
"gregorian": "2002-10-05",
"hijri": "1423-07-28"
},
"in_liquidation_process": false,
"has_ecommerce": true,
"headquarters": {
"city_id": 1,
"city_name": {
"ar": "الرياض",
"en": null
}
},
"license": {
"is_license_based": false
},
"entity_type": {
"name": {
"ar": "شركة ذات مسؤولية محدودة",
"en": null
},
"form_name": {
"ar": "ذات مسؤولية محدودة",
"en": null
},
"characters": [
{
"ar": "غير ربحية خاصة",
"en": null
}
]
},
"status": {
"ar": "فعال",
"en": null
},
"activities": [
{
"ar": "أنشطة أخرى خاصة بصناعة نشر الأخشاب",
"en": null
},
{
"ar": "صناعة السلالم والدرابزينات",
"en": null
}
]
}
}Testing the API
To test the Business Verification API you can use the below mocked data and responses they will return. You will need to set the verification type in the request to either 'Full' or 'Basic';
| Verification Type | Unified National Number |
|---|---|
| Full | 7001272184 |
| Basic | 7001272184 |
Updated 9 days ago
