English
Nigeria (+234) SMS verification API for QA, fintech and launch teams
OTP Route lets you receive Nigeria (+234) SMS verification codes on single-use OTP Gateway numbers, with the code delivered to the dashboard, to a REST polling loop or to a signed webhook. Pricing begins at $0.20 per code, every service's exact price is returned live by the API, and an activation that sees no SMS within 20 minutes costs nothing.
Which endpoints do I call to receive a Nigerian OTP?
Everything sits under https://otproute.com/api/v1 and authenticates with a Bearer key that starts with or_live_. Nigeria's country id is ng. A typical integration makes four calls:
GET /api/v1/prices?country=ng&service=<id>to confirm the current price before committing.POST /api/v1/activationswith{"service": "<id>", "country": "ng"}to reserve a +234 number. Keep the returned activation id; every later call and webhook event is keyed on it.GET /api/v1/activations/{id}to read the status and, once delivered, the code.POST /api/v1/activations/{id}/cancelif your test fails upstream and you no longer need the number.
GET /api/v1/balance is handy as a pre-flight check in CI so a nightly suite fails fast when the wallet is low. The OTP API integration guide walks through the same sequence with error handling.
Should a Lagos test suite poll or use webhooks?
Polling is fine for a handful of manual runs. Once a pipeline orders several +234 numbers in parallel, webhooks are cleaner. Register one of your five endpoints in the Developer console and subscribe to activation.sms_received, activation.expired and activation.cancelled.
Each request carries X-OTPRoute-Signature: t=<unix>,v1=<hex>. Recompute HMAC-SHA256 over the timestamp, a dot and the raw body using your endpoint secret, compare in constant time, and drop the request if the timestamp is old. Store processed activation ids so a redelivered event does not trigger your test twice. The post on securing OTP webhooks with HMAC has a fuller checklist. Keep total traffic under 300 requests per minute per account, which is generous if you rely on events rather than tight polling.
What services are available on +234 routes?
The ng route currently lists more than 2,700 services. Frequently requested ones include WhatsApp, Telegram, Google (Gmail & YouTube), TikTok, Facebook, Instagram, X (Twitter), Snapchat, LinkedIn, Uber, Discord, Microsoft & Outlook, Amazon and ChatGPT (OpenAI). Inventory shifts through the day as our carrier partners update supply, so query live availability rather than assuming a service you saw yesterday is still there.
Why do teams need a Nigeria verification number in the first place?
Nigeria is one of Africa's busiest fintech and consumer-app markets, and many products treat the phone number as the primary identity. That makes the SMS step a critical part of onboarding for wallets, lending apps, ride-hailing, delivery and social products. Teams outside the country use a +234 number for testing to confirm the sign-up flow, the resend timer and the error copy behave as they would for a local user.
English is the official language, so verification texts usually arrive in English, which keeps assertion logic in automated tests straightforward. Fintech teams in particular should look at the fintech onboarding page for how this fits alongside identity checks that OTP Route does not replace.
How are Nigerian mobile numbers formatted?
The country code is +234 and the trunk prefix is 0. Nigerians usually write a mobile number as eleven digits starting with zero, such as 0803 123 4567; in international form the zero disappears and you get +234 803 123 4567. Persist the E.164 value (+234803...), accept the local eleven-digit format on input, and remove the leading 0 before saving. A validator that only checks total length will happily accept +2340803..., which is a frequent cause of failed sends in production.
Can I order a Nigerian number from the dashboard instead?
Yes. Sign up with an email code or Google, fund the wallet, open the OTP Gateway, pick Nigeria and the service, and confirm the displayed price. The number is ready immediately and the code appears next to the order when it lands.
If it doesn't arrive, let the 20-minute window run its course; you only pay if the code arrives, and expired or cancelled orders refund automatically. Then try a fresh order a little later, try a different route such as Ghana when your test allows it, and check whether the service refuses virtual numbers. Avoid firing new orders in a tight loop.
What about long-term Nigerian lines, billing and sandbox?
OTP Route has no self-serve long-term Nigerian number. Dedicated Numbers are sold only for the United States and Canada, from $1.95/month. For a lasting +234 line, email [email protected]; whether it can be provided depends on local regulation.
Spending comes from a single prepaid USD wallet with no plan or monthly fee. Top up by card or with USDT/USDC and receive a PDF invoice for every top-up. Ask support to switch a development account to sandbox mode and your integration will receive simulated numbers and codes, so you can test the full webhook path without spending wallet funds.
Frequently asked questions
Can I test my app's Nigerian sign-up flow without a local SIM?
Yes. Order a +234 number from the OTP Gateway and read the code in the dashboard or through the API.
What is Nigeria's country id in the OTP Route API?
Use ng as the country value in price lookups and activation requests.
How much does it cost to receive a Nigeria SMS OTP?
From $0.20 per code, with the exact amount depending on the service and returned by the prices endpoint.
Do I pay if no SMS arrives?
No. If nothing lands within 20 minutes, or you cancel, the full amount goes back to the wallet.
How should I store a number like 0803 123 4567?
Drop the leading zero and save it as +2348031234567, the E.164 form with no spaces.
Is it acceptable to use these numbers for any account?
Only for your own legitimate products and accounts. Follow each service's terms and the OTP Route Acceptable Use Policy; some services reject virtual numbers outright.
Service names are trademarks of their respective owners. OTP Route is not affiliated with them. Use numbers lawfully, follow each service's terms and our Acceptable Use Policy.