REST API v1

Mobile top-up API: Auto-send to prepaid phones in 161 countries

Connect directly to 552 operators and 4,330 products from your server, app, or e-commerce platform. Same MobileTopup prices averaging 35% below face value, start instantly with one key.

Base URL
/api/v1
Format
JSON
Authentication
X-Api-Key
Rate limits
300 per minute per key

The most affordable top-up API for businesses

Same lowest prices as shown

API prices match exactly. All products cost 30%+ below face value with no sending fees. Example: Philippines Globe 50 PHP (value $0.78), API price $0.54 (30% below face value).

Start instantly with no approval

Sign up and create your API key right from your dashboard after your first credit top-up. No contracts or minimum orders.

Global coverage at once

Send airtime and data bundles to 161 countries and 552 operators worldwide with the same simple process.

No duplicate payment worries

Attach your order number to the reference field, even if the same request comes twice, we'll only process it once and return the original result.

Credit back instantly if it fails

If the operator rejects the top-up, your payment amount is immediately refunded as credit with clear error codes.

Complete records with receipts

API-sent top-ups appear in your dashboard history with receipts, top-up codes, and operator reference numbers.

Endpoints

The process: Select country, operator and product, send the top-up, then check status and receipts using the received top-up code.

GET/v1/balance
GET/v1/countries
GET/v1/operators?country=PH
GET/v1/products?operator=PH-GB
POST/v1/recharges
GET/v1/recharges/{code}

Getting started

  1. Step 1

    Sign up

    Register with just one account token. No email or documents required.

  2. Step 2

    Add credit

    Add credit via 12 methods including USDT, USDC, BTC and ETH. First-time top-ups get bonus credit based on amount.

  3. Step 3

    Create API key

    Generate API keys in your dashboard. Full keys are only shown once, save them directly to your server environment variables.

  4. Step 4

    Send top-up

    Send keys via X-Api-Key header and POST /v1/recharges to send top-ups.

Send top-up (cURL)

curl -X POST https://mobiletopup.io/api/v1/recharges \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"phone":"+639171234567","operator_id":"PH-GB","product_id":"ph-gb-a15c6dd","reference":"order-1042"}'

Response (201)

{ "ok": true, "data": {
  "code": "RC-7KQ2-M9XD-4PWA", "status": "completed",
  "phone": "+639171234567", "operator_id": "PH-GB",
  "receive": "50 PHP", "price": "0.54", "currency": "USD",
  "reference": "order-1042", "duplicate": false
} }

Mobile Top-Up API FAQ

Who can use the API?

Any MobileTopup member. Signup takes 1 minute with just an account token. After your first credit top-up processes, you can generate API keys immediately in your dashboard, no application or approval needed.

Are API prices the same as shown?

Yes, identical. Same products, same prices, same rules as sending top-ups from your dashboard. All products cost 30%+ below face value (average 35% savings), with no extra fees when sending. Payments deduct directly from your account credit.

How are duplicate orders prevented?

Include your order ID as a reference when sending top-ups. If network issues cause duplicate requests, we'll process only the first and return its result for subsequent attempts ("duplicate": true).

Are there rate limits?

Each key allows 300 requests per minute. Exceeding this returns HTTP 429 with Retry-After (seconds). Space out bulk requests accordingly.

What happens if a top-up fails?

If the operator rejects the top-up, your payment is instantly refunded as credit. Error codes in the response remain consistent for automated handling.

How are API keys secured?

Keys are stored hashed and only displayed once upon generation. Regenerating keys immediately invalidates previous ones. We recommend using keys server-side only.

Mobile Top-Up API: Auto-Send Airtime & Data to 161 Countries | MobileTopup