API documentation
A flat list of every endpoint. Mirror of the alrahuzdata.com.ng API surface — drop in your key, swap the base URL.
https://www.odata.ng/api
Token YOUR_API_KEY
All endpoints accept JSON. All responses are JSON. 200/201 = success, 400 = bad input, 401 = bad token, 402 = insufficient balance.
Returns your account profile, balance and basic stats.
curl https://www.odata.ng/api/user/ \ -H "Authorization: Token YOUR_API_KEY"
Response:
{
"id": 1,
"username": "08012345678",
"full_name": "Ada Lovelace",
"phone": "08012345678",
"state": "Lagos",
"balance": "12500.00",
"wallet_balance": "12500.00",
"account_status": "active",
"user_type": "user"
}
Buy a data plan for a phone number. network is the network ID (1=MTN, 2=GLO, 3=Airtel, 4=9mobile); plan is from the plan catalog.
curl -X POST https://www.odata.ng/api/data/ \
-H "Authorization: Token YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"network": 1,
"mobile_number": "08012345678",
"plan": 105,
"Ported_number": true
}'Response:
{
"id": 58,
"network": 1,
"mobile_number": "08012345678",
"plan": 105,
"Ported_number": true,
"Status": "successful",
"create_date": "2026-05-25 14:21:08",
"plan_amount": "1499.00",
"balance_before": "14000.00",
"balance_after": "12501.00",
"ident": "OD20260525142108abc123"
}
List your data transactions (most recent first).
curl https://www.odata.ng/api/data/ \ -H "Authorization: Token YOUR_API_KEY"
Fetch one data transaction by ID.
curl https://www.odata.ng/api/data/58 \ -H "Authorization: Token YOUR_API_KEY"
Buy airtime top-up. airtime_type is normally "VTU".
curl -X POST https://www.odata.ng/api/topup/ \
-H "Authorization: Token YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"network": 1,
"amount": 500,
"mobile_number": "08012345678",
"Ported_number": true,
"airtime_type": "VTU"
}'Fetch one airtime transaction by ID (or list with no ID).
curl https://www.odata.ng/api/topup/3 \ -H "Authorization: Token YOUR_API_KEY"
Buy WAEC, NECO or NABTEB result PINs. Maximum quantity is 5 per request.
curl -X POST https://www.odata.ng/api/epin/ \
-H "Authorization: Token YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "exam_name": "WAEC", "quantity": 1 }'Pay an electricity bill. MeterType is 1 for prepaid, 2 for postpaid. Use /api/validatemeter first to confirm the customer name.
curl -X POST https://www.odata.ng/api/billpayment/ \
-H "Authorization: Token YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"disco_name": 1,
"amount": 1500,
"meter_number": "12345678901",
"MeterType": 1
}'Fetch one bill payment.
curl https://www.odata.ng/api/billpayment/3 \ -H "Authorization: Token YOUR_API_KEY"
Renew or change a cable subscription. cablename is the provider ID (DSTV=1, GOtv=2, Startimes=3); cableplan is the plan ID.
curl -X POST https://www.odata.ng/api/cablesub/ \
-H "Authorization: Token YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"cablename": 1,
"cableplan": 4,
"smart_card_number": "1234567890"
}'Fetch one cable subscription.
curl https://www.odata.ng/api/cablesub/3 \ -H "Authorization: Token YOUR_API_KEY"
Validate a smart-card / IUC number before billing.
curl "https://www.odata.ng/api/validateiuc?smart_card_number=1234567890&cablename=1" \ -H "Authorization: Token YOUR_API_KEY"
Validate an electricity meter before billing. mtype is 1 for prepaid, 2 for postpaid.
curl "https://www.odata.ng/api/validatemeter?meternumber=12345678901&disconame=1&mtype=1" \ -H "Authorization: Token YOUR_API_KEY"