KYB Verification Required — Complete your KYB verification to unlock production access.
KYB Under Review — Your documents are being reviewed. You'll receive an email once approved.
KYB Rejected — Please correct the issues and resubmit.
Total Verifications
—
All time
This Month
—
Current month
Successful
—
Matches found
Credits Balance
—
Remaining
KYB Submissions
—
Total received
Under Review
—
Awaiting approval
Approved
—
Organizations activated
This Month
—
Current month
Threat Rate
—
Blocked / rate-limited traffic (30d)
Risk IP Count
—
Distinct IPs with security events
Rate Limit Hits
—
API + web throttles (30d)
Recent Activity
Latest verification requests
| Reference | Type | Input | Status | Date |
|---|
No verifications yet
Run your first NRC or business verification to see activity here.
Total Revenue
—
Active Organizations
—
Credits Sold
—
Outstanding Balance
—
Revenue by Organization
| Organization | Credits Purchased | Credits Used | Balance |
|---|
Total Verifications
—
New Users (30d)
—
Active Organizations
—
Conversion Rate
—
Growth Overview
Government Verification
Verify individuals and businesses against official Zambian government databases.
🇿🇲 Zambia NRC Verification
Verify National Registration Card numbers against the Zambian government registry.
Business Verification
ZambiaVerify Zambian businesses via PACRA registry (free) with paid fallback.
NHIMA Verification
Health insuranceLook up employee registration, beneficiaries, dependents, or employer status with NHIMA.
Mobile KYC
NRC LookupLook up a Zambian NRC number to find linked mobile subscribers, full profile details, and verification status via Vestemoney.
Coming soon
NAPSA Verification
Verify employee pension registration and contribution status with the National Pension Scheme Authority (NAPSA).
This integration is in development. ID and business verification are available today.
Recent Lookups
Bulk NRC Check
Upload a CSV of NRC numbers for background verification. Only successful lookups are charged.
Drop CSV here or click to browse
CSV with an NRC column · Max 5 MB · Up to 1,000 rows
Processing…
Batch paused — not enough credits to continue
Add credits to your wallet and processing will resume automatically.
Verified
0
Invalid
0
Remaining
0
Credits used
0.00
You can leave this page — progress is saved on the server.
Results so far
| NRC | First Name | Last Name | TPIN | Status |
|---|
Results
| NRC | First Name | Last Name | TPIN | Status |
|---|
Verification History
All verification requests and their results
| Reference | Type | NRC / Input | Status | Cost | Date |
|---|
User Management
All users across the system
| Name | Organization | Role | Status | Created | Actions |
|---|
Organization
—
User Type
—
Created
—
Last Updated
—
Email Verified
—
Password Reset
—
Access
You cannot change your own role here.
Add New User
Change Password
Total Staff
—
All members
Active
—
Currently active
Inactive
—
Deactivated
2FA Enabled
—
Secured accounts
Staff Members
Manage staff accounts, passwords and permissions
No staff members yet
Add your first staff member to get started.
| Member | Status | 2FA | Created By | Joined | Actions |
|---|
Add Staff Member
They'll receive an email with login credentials
Staff Member Created!
Save this temporary password — it won't be shown again.
Temporary Password
The staff member must change this password on their first login.
Staff Activity
—
Total
—
Today
—
This Week
Recent Verifications
Loading...
Delete Staff Member
This action cannot be undone. The staff member will lose access immediately.
Team Management
Manage internal team members (finance, marketing, etc.)
| Name | Role | Status | Actions |
|---|
Add Team Member
Roles
Click a row to manage permissions for that role
| Role | Permissions | Users | Actions |
|---|
Add Role
Manage Permissions
Permissions
Click a row to view roles assigned to that permission
| Permission | Category | Roles | Actions |
|---|
Permission Details
Category
Assigned to roles
Not assigned to any role yet.
Add Permission
Organizations
Manage all registered organizations
| Name | Type | Credits | Users | KYB | Status | Created | Actions |
|---|
Approve Organization
Upon approval, the system will:
- Activate the organization
- Set environment to production mode
- Generate a production API key
- Email the API key to the org admin
SmartData Credits to add to the org wallet upon approval.
Generated API Key — Copy it now!
⚠️ This key is shown only once. Save it securely.
Reject Organization
Pending Approval
Organizations awaiting your review & approval
All caught up!
No organizations are waiting for approval right now.
| Organization | Type | Contact | Province | Submitted | Actions |
|---|
API Keys
Manage your SmartData KYC API keys for programmatic access
| Name | Key Prefix | Scopes | IP Whitelist | Rate Limit | Created | Last Used | Status | Actions |
|---|
🔑 New API Key Generated
Copy this key now — you won't be able to see it again. Store it securely.
Create API Key
Edit Allowed IPs
One IPv4 address or CIDR per line. Keys without a whitelist cannot call the API.
SmartData KYC API Reference
Integrate identity & business verification into your application. Base URL:
Authentication
All API requests require an API key passed via the X-API-Key header. Generate keys from the panel above.
Header
| Name | Type | Description |
|---|---|---|
| X-API-Key | string required | Your secret API key starting with sk_ |
Tip: Keep your API key secret. Never expose it in client-side JavaScript. Always make API calls from your backend server.
Rate Limits
Every response includes rate limit headers so you can monitor your usage.
Response Headers
| Header | Description |
|---|---|
| X-RateLimit-Limit | Maximum requests allowed per minute |
| X-RateLimit-Remaining | Requests remaining in current window |
| Retry-After | Seconds until the rate limit resets (only on 429) |
Default: 60 requests/min per API key. Custom limits can be set when generating a key.
Error Codes
When a request fails, the response body contains a structured error object.
Error Response Schema
{
"success": false,
"reference": "SD-REF-20260319-XXXX",
"error": {
"code": "SMARTDATA_NOT_FOUND",
"message": "ID number not found in the national database."
}
}
| Code | HTTP | Description |
|---|---|---|
| SMARTDATA_ACCESS_DENIED | 401 / 403 | Invalid key, expired, or IP blocked |
| SMARTDATA_RATE_LIMITED | 429 | Too many requests — slow down |
| SMARTDATA_INSUFFICIENT_BALANCE | 402 | Top up your account balance |
| SMARTDATA_NOT_FOUND | 404 | ID or business not found in database |
| SMARTDATA_COUNTRY_NOT_AVAILABLE | 403 | Country not enabled on your plan |
| SMARTDATA_SCOPE_NOT_PERMITTED | 403 | API key lacks the required scope |
| SMARTDATA_SERVICE_UNAVAILABLE | 503 | Temporary outage — retry later |
/api/v1/nrc/verify
Verify NRC
Verify a National Registration Card (NRC) number and retrieve personal details from the national database.
Request Body
| Parameter | Type | Description |
|---|---|---|
| nrc_number | string required | The NRC number to verify (e.g. 123456/78/1) |
| country | string optional | ISO 3166-1 alpha-2 country code. Defaults to ZM |
Success Response 200
{
"success": true,
"reference": "SD-REF-20260319-XXXX",
"id_number": "123456/78/1",
"data": {
"full_name": "John Doe",
"first_name": "John",
"last_name": "Doe",
"date_of_birth": "1990-01-15",
"gender": "Male",
"status": "Active",
"is_active": true
},
"message": "Verification successful."
}
/api/v1/mobile/verify
Verify Mobile Number
Look up a Zambian mobile number and retrieve the subscriber name, NRC, and status through the SmartData KYC API. You only call SmartData — upstream sources stay private.
Request Body
| Parameter | Type | Description |
|---|---|---|
| msisdn | string required | Mobile number. Accepts 097…, 26097…, or 97… |
Success Response 200
{
"success": true,
"reference": "SD-REF-20260826-XXXX",
"msisdn": "0973790404",
"data": {
"msisdn": "973790404",
"first_name": "andrew",
"last_name": "simwizi",
"full_name": "andrew simwizi",
"nrc": "263327711",
"status": "SUBS",
"verified": true
}
}
/api/v1/health-insurance/verify
Health Insurance Lookup
Look up employee registration, beneficiaries, member details, or dependents by NRC through the SmartData KYC API. Employer registration uses POST /api/v1/health-insurance/employer with entity_id (scope: business.lookup).
Request Body
| Parameter | Type | Description |
|---|---|---|
| lookup_type | string required | employee_status, beneficiaries, member, or dependents |
| national_id | string required | Zambian NRC (e.g. 299352/24/1) |
Success Response 200
{
"success": true,
"reference": "SD-REF-20260826-XXXX",
"lookup_type": "employee_status",
"identifier": "299352/24/1",
"data": {
"status": "Registered",
"name": "Jane Banda"
}
}
/api/v1/business/verify
Business Verify
Look up a business by registration number or name from the PACRA database.
Request Body
| Parameter | Type | Description |
|---|---|---|
| search_term | string required | Business name or registration number to search |
| country | string optional | ISO 3166-1 alpha-2 country code. Defaults to ZM |
Response Fields (data)
| Field | Description |
|---|---|
| company_name | Registered business name |
| registration_number | PACRA entity number |
| status | Entity status (e.g. Registered, Active) |
| company_type | Legal form / company type |
| date_of_registration | Registration date (YYYY-MM-DD) |
| nature_of_business | Nature of business from PACRA |
| isic_code | PACRA ISIC sector code (when on file) |
| isic_title | Short ISIC sector title |
| isic_description | Full ISIC sector description |
| isic_classification | Raw ISIC classification string from PACRA |
Success Response 200
{
"success": true,
"reference": "SD-REF-20260319-XXXX",
"data": {
"company_name": "Acme Corp Ltd",
"registration_number": "120251026371",
"status": "Registered",
"company_type": "Company",
"date_of_registration": "2020-01-15",
"nature_of_business": "Technology",
"isic_code": "6201",
"isic_title": "Computer programming",
"isic_description": "Computer programming",
"isic_classification": "6201"
},
"message": "Business lookup successful."
}
API keys include NRC verification and business lookup. See the full reference at /docs.
/api/v1/sandbox/kyc/lookup
Sandbox Lookup
One NRC call. Returns bundled NHIMA, PACRA, Airtel, and ZRA fixtures. No credits. No production key.
Test NRC
263327/71/1
Also accepts 263327711. Any other NRC returns 404.
Request Body
| Parameter | Type | Description |
|---|---|---|
| nrc_number | string required | Use 263327/71/1 |
| country | string optional | Defaults to ZM |
Try it
Live response
—Click Send Lookup to call POST /api/v1/sandbox/kyc/lookup
Sandbox Testing
Develop without consuming credits. Use sandbox endpoints under /api/v1/sandbox/* with the static sandbox key.
Sandbox API Key
sb_test_smartdata_sandbox_key_2025
Pass the key in the X-API-Key header. Full guide: /docs
Sandbox Lookup: POST /api/v1/sandbox/kyc/lookup — try 263327/71/1 (NHIMA + PACRA + Airtel + ZRA)
NRC: POST /api/v1/sandbox/nrc/verify — try 100100/10/1
Mobile: POST /api/v1/sandbox/mobile/verify — try 0970000001
Health insurance: POST /api/v1/sandbox/health-insurance/verify — try NRC 100100/10/1
Business: POST /api/v1/sandbox/business/verify — try Acme Corp, Zanaco, or COMP/2015/12345
YOUR_API_KEY
Request
Response
200-
Never expose your API key in client-side code (JavaScript, mobile apps)
-
Always call the API from your backend server
-
Always whitelist your server’s IP addresses — keys without allowed IPs are blocked from the API
-
Create separate keys for different environments (staging, production)
-
Revoke unused or compromised keys immediately
-
Limit scopes to only what each key needs (principle of least privilege)
🔐 Keep your API keys safe — treat them like passwords
Credit Balance
—
≈ K—
Exchange Rate
K2
per 1 credit
Low Balance Alert
—
Bank Transfer Details
Deposit funds then upload your proof below
Submit Proof of Payment
After transferring, upload your receipt here
My Credit Requests
Recent Transactions
Set Low Balance Threshold
Total Credits In
—
all top-ups & deposits
Total Credits Out
—
verifications & charges
Current Balance
—
SmartData credits
Total Transactions
—
across all types
All Transactions
Credits +in and −out across every transaction type
Transaction Details
Amount
VAT
Total
Reference
Type
Description
Organisation
Transaction ID
KYB Verification Status
Submit KYB Verification
Enter your PACRA registration number and business name to auto-verify, then upload supporting documents.
KYB Submissions Review
Review and approve/reject KYB verification submissions
| Organization | Business Name | Reg # | Status | Submitted | Actions |
|---|
Pending Review
—
Approved (all time)
—
Rejected (all time)
—
Credit Requests
Approve Credit Request
Credit Request Details
Amount Paid
Credits Awarded
—
Organisation
Submitted By
Bank Reference
Currency
Applicant Notes
Proof of Payment
Review Details
Reviewed By
Reviewed At
Admin Notes
Reject Credit Request
KYB Submission Details
Review business verification information
Approve KYB Submission
Approve this KYB submission? This will:
- Activate the organization
- Generate a production API key
- Send approval notification to admin
Processing Approval
Please wait while we set everything up...
Reject KYB Submission
Please provide a reason for rejecting this submission. This will be sent to the organization admin.
Loading submission details...
🇿🇲 NRC Lookup Database
All NRC verifications are stored locally. Repeat lookups are served from this database — no additional credits spent.
Unique NRCs
—
Total Lookups
—
Verified
—
Credits Saved
—
| NRC Number | Full Name | Gender | DOB | TPIN | NRC Status | Source | Lookups | Last Verified |
|---|---|---|---|---|---|---|---|---|
| Loading NRC database… | ||||||||
Credits Purchased
—
≈ K—
Credits Consumed
—
— API calls total
Revenue (ZMW)
—
@ K— per credit
Profit (ZMW)
—
Revenue K— − API Cost K—
Outstanding Balance
—
Active Organizations
—
Low Balance Orgs
—
Organization Breakdown
Revenue and usage per organization
| Organization | Balance | Purchased | Consumed | API Calls | Mode |
|---|
Add Credits to Organization
Enter the Kwacha amount the organization paid. Credits will be auto-calculated using the configured exchange rate.
All Organizations
Credit balances and usage across all organizations
| Organization | Credit Balance | Balance (ZMW) | Credits Purchased | Credits Consumed | Status |
|---|
Total Events
—
All time
Today
—
Events today
Logins
—
Login events
Unique Users
—
Active members
Activity Log
Loading…
No audit logs yet
Activity will appear here as actions are performed.
| User | Activity | IP Address | Browser | Date & Time |
|---|
Event Details
User
Activity
IP Address
Date & Time
User Agent
General Settings
Configure system-wide application settings
Email Configuration
SMTP settings for sending system emails
Send Test Email
Verify your SMTP configuration is working correctly
PACRA Business Registry
Zambia Patent & Companies Registration Agency — free business lookup API
KYC Provider Configuration
API credentials for NRC/NIN lookups & business verification
NHIMA API Configuration
National Health Insurance — employee, beneficiary, and employer lookups
Mobile KYC Configuration
Vestemoney MSISDN lookup — name, NRC, and subscriber status
SMS Configuration
SMS gateway settings for notifications
Payment Gateway
Payment processing configuration
Security Settings
Authentication and security policies
Billing & Credit Configuration
Configure the SmartData Credits system — changes apply to all organizations instantly
Exchange Rate
K2 = 1 cr
Cost per Lookup
0.50 cr
Kwacha per Lookup
K1.00
Starter Pack
100 cr
Profile Settings
Update your personal information
Change Password
Keep your account secure with a strong password
Organization Details
View and manage your organization information
Account Overview
You are not associated with an organization.
Contact your administrator if you believe this is an error.
Two-Factor Authentication
Add an extra layer of security to your account
How 2FA Works
When enabled, you'll receive a verification code via email every time you log in. This provides an additional security layer beyond your password.
2FA Status
Loading...
2FA is required by your administrator and cannot be disabled.
Security Tip: Never share your 2FA codes with anyone. Smart Data will never ask for your verification code via phone or email.
Reference Number Lookup
Look up a previous verification by its reference number.
Credit Balance
0.00
≈ K 0.00
Total Users
0
API Keys
0
Countries
0
Organization Details
Owner / Director
Country Access
Timeline
3-Tier Pricing System
Custom rates override global pricing. If no custom rate is set, the global country price applies. If that's not set either, the platform default price per lookup is used. Prices are in SmartData Credits.
| Verification Type | Global Default | Custom Price (Credits) | Active | Override? |
|---|
Organization Users
| Name | Role | Status | Created |
|---|
API Keys
| Name | Prefix | Environment | Status | Last Used | Created |
|---|
KYB Documents
No documents uploaded.
Edit Organization
Company Information
Tax & Registration
Address
Owner / Director
Approve Organization
Upon approval, the system will:
- Activate the organization account
- Switch environment to production mode
- Generate a production API key
- Email the key directly to the org admin
Added to the org wallet immediately on approval.
Generated Production API Key — copy now!
Shown only once — save it securely before closing.
Reject Organization
The organization admin will be notified via email with your reason. This action cannot be undone.
This message will be included in the rejection email.