Log in with your phone/username and PIN
Register as a new developer in seconds
Complete your profile to generate a dedicated bank account number for instant wallet funding.
Use this token to authorize requests. Keep it secure and never share it publicly.
To authenticate API requests, include the `x-api-key` header containing your API token. Requests using the API key automatically resolve developer rates configured by the super administrator.
curl -X POST "http://localhost:3000/api/mobile/purchase-data" \
-H "Content-Type: application/json" \
-H "x-api-key: zp_live_your_api_key_here" \
-d '{
"planId": "mtn-1gb-monthly",
"network": "MTN",
"targetPhone": "08031234567"
}'
const axios = require('axios');
axios.post('http://localhost:3000/api/mobile/purchase-data', {
planId: 'mtn-1gb-monthly',
network: 'MTN',
targetPhone: '08031234567'
}, {
headers: {
'Content-Type': 'application/json',
'x-api-key': 'zp_live_your_api_key_here'
}
})
.then(res => console.log(res.data))
.catch(err => console.error(err.response ? err.response.data : err.message));
import requests
url = "http://localhost:3000/api/mobile/purchase-data"
headers = {
"x-api-key": "zp_live_your_api_key_here",
"Content-Type": "application/json"
}
payload = {
"planId": "mtn-1gb-monthly",
"network": "MTN",
"targetPhone": "08031234567"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
| Field | Type | Required | Description |
|---|---|---|---|
| `planId` | `string` | Yes | Variation ID of the data plan. Fetch all plans categorized using GET `/data-plans` or query by network using GET `/data-plans/:network`. |
| `network` | `string` | Yes | Service provider code (e.g. `MTN`, `GLO`, `AIRTEL`, `9MOBILE`). |
| `targetPhone` | `string` | No | Nigerian phone number to top-up. Defaults to developer's phone. |
Search and filter all available Data Plans and Cable TV package IDs. Use the **Copy** button to capture any plan ID for your API requests.
| Provider | Plan Name | Type | Price | Plan ID |
|---|