Developer Portal
Ctrl K
BILL PAYMENT
Data Bundle API
Query live telecom data plans and instantly purchase direct mobile data bundles across MTN, Airtel, Glo, and 9mobile.
Supported Networks & Discount Rates
| NETWORK | SERVICE ID / CODE | ACCEPTED ALIASES | DISCOUNT (BASE PRICE) | STATUS |
|---|---|---|---|---|
| MTN Nigeria Data | mtn-data | mtn-data, mtn |
0.0% | Active |
| Airtel Nigeria Data | airtel-data | airtel-data, airtel |
0.0% | Active |
| Glo Nigeria Data | glo-data | glo-data, glo |
0.0% | Active |
| 9mobile Nigeria Data | etisalat-data | etisalat-data, 9mobile |
0.0% | Active |
Step 1: Fetch Available Data Plans
Query available plans to obtain the bundle (variation code) and exact pricing for the chosen network.
GET
/api/v1/data/variations?network=mtn-data
| PARAMETER | TYPE | DESCRIPTION | REQUIRED |
|---|---|---|---|
network |
string | Filter by network: mtn-data, airtel-data, glo-data, or etisalat-data. (Omit to get all). |
Optional |
Step 2: Purchase Data Bundle
POST
/api/v1/data/purchase
Authentication & Headers
| HEADER | VALUE | REQUIRED |
|---|---|---|
Authorization |
Bearer YOUR_API_TOKEN |
Yes |
Content-Type |
application/json |
Yes |
Request Parameters
| PARAMETER | TYPE | DESCRIPTION | REQUIRED |
|---|---|---|---|
network |
string | Supported: mtn-data, airtel-data, glo-data, etisalat-data (or aliases: mtn, airtel, glo, 9mobile). |
Required |
mobileno |
string | 11-digit Nigerian recipient mobile number (e.g. 08012345678). |
Required |
bundle |
string | The exact variation code of the chosen data plan from Step 1 (e.g. mtn-100mb-100). |
Required |
request_id |
string | Optional unique reference ID for idempotency and duplicate request protection. | Optional |
Sample Request Payload
JSON{
"network": "mtn-data",
"mobileno": "08012345678",
"bundle": "mtn-100mb-100",
"request_id": "REQ_DATA_92810"
}
Success Response (200 OK)
{
"status": "success",
"code": 200,
"message": "Data successful",
"data": {
"transaction_ref": "202610194829105",
"request_id": "REQ_DATA_92810",
"network": "mtn-data",
"network_name": "mtn",
"bundle": "mtn-100mb-100",
"plan_name": "MTN 100MB Direct",
"amount": 100.0,
"phone": "08012345678",
"type": "Data Purchase",
"commission_earned": 2.0,
"new_balance": 3902.0,
"status": "success"
}
}
Failed Response (400 Bad Request)
{
"status": "failed",
"code": 400,
"message": "Data failed."
}