Overview
Browse available billers by category to find the service you need. Monei supports hundreds of billers across multiple categories and countries. What you’ll learn:- Get all billers
- Filter by category
- Search for specific billers
- Understand biller details
- Get service packages
Get All Billers
Retrieve all available billers.import MoneiSDK from 'monei-sdk';
const monei = new MoneiSDK({
apiKey: process.env.MONEI_API_KEY,
});
// Get all billers
const billers = await monei.billsDiscovery.getBillers();
console.log(`Total Billers: ${billers.length}\n`);
billers.forEach(biller => {
console.log(`${biller.name}`);
console.log(` Category: ${biller.category}`);
console.log(` Type: ${biller.type}`);
console.log(` Country: ${biller.country}`);
console.log(` Biller Code: ${biller.billerId}`);
});
from monei import MoneiClient
monei = MoneiClient(
api_key=os.getenv('MONEI_API_KEY')
)
# Get all billers
billers = monei.bills_discovery.get_billers()
print(f'Total Billers: {len(billers)}\n')
for biller in billers:
print(f'{biller.name}')
print(f' Category: {biller.category}')
print(f' Type: {biller.type}')
print(f' Country: {biller.country}')
print(f' Biller Code: {biller.billerCode}')
curl https://api.monei.cc/api/v1/bills/billers \
-H "x-api-key: YOUR_API_KEY"
{
"statusCode": 200,
"message": "Billers retrieved successfully",
"data": [
{
"billerId": "mtn-ng",
"name": "MTN Nigeria",
"shortName": "MTN",
"category": "airtime",
"country": "NG",
"fee": 0,
"minAmount": 50,
"maxAmount": 50000
}
]
}
Filter by Category
Get billers for a specific category.// Get airtime billers
const airtimeBillers = await monei.billsDiscovery.getBillers({
category: 'airtime'
});
console.log('Airtime Providers:\n');
airtimeBillers.forEach(b => {
console.log(`${b.name} (${b.shortName})`);
console.log(` Fee: ₦${b.fee}`);
console.log(` Min: ₦${b.minAmount}, Max: ₦${b.maxAmount}`);
});
// Get cable TV billers
const cableBillers = await monei.billsDiscovery.getBillers({
category: 'cable_tv'
});
console.log('\nCable TV Providers:\n');
cableBillers.forEach(b => {
console.log(`${b.name}`);
});
// Get electricity billers
const electricityBillers = await monei.billsDiscovery.getElectricityBiller();
console.log('\nElectricity Providers:\n');
electricityBillers.forEach(b => {
console.log(`${b.name} (${b.type})`);
});
# Get airtime billers
airtime_billers = monei.bills_discovery.get_billers(category='airtime')
print('Airtime Providers:\n')
for b in airtime_billers:
print(f'{b.name} ({b.short_name})')
print(f' Fee: ₦{b.fee}')
print(f' Range: ₦{b.min_amount} - ₦{b.max_amount}')
# Get cable TV
cable_billers = monei.bills_discovery.get_billers(category='cable_tv')
print('\nCable TV:\n')
for b in cable_billers:
print(f'{b.name}')
# Get electricity
electricity_billers = monei.bills_discovery.get_electricity_billers(category='electricity')
print('\nElectricity:\n')
for b in electricity_billers:
print(f'{b.name} ({b.type})')
# Get airtime billers
curl "https://api.monei.cc/api/v1/bills/billers?category=airtime" \
-H "x-api-key: YOUR_API_KEY"
# Get cable TV billers
curl "https://api.monei.cc/api/v1/bills/billers?category=cable_tv" \
-H "x-api-key: YOUR_API_KEY"
Available Categories
| Category | Description | Common Billers |
|---|---|---|
airtime | Mobile airtime | MTN, Airtel, Glo, 9mobile |
data | Mobile data bundles | MTN Data, Airtel Data, Glo Data |
cable_tv | TV subscriptions | DStv, GOtv, StarTimes |
electricity | Power bills | IKEDC, EKEDC, AEDC, PHED |
Biller Details
Each biller response includes:| Field | Description |
|---|---|
billerCode | Unique biller Codeentifier |
name | Full biller name |
shortName | Short/display name |
category | Category (airtime, data, etc.) |
type | PREPAID or POSTPAID |
country | Country code (NG) |
fee | Service fee (₦) |
minAmount | Minimum payment amount |
maxAmount | Maximum payment amount |
Search for Billers
// Search by name
function searchBillers(billers, searchTerm) {
return billers.filter(b =>
b.name.toLowerCase().includes(searchTerm.toLowerCase()) ||
b.shortName.toLowerCase().includes(searchTerm.toLowerCase())
);
}
// Get all billers
const allBillers = await monei.billsDiscovery.getBillers();
// Search for MTN
const mtnBillers = searchBillers(allBillers, 'MTN');
console.log('MTN Services:');
mtnBillers.forEach(b => {
console.log(`- ${b.name} (${b.category})`);
});
// Search for DStv
const dstvBillers = searchBillers(allBillers, 'DStv');
console.log('\nDStv Services:');
dstvBillers.forEach(b => {
console.log(`- ${b.name} (${b.type})`);
});
# Search function
def search_billers(billers, search_term):
term = search_term.lower()
return [b for b in billers if
term in b.name.lower() or
term in b.short_name.lower()]
# Get all
all_billers = monei.bills_discovery.get_billers()
# Search MTN
mtn_billers = search_billers(all_billers, 'MTN')
print('MTN Services:')
for b in mtn_billers:
print(f'- {b.name} ({b.category})')
# Search DStv
dstv_billers = search_billers(all_billers, 'DStv')
print('\nDStv Services:')
for b in dstv_billers:
print(f'- {b.name} ({b.type})')
Get Service Packages
Some billers offer multiple packages (cable TV, data bundles).// Get DStv packages
const dstv = await monei.billsDiscovery.getBillers({
category: 'cable_tv'
}).then(billers => billers.find(b => b.shortName === 'DStv'));
// Get packages for DStv
const packages = await monei.billsDiscovery.getPackages({
billerId: dstv.billerId
});
console.log('DStv Packages:\n');
packages.forEach(pkg => {
console.log(`${pkg.name}`);
console.log(` Code: ${pkg.code}`);
console.log(` Price: ₦${pkg.amount}`);
console.log(` Duration: ${pkg.validity || 'Monthly'}`);
console.log('');
});
# Get DStv
cable_billers = monei.bills_discovery.get_billers(category='cable_tv')
dstv = next(b for b in cable_billers if b.short_name == 'DStv')
# Get packages
packages = monei.bills_discovery.get_packages(billerCode=dstv.billerCode)
print('DStv Packages:\n')
for pkg in packages:
print(f'{pkg.name}')
print(f' Code: {pkg.code}')
print(f' Price: ₦{pkg.amount}')
print(f' Duration: {pkg.validity or "Monthly"}')
print()
curl "https://api.monei.cc/api/v1/bills/packages/dstv-ng" \
-H "x-api-key: YOUR_API_KEY"
{
"statusCode": 200,
"message": "Packages retrieved successfully",
"data": [
{
"code": "dstv-compact",
"name": "DStv Compact",
"amount": 10500,
"validity": "Monthly"
},
{
"code": "dstv-compact-plus",
"name": "DStv Compact Plus",
"amount": 16200,
"validity": "Monthly"
},
{
"code": "dstv-premium",
"name": "DStv Premium",
"amount": 24500,
"validity": "Monthly"
}
]
}
Popular Billers by Category
- Airtime
- Data
- Cable TV
- Electricity
Mobile Networks
const airtime = await monei.billsDiscovery.getBillers({
category: 'airtime'
});
// Popular: MTN, Airtel, Glo, 9mobile
| Network | Biller Code | Min | Max |
|---|---|---|---|
| MTN | mtn-ng | ₦50 | ₦50,000 |
| Airtel | airtel-ng | ₦50 | ₦50,000 |
| Glo | glo-ng | ₦50 | ₦50,000 |
| 9mobile | 9mobile-ng | ₦50 | ₦50,000 |
Data Bundles
const data = await monei.billsDiscovery.getBillers({
category: 'data'
});
// Each network has multiple data plans
| Network | Plans Available |
|---|---|
| MTN Data | Daily, Weekly, Monthly |
| Airtel Data | Daily, Weekly, Monthly |
| Glo Data | Daily, Weekly, Monthly |
| 9mobile Data | Daily, Weekly, Monthly |
TV Subscriptions
const cable = await monei.billsDiscovery.getBillers({
category: 'cable_tv'
});
// DStv, GOtv, StarTimes
| Provider | Packages |
|---|---|
| DStv | 10+ packages |
| GOtv | 5+ packages |
| StarTimes | 8+ packages |
Power Distribution
const electricity = await monei.billsDiscovery.getElectricityBiller({
category: 'electricity'
});
// IKEDC, EKEDC, AEDC, etc.
| Disco | Type |
|---|---|
| IKEDC | Prepaid & Postpaid |
| EKEDC | Prepaid & Postpaid |
| AEDC | Prepaid & Postpaid |
| PHED | Prepaid & Postpaid |
Best Practices
Cache Billers
Cache billers list to reduce API calls
Filter Early
Use category filter to reduce response size
Search Efficiently
Implement client-side search for better UX
Display Packages
Show package details for cable TV and data
Show Fees
Display service fees upfront
Validate Limits
Check min/max amounts before payment
Next Steps
Overview
Bill payments introduction
Validation
Validate customer details
Payments
Make bill payments
History
View payment history

