Base URL:
https://vtufast.com/api.php
GET /?route=account
Account Details API
Retrieve the authenticated account information,
including the account name, email address, account type,
wallet balance and transaction PIN status.
The transaction PIN itself is never returned.
curl "https://vtufast.com/api.php?route=account" \
-H "Authorization: Bearer YOUR_API_KEY"
Sample Response
{
"success": true,
"data": {
"id": 42,
"name": "Jane Doe",
"email": "jane@example.com",
"role": "reseller",
"wallet_balance": 12500.00,
"currency": "NGN",
"transaction_pin_set": true
}
}
GET /?route=balance
Wallet Balance API
Check the current wallet balance of the authenticated
reseller or vendor account.
curl "https://vtufast.com/api.php?route=balance" \
-H "Authorization: Bearer YOUR_API_KEY"
Sample Response
{
"success": true,
"data": {
"balance": 12500.00,
"currency": "NGN"
}
}
GET /?route=plans&service=data
Data & Airtime Plans API
Retrieve available airtime or mobile data plans from
VtuFast.
Call this endpoint before placing an order so your
application can use the correct plan ID and network.
Use search=ALL to return every active plan.
You can also filter plans by using
search=MTN,
search=GLO,
search=AIRTEL,
or search=9MOBILE.
Use the returned id as the
price_id when submitting an order and use
the corresponding network value in the
order request.
curl "https://vtufast.com/api.php?route=plans&service=data&search=ALL" \
-H "Authorization: Bearer YOUR_API_KEY"
Sample Response
{
"success": true,
"data": [{
"id": 123,
"network": "MTN",
"item_name": "1.5GB",
"validity": "30 days",
"price": 1200.00
}]
}
POST /?route=data
Buy Mobile Data API
Use this endpoint to purchase mobile data for a Nigerian
phone number. The price_id must come from
the plans endpoint and must belong to the selected
network.
curl -X POST "https://vtufast.com/api.php?route=data" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"price_id": 123,
"network": "MTN",
"phone": "08031234567",
"transaction_pin": "1234"
}'
Sample Success Response
{
"success": true,
"message": "Data purchase successful.",
"receipt_id": 789
}
Supported Networks
"network": "MTN"
"network": "GLO"
"network": "AIRTEL"
"network": "9MOBILE"
POST /?route=airtime
Buy Airtime API
Use this endpoint to purchase airtime programmatically.
First retrieve an active airtime plan using
GET /?route=plans&service=airtime.
Then send the matching price_id,
network, phone number and airtime amount.
curl -X POST "https://vtufast.com/api.php?route=airtime" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"price_id": 456,
"network": "AIRTEL",
"phone": "08031234567",
"amount": 1000,
"transaction_pin": "1234"
}'
Sample Success Response
{
"success": true,
"message": "Airtime purchase successful.",
"reference": "AIR-AB12CD34EF56",
"charge": 990.00,
"receipt_id": 790
}
Supported Networks
"network": "MTN"
"network": "GLO"
"network": "AIRTEL"
"network": "9MOBILE"
API Response Codes
The API uses standard HTTP response codes to indicate
whether a request was successful or requires attention.
-
200 — Request completed successfully.
-
401 — API key is missing or invalid.
-
422 — Invalid request, invalid order
details or insufficient wallet balance.
-
503 — Upstream service or provider
is temporarily unavailable.
Sample Error Response
{
"success": false,
"message": "The selected price_id does not belong to the requested network."
}
API Security
Keep your API credentials private. API requests should
be made from your backend server rather than directly
from browser-side JavaScript or publicly accessible
mobile application code.
Never publish your API key, transaction PIN or other
private credentials in source code repositories,
frontend JavaScript or public documentation.
Start Integrating
Build Your Own VTU Platform
Use the API to connect your website or application to
airtime and data services and build your own customer
experience on top of VtuFast.