Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.monei.cc/llms.txt

Use this file to discover all available pages before exploring further.

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}`);
});
Response:
{
  "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})`);
});

Available Categories

CategoryDescriptionCommon Billers
airtimeMobile airtimeMTN, Airtel, Glo, 9mobile
dataMobile data bundlesMTN Data, Airtel Data, Glo Data
cable_tvTV subscriptionsDStv, GOtv, StarTimes
electricityPower billsIKEDC, EKEDC, AEDC, PHED

Biller Details

Each biller response includes:
FieldDescription
billerCodeUnique biller Codeentifier
nameFull biller name
shortNameShort/display name
categoryCategory (airtime, data, etc.)
typePREPAID or POSTPAID
countryCountry code (NG)
feeService fee (₦)
minAmountMinimum payment amount
maxAmountMaximum 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})`);
});

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('');
});
Response:
{
  "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"
    }
  ]
}

Mobile Networks
const airtime = await monei.billsDiscovery.getBillers({
  category: 'airtime'
});

// Popular: MTN, Airtel, Glo, 9mobile
NetworkBiller CodeMinMax
MTNmtn-ng₦50₦50,000
Airtelairtel-ng₦50₦50,000
Gloglo-ng₦50₦50,000
9mobile9mobile-ng₦50₦50,000

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