oodata.ng
Sign in Get started

API documentation

A flat list of every endpoint. Mirror of the alrahuzdata.com.ng API surface — drop in your key, swap the base URL.

Base URL
https://www.odata.ng/api
Authorization header
Token YOUR_API_KEY

All endpoints accept JSON. All responses are JSON. 200/201 = success, 400 = bad input, 401 = bad token, 402 = insufficient balance.

GET /api/user/ Account

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"
}
POST /api/data/ Data

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"
}
GET /api/data/ Data

List your data transactions (most recent first).

curl https://www.odata.ng/api/data/ \
  -H "Authorization: Token YOUR_API_KEY"
GET /api/data/{id} Data

Fetch one data transaction by ID.

curl https://www.odata.ng/api/data/58 \
  -H "Authorization: Token YOUR_API_KEY"
POST /api/topup/ Airtime

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"
  }'
GET /api/topup/{id} Airtime

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"
POST /api/epin/ Education

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 }'
POST /api/billpayment/ Electricity

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
  }'
GET /api/billpayment/{id} Electricity

Fetch one bill payment.

curl https://www.odata.ng/api/billpayment/3 \
  -H "Authorization: Token YOUR_API_KEY"
POST /api/cablesub/ Cable

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"
  }'
GET /api/cablesub/{id} Cable

Fetch one cable subscription.

curl https://www.odata.ng/api/cablesub/3 \
  -H "Authorization: Token YOUR_API_KEY"
GET /api/validateiuc Validation

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"
GET /api/validatemeter Validation

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"