Guide · Nigeria

Transactional SMS API Nigeria

Order confirmations, payment receipts, and delivery alerts that actually reach the handset. One SMS API for Africa, Nigeria first. Nigeria: 1 credit = ₦6. Same keys and credits as SMS OTP and prepaid pricing.

Last updated: September 21, 2026

Why Nigerian receipts and alerts stall

A receipt that never arrives is a support ticket, then a refund request, then a lost reorder. Most Nigerian delivery failures come down to three things: a single upstream that goes quiet during congestion, a DND filter that treats a misclassified alert as promotional traffic and drops it, and an international aggregator that sends Nigerian SMS as overseas traffic, so it arrives late or not at all.

A Nigeria-ready transactional SMS API uses prepaid local pricing, transactional routing that respects NCC DND rules, and a fallback provider on NG so a primary outage does not stall your checkout, payout, or dispatch flow.

Prepaid transactional SMS and OTP, one set of keys

Robase is one SMS API for Africa: send transactional SMS, and send and verify one-time passcodes, from the same workspace. API keys start with robe_. Create a key in the dashboard at robase.dev/app, then call the REST API or an SDK. Credits are prepaid: you buy a balance and spend it on both transactional SMS and OTP. The transactional SMS API page covers webhooks and delivery status in more depth.

Pricing

One credit is ₦6. Nigeria is 1 credit per message (₦6). There is no monthly fee; you pay for what you send. The same table applies to transactional SMS and OTP, and destinations outside Africa are priced on the same credits, so a United States message is 50 credits (₦300).

CountryCodeCreditsNGN / message
NigeriaNG1₦6
GhanaGH3₦18
KenyaKE3₦18
South AfricaZA4₦24
United KingdomGB8₦48
United StatesUS50₦300
BeninBJ56₦336
Ivory CoastCI79₦474

Full breakdown on the pricing page.

Automatic provider failover

Nigeria, Ghana, Kenya, South Africa, Benin, and Ivory Coast (NG/GH/KE/ZA/BJ/CI) use multi-provider routing: if the primary upstream is unavailable, slow, or returns an error, Robase retries a fallback provider. You do not write retry logic or pick carriers. Routes to the United Kingdom and the United States (GB/US) are currently single-provider.

Developer path

One call: POST /v1/sms/send with the recipient and the message body. Auth is Authorization: Bearer robe_.... Use an E.164 Nigerian number such as +2348012345678. The response includes a message ID you can poll with GET /v1/sms/{id}.

Send: POST /v1/sms/send

curl -X POST https://api.robase.dev/v1/sms/send \
  -H "Authorization: Bearer robe_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"phone_number":"+2348012345678","message":"Your order #12345 has shipped. Track it in the app."}'

Status: GET /v1/sms/{id}

curl https://api.robase.dev/v1/sms/01HXY... \
  -H "Authorization: Bearer robe_your_api_key"

SDKs

  • Node.js: @robasedev/sdk (npm install @robasedev/sdk)
  • Go: github.com/mantissatech/robase-sdk-go (go get github.com/mantissatech/robase-sdk-go)
  • PHP: robase/sdk (composer require robase/sdk)

Official SDKs are Node.js, Go, PHP. There is no public Python SDK. Request and response shapes, webhooks, and errors are in the API docs.

OTP on the same credits

Signup, login, and 2FA codes use the same robe_ keys and prepaid balance. Two calls: POST /v1/otp/send then POST /v1/otp/verify. A Nigerian OTP costs the same 1 credit (₦6) as a transactional message. The SMS OTP API Nigeria guide covers the verify flow, code length, and expiry in detail.

Send: POST /v1/otp/send

curl -X POST https://api.robase.dev/v1/otp/send \
  -H "Authorization: Bearer robe_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"phone_number":"+2348012345678","code_length":6,"ttl_seconds":600}'

Verify: POST /v1/otp/verify

curl -X POST https://api.robase.dev/v1/otp/verify \
  -H "Authorization: Bearer robe_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"otp_id":"01HXY...","code":"123456"}'

Compare providers

See how prepaid credits and failover differ from Termii and Twilio. For Nigeria-specific networks, sender IDs, and NCC notes, use the SMS API in Nigeria page. For DND rules, sender ID registration, and webhooks across the continent, read the transactional SMS API for Africa guide.

FAQ

How much does a transactional SMS cost in Nigeria?

Nigeria is 1 prepaid credit per message, which is ₦6. There is no monthly fee. The same credits cover transactional SMS and OTP, and the same table prices every other route: for example the United States destination is 50 credits (₦300) per message.

Does Robase fail over when a Nigerian SMS provider is down?

Yes. Nigeria, Ghana, Kenya, South Africa, Benin, and Ivory Coast use multi-provider routing with automatic failover, so a receipt or alert to a Nigerian number retries a fallback provider if the primary fails. Routes to the United Kingdom and the United States are currently single-provider.

Which SDKs can I use to send a Nigerian transactional SMS?

Official SDKs are Node.js (@robasedev/sdk), PHP (robase/sdk), and Go (github.com/mantissatech/robase-sdk-go). There is no public Python SDK. All three wrap POST /v1/sms/send with robe_ API keys.

Is there a public email API or Python SDK?

No. Robase is transactional SMS and SMS OTP. There is no public email API and no Python SDK on PyPI. Account mail (signup, receipts, invites) stays internal.

Can I send OTP on the same credits?

Yes. POST /v1/otp/send and POST /v1/otp/verify use the same robe_ keys and prepaid credit balance as transactional SMS. A Nigerian OTP is also 1 credit (₦6).

Is there a free trial?

Yes. New signups get 10 free credits (₦60), enough for 10 Nigerian messages. No card is required, and the credits work for both transactional SMS and OTP.

Start sending transactional SMS and OTP in minutes

Sign up, grab a robe_ key from robase.dev/app, and send a Nigerian receipt for ₦6. 10 free credits (₦60) on signup, no card required.