English
Getting Liberian (+231) Verification Codes Into Your Test Runs
Yes, you can receive Liberian (+231) verification codes with OTP Route by ordering a temporary number on the OTP Gateway, from $0.20 per code, and reading the SMS in the dashboard or through the API and webhooks. You pay only if a code arrives within the 20-minute window.
Why do teams want a Liberian number at all?
Liberia is an English-speaking West African market, which makes it a practical first stop for companies expanding along the coast: copy rarely needs translation, so test effort goes into the verification flow itself. Teams also look at +231 when they serve the Liberian diaspora and want to confirm that a relative back home can actually finish sign-up. Fintech and marketplace products in particular need to see that a local number passes their checks before launch; see fintech onboarding for the wider pattern.
A third group is operations staff who manage business accounts for a Liberian office or partner. Using a gateway number for the one-time verification keeps employees' personal phones off company profiles, and the code lands somewhere the whole team can see it.
What can I verify on a +231 route?
The country currently lists more than 1,700 services. Common choices include WhatsApp, Facebook, TikTok, Telegram, Instagram, Google (Gmail & YouTube), Snapchat, imo, Viber, X (Twitter), LinkedIn and Microsoft & Outlook. Stock moves through the day, which is why the API returns live availability instead of a fixed catalogue.
For a test plan, list the two or three services your users actually rely on, then check each pair with a price lookup at the start of the run. A messaging app that works on +231 this morning may be briefly unavailable this afternoon, and a pipeline that checks first fails with a clear reason instead of a timeout.
Which endpoints does a Liberia integration call?
Everything sits under https://otproute.com/api/v1 with a Bearer key from the Developer console.
- Look up ids with
GET /api/v1/servicesandGET /api/v1/countries; Liberia islr. - Price the pair with
GET /api/v1/prices?country=lr&service=<id>. - Create the order with
POST /api/v1/activationsand a body of{"service": "<id>", "country": "lr"}. - Receive
activation.sms_received,activation.expiredoractivation.cancelledon your webhook, keyed on the activation id, or pollGET /api/v1/activations/{id}.
Check X-OTPRoute-Signature on every webhook: compute HMAC-SHA256 over <t>.<raw body> with the endpoint secret and reject old timestamps. The webhook security post shows the details.
Can I receive a Liberia SMS OTP without writing code?
Yes. In the dashboard, choose Liberia, choose the service, confirm the displayed price and place the order. Paste the +231 number into the app; the code appears beside the order as soon as it is delivered. Copy it straight into the app's code field, and if you are finished with an order that is no longer needed, cancel it from the same screen so the balance returns at once.
How do I format and normalise +231 numbers?
Liberian numbers are usually written locally with a leading 0 trunk prefix. Drop that zero and prepend +231 to get the E.164 form your database should keep. Mobile numbers from different local operators all share the same +231 country code, so there is no need to branch on the operator when routing an OTP. Validate against the international form rather than the local one, and keep a separate display string if your support team prefers the familiar local layout. English is the official language, so most service templates arrive in English. That simplifies code extraction, but still match on the digit group rather than a fixed sentence, because services reword their messages without notice.
What helps when a Liberian code is late or missing?
Delivery depends on the service and the route. If nothing shows up:
- Let the 20-minute window finish; a cancelled or expired order is refunded in full.
- Retry later, or with another service route.
- Confirm the service accepts virtual numbers; some refuse them.
- Avoid re-ordering in a tight loop, which only burns attempts.
More on this in reducing failed OTP deliveries.
Is there a long-term Liberian line, and how is it paid for?
There is no self-serve long-term number for Liberia. Dedicated lines are a United States and Canada product, from $1.95/month. If you need a lasting Liberian line, email [email protected]; whether one is possible depends on local rules and is not assured. For most Liberian test plans the gateway is enough, because each sign-up or confirmation step only needs one code.
Billing runs from one prepaid USD wallet with no monthly fee. Top up by card or USDT/USDC, collect PDF invoices by email, and request sandbox mode while you build. Start at sign up.
Frequently asked questions
Can I test my app's Liberian sign-up flow from abroad?
Yes. Order a +231 number on the OTP Gateway and complete verification remotely; no local SIM is involved.
What country id does the API use for Liberia?
Use lr in the country field of POST /api/v1/activations and in price lookups.
What does a Liberian code cost?
Liberian orders begin from $0.20 per code, with the amount depending on the service. The exact figure comes back from GET /api/v1/prices and is shown before you order.
What happens to my balance if a Liberian code is never delivered?
No. No. A +231 order that sees no SMS in 20 minutes, or that you cancel, is refunded to the wallet in full and automatically.
Can I reuse the same +231 number next week?
No. A gateway number is for one verification code. Long-term lines exist only in the US and Canada.
Should I poll or use webhooks?
Webhooks are lighter on your systems; polling is fine for scripts. Many teams use webhooks and fall back to polling when a handler is down.
Is there a test mode that doesn't charge my wallet?
Yes, on request a development account can switch to sandbox, which returns simulated numbers and codes.
Are there limits on what I may verify?
Yes: the target app's own terms apply, as does the OTP Route Acceptable Use Policy. Liberian numbers are meant for testing your product and operating accounts your organisation genuinely owns.
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.