CAC API Overview
The CAC (Corporate Affairs Commission) API allows you to verify business registration details directly from the official CAC database. With LumiID’s API, you can easily confirm the legitimacy of registered businesses in Nigeria by providing their RC number.
Authentication
Every CAC API request must be authenticated using your unique Bearer Token. Include it in the request header as shown below:
Authorization: Bearer YOUR_API_KEY
Endpoints
1. Basic CAC Lookup
The Basic CAC endpoint returns essential business details such as name, RC number, status, and registration date.
POST /api/v1/ng/cac-basic/
Headers:
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
Request Body:
{
"rc_number": "1234567"
}
Sample Response:
{
'status': 'success',
'statusCode': 200,
'message': 'CAC verification successful',
'data': {
'state': '',
'headOfficeAddress': 'Oxford Street, Abeere',
'status': 'ACTIVE',
'city': '',
'companyEmail': 'john.doe@gmail.com',
'rcNumber': '200002',
'classification': 'Business',
'branchAddress': '',
'registrationDate': '2022-08-04T15:05:12.383+00:00',
'companyName': 'DYNAMITE EVENTS SERVICES',
'lga': '',
'companyType': '',
'affiliates': 2,
'shareCapital': 0,
'shareCapitalInWords': '',
'natureOfBusiness': ''
}
}
2. Premium CAC Lookup
The Premium CAC endpoint provides detailed company data including directors, company address, email, and business type.
POST /api/v1/ng/cac-premium/
Headers:
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
Request Body:
{
"rc_number": "1234567"
}
Sample Response:
{
'status': 'success',
'statusCode': 200,
'message': 'CAC verification successful',
'data': {
'state': '',
'headOfficeAddress': 'Oxford Street, Abeere',
'status': 'ACTIVE',
'city': '',
'companyEmail': 'john.doe@gmail.com',
'rcNumber': '200002',
'classification': 'Business',
'branchAddress': '',
'registrationDate': '2022-08-04T15:05:12.383+00:00',
'companyName': 'DYNAMITE EVENTS SERVICES',
'lga': '',
'companyType': '',
'affiliates': 2,
'shareCapital': 0,
'shareCapitalInWords': '',
'natureOfBusiness': ''
}
}
Error Responses
Errors may occur due to invalid RC numbers, expired API tokens, or missing parameters. Below is a sample error response:
{
"status": "error",
"message": "Invalid RC Number or data not found."
}
Example Integration
Python Example
import requests
url = "https://lumiid.com/api/v1/ng/cac-basic"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
}
payload = {
"rc_number": "1234567"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
JavaScript Example
fetch("https://lumiid.com/api/v1/ng/cac-basic", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
rc_number: "1234567"
})
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
Common Error Codes
- 400: Missing or invalid rc field
- 401: Invalid or expired API key
- 404: Record not found
- 500: Internal server error (retry later)
Important Notes
- All data is retrieved directly from the Corporate Affairs Commission (CAC) database.
- Use HTTPS endpoints only — requests over HTTP will be rejected.
- Each request consumes one credit from your LumiID wallet.
- Ensure you handle user data responsibly and comply with NDPR regulations.