Sell virtual numbers inside your own app.

The Plugg API lets your website, app or Telegram bot buy numbers for WhatsApp, TikTok, Telegram and 150+ services. You pay from your Plugg wallet in naira, set your own resale price, and failed codes are refunded to your wallet automatically.

Pay in naira150+ servicesAuto refundsSimple JSON

Your API keys

Loading…

How it works

  1. Create a key here and keep it secret, like a password.
  2. Top up your Plugg wallet with card, transfer, USSD, mobile money or crypto.
  3. Buy a number with one request. The price comes out of your wallet.
  4. Check the order every few seconds until the code arrives.
  5. No code? Cancel it, or wait for it to expire. Your money goes back to your wallet.

Quick start

Base address for every request:

https://pluggafrica.com/api/v1

Send your key in the Authorization header on every request:

Authorization: Bearer plg_live_your_key_here

Buy a WhatsApp number from the USA

# 1. Buy the number
curl -X POST https://pluggafrica.com/api/v1/orders \
  -H "Authorization: Bearer $PLUGG_KEY" \
  -H "Content-Type: application/json" \
  -d '{"service":"whatsapp","country":"usa"}'

# 2. Check it every 5 seconds until "code" is filled in
curl https://pluggafrica.com/api/v1/orders/ORDER_ID \
  -H "Authorization: Bearer $PLUGG_KEY"

# 3. No code? Cancel and get your money back
curl -X POST https://pluggafrica.com/api/v1/orders/ORDER_ID/cancel \
  -H "Authorization: Bearer $PLUGG_KEY"

Endpoints

RequestWhat it does
GET/balanceYour Plugg wallet balance in naira.
GET/countriesEvery country, with the slug to use (for example usa, england).
GET/services?country=usaServices in a country with the starting price and stock.
GET/operators?country=usa&service=whatsappEach operator with price, stock and success rate. One is marked recommended.
POST/ordersBuy a number. Body: {"service":"whatsapp","country":"usa","operator":"any"}. operator is optional. Paid from your wallet.
GET/orders/{id}Order status and the code once it arrives. Check every 5 to 10 seconds.
POST/orders/{id}/cancelCancel an order that has no code yet. The money goes back to your wallet.
GET/ordersYour last 50 orders.

Example answer from POST /orders

{
  "ok": true,
  "order": { "id": "912345678", "phone": "+12543410365", "service": "whatsapp",
             "country": "usa", "price_ngn": 5800, "status": "waiting", "code": null },
  "balance_ngn": 9200
}

Order status is one of waiting, received, refunded or cancelled. A number stays open for about 15 minutes. If no code arrives in that time, the money goes back to your wallet by itself.

Errors

Every error looks like {"ok":false,"error":{"code":"...","message":"..."}}. The message is safe to show to your own customers.

HTTPcodeMeaning
401invalid_keyMissing, wrong or revoked key.
402insufficient_balanceNot enough in your wallet. needed_ngn tells you the price.
409out_of_stockNo number available right now. Nothing was charged.
409code_receivedYou tried to cancel an order that already has a code.
429rate_limitedSlow down. Limits: 60 requests and 10 purchases per minute per account.
503restockingNumbers are restocking for a few minutes. Nothing was charged.

Questions

How much do numbers cost through the API?

The same as on pluggafrica.com. Check /operators for the live price before you buy. You can resell at any price you like.

What happens if the code never comes?

Cancel the order, or let it expire after about 15 minutes. Either way the full price goes back to your Plugg wallet.

Is it safe to put my key in a website or app?

No. Keep the key on your server or in your bot's settings, never in a web page or mobile app that customers can open. Anyone with your key can spend your wallet balance. If a key leaks, revoke it here and create a new one.

Can I use this for a Telegram or WhatsApp bot?

Yes. That is the most common use. Your bot calls the API, shows the number to your customer and sends them the code when it arrives.

Are there rules?

Numbers are for receiving one verification code. Follow the terms of the apps you verify, and do not use numbers for fraud or spam. Accounts that abuse the API are switched off.