The BetaData API allows developers and businesses to programmatically access airtime, data, cable TV, electricity, exam pin, verification, CAC, and JAMB services. You need an API User account to access the API. Create an account, upgrade from your dashboard, then open Profile → Account to copy your API key and set your webhook URL.
https://data.betadata.com.ng/api/v1
Authentication
Your current API access page is Profile → Account → API Access. If you just upgraded to API User, open that section once to confirm your key is available and save any webhook URL you want to use.
All API requests must include your API key in the request header. You can find your API key in your dashboard under Settings → API Key.
Authorization: Bearer YOUR_API_KEY Content-Type: application/json
- Create or log into your BetaData account.
- Upgrade the account to API User.
- Open Profile → Account and copy your API key.
- Optional: save a webhook URL to receive transaction updates automatically.
- Send the key as a Bearer token in every API request.
Available Endpoints
Buy Airtime
Purchase airtime for any Nigerian network.
{
"phone": "08012345678",
"network": "mtn", // mtn | glo | airtel | 9mobile
"amount": 500, // Amount in Naira (min ₦50)
"ref": "MY_REF_001" // Your unique transaction reference
}
{
"success": true,
"message": "Airtime sent successfully",
"data": {
"transaction_id": "TXN_ABC12345",
"phone": "08012345678",
"network": "MTN",
"amount": 500,
"status": "success",
"timestamp": "2025-01-15T14:30:00Z"
}
}
Buy Data
Purchase a data bundle. First fetch available plans, then use the plan ID to purchase. You can filter plans with plan_type=sme, gifting, corporate, direct, or awoof.
// Returns list of available plans:
{
"success": true,
"plans": [
{ "id": 12, "network": "MTN", "type": "SME", "plan_type": "SME", "name": "MTN 1GB SME", "size": "1GB", "validity": "30 days", "price": 250 },
{ "id": 18, "network": "MTN", "type": "GIFTING", "plan_type": "GIFTING", "name": "MTN 2GB Gifting", "size": "2GB", "validity": "30 days", "price": 480 },
{ "id": 25, "network": "MTN", "type": "AWOOF", "plan_type": "AWOOF", "name": "MTN AWOOF 1.5GB", "size": "1.5GB", "validity": "7 days", "price": 350 },
{ "id": 31, "network": "MTN", "type": "DIRECT", "plan_type": "DIRECT", "name": "MTN 5GB Direct", "size": "5GB", "validity": "30 days", "price": 1200 }
]
}
{
"phone": "08012345678",
"plan_id": 12,
"ref": "MY_REF_002"
}
Cable TV
// provider can be dstv, gotv, or startimes. // Use the returned id as plan_id when buying.
{
"provider": "dstv", // dstv | gotv | startimes
"smartcard_no": "1234567890",
"plan_id": 45,
"ref": "MY_REF_003"
}
Electricity
// Returns disco_id, short_name, min_amount, max_amount, and service_charge. // Use disco_id or short_name when buying electricity.
{
"disco": "ikedc", // ikedc | ekedc | aedc | phed | etc
"meter_no": "12345678901",
"meter_type": "prepaid", // prepaid | postpaid
"amount": 5000,
"ref": "MY_REF_004"
}
// Response includes token:
{
"success": true,
"token": "1234-5678-9012-3456-7890",
"units": "45.6 kWh"
}
Exam Pins
// exam_type can be waec, neco, nabteb, or jamb. // Use the returned id as pin_id when buying.
{
"exam_type": "waec", // waec | neco | nabteb | jamb
"quantity": 1,
"ref": "MY_REF_005"
}
Bulk SMS
{
"sender_name": "BetaData",
"message": "Your OTP is 123456",
"recipients": ["08012345678", "08123456789"],
"ref": "MY_SMS_REF_001"
}
Betting
// Returns active betting platforms with id, code, min_amount, max_amount, and fee. // Use platform_id or platform_code when funding.
{
"platform_code": "SPORTYBET",
"customer_id": "1234567890",
"amount": 1000,
"ref": "MY_BET_REF_001"
}
Verification and Print Services
Use the same API token to list and submit NIN/BVN verification, Print NIN, and Print BVN requests.
// Includes price and slip/card variants where available.
{
"success": true,
"data": {
"products": [
{
"slug": "print-nin",
"name": "Print NIN Slip",
"price": 700,
"variants": [
{ "key": "regular", "name": "Regular NIN Slip", "price": 700 },
{ "key": "premium", "name": "Premium NIN Slip", "price": 1500 }
]
}
]
}
}
{
"product_slug": "print-nin",
"lookup_type": "nin",
"slip_type": "regular",
"nin": "12345678901",
"ref": "MY_REF_006"
}
// Status check:
GET /verification/status?request_id=MY_REF_006
JAMB Services
JAMB services are submitted through the verification API. First list JAMB products with group=jamb, then submit the selected product slug.
// Example product slugs: jamb-olevel-upload jamb-admission-letter jamb-original-result jamb-caps-reprinting jamb-direct-entry-reg jamb-utme-reg jamb-utme-mock-reg
{
"product_slug": "jamb-admission-letter",
"fullname": "John Doe",
"profile_code": "1234567890",
"jamb_reg_no": "202612345678AB",
"additional_info": "Optional note",
"ref": "MY_JAMB_REF_001"
}
{
"product_slug": "jamb-utme-reg",
"fullname": "John Doe",
"profile_code": "1234567890",
"phone": "08012345678",
"ref": "MY_JAMB_REF_002"
}
CAC Services
{
"product_slug": "business-name-registration",
"business_name": "Example Ventures",
"business_type": "Enterprise",
"owners": "John Doe",
"phone": "08012345678",
"address": "Lagos, Nigeria",
"ref": "MY_REF_007"
}
// Status check:
GET /cac/status?request_id=MY_REF_007
Wallet Balance
{
"success": true,
"balance": 15750.00,
"currency": "NGN"
}
Error Codes
Ready to Integrate?
Create an account, upgrade to API User, and start building in minutes.