Receiving imo SMS codes for testing and account operations

OTP Gateway from $0.20 per code197 countriesAPI id: imoDedicated US/CA numbers from $1.95/month
Quick answer

A team receives an imo verification code with OTP Route by ordering a one-time number for the imo service from the OTP Gateway, entering it in imo, and reading the code in the dashboard or through API polling and signed webhooks. Prices start from $0.20 per code, and an order with no SMS inside the 20-minute window is refunded automatically.

The situation: your product touches imo, and every test needs a phone

imo is a messaging and voice and video calling app that identifies each account by its phone number. Registering, or moving an account to a new device, triggers a one-time code by SMS. That design is simple for users and awkward for teams: anyone building an integration, a support workflow or a market test that involves imo needs a reachable number for every attempt.

Using staff phones mixes personal numbers with work accounts and does not scale to a test matrix across countries. A one-time number from the OTP Gateway handles one code, keeps private numbers out of it, and can be ordered from code or by hand. The mobile app verification page describes the wider pattern.

Which countries can receive imo OTP codes?

The imo service is currently available in 197 countries. Examples include India, Pakistan, Bangladesh, Nepal, Saudi Arabia, United Arab Emirates, Egypt, Nigeria, Kenya, Indonesia, the Philippines, Germany, Belgium, the United Kingdom, the United States and Canada.

Pick the country that matches the case you are testing. If your support team serves customers in South Asia, a number from that region reproduces the flow they see, including the language of the SMS and any regional checks the service applies. The browsable country list shows every route.

How does the imo verification code API flow work?

Create a Bearer key in the Developer console (prefix or_live_, up to 10 per account) and call https://otproute.com/api/v1; the limit is 300 requests per minute.

  1. Look up ids with GET /api/v1/services and GET /api/v1/countries; the service id is imo.
  2. Price the pair with GET /api/v1/prices?country=pk&service=imo.
  3. Order with POST /api/v1/activations and {"service": "imo", "country": "pk"}, then store the activation id.
  4. Enter the returned number in imo's registration screen.
  5. Collect the code from the activation.sms_received webhook, or poll GET /api/v1/activations/{id} if you cannot expose an endpoint.

For webhooks, verify X-OTPRoute-Signature: t=<unix>,v1=<hex> by computing HMAC-SHA256 of "<t>.<raw body>" with the endpoint secret, and reject old timestamps. Make the handler idempotent, keyed on the activation id, so a retried delivery is processed once. The full schema is in the docs.

Can someone order an imo number from the dashboard instead?

Yes. Sign up with an email and a 6-digit email code, or Google sign-in, and enable TOTP two-factor. Top up the wallet, choose imo and a country, check the displayed price, and confirm. Type the number into imo, and the code appears in the dashboard as soon as it is delivered. This suits support staff or an agency account manager who needs a single verification without writing code.

Why might an imo code not arrive, and what should I do?

Each activation stays open for 20 minutes, and you only pay if the code arrives. An expired or cancelled order is refunded in full to the wallet automatically.

Codes go missing for ordinary reasons: imo may refuse virtual numbers in some cases, a route can be busy, or the service may add checks on numbers it has seen before. When that happens:

  • Let the window run rather than cancelling early.
  • Retry later, or try another country route that still fits the test.
  • Put a pause and a cap on retries; firing new imo orders back to back only burns attempts.

When is a Dedicated Number a better fit for imo?

Because imo ties the account to the phone number, a one-time number cannot receive a later code when the same account signs in on another device. For a support line, a shared operations account or a staging login that must keep working, a Dedicated Number is the better choice. These are available only in the United States and Canada, from $1.95/month, with inbound SMS in the dashboard and to your webhook via number.sms_received. The dedicated numbers page explains renewals and release.

Responsible use and billing

Follow imo's terms of service: one account per real person or business, no bulk or fake registrations. OTP Route is for testing your own product's flow and operating your own legitimate accounts, and its Acceptable Use Policy applies. imo is a trademark of its owner, and OTP Route has no affiliation with it.

Billing uses one prepaid USD wallet, pay as you go, with no monthly fee. Funds go in by card or as USDT/USDC, and an emailed PDF invoice follows every top-up, which keeps imo testing costs easy to reconcile. Development accounts can be switched to sandbox on request for end-to-end tests with simulated numbers and codes.

Frequently asked questions

How do I receive an imo OTP through the API?

Create an activation with {"service": "imo", "country": "<id>"}, enter the number in imo, and read the code from the webhook or GET /api/v1/activations/{id}.

Is imo SMS verification for testing available in my country?

imo is listed in 197 countries right now. Check GET /api/v1/countries or the dashboard for live availability.

Does imo accept a virtual number for imo every time?

No. imo may refuse some virtual numbers, which is why an order with no code is refunded in full after 20 minutes.

What does an imo phone number from OTP Route cost?

From $0.20 per code, depending on the country. The live price comes from GET /api/v1/prices.

Can I log in to the same imo account again later with a one-time number?

Not reliably, because each one-time number handles one code. Use a US or Canada Dedicated Number for accounts that must sign in again.

How should my webhook handle duplicate imo deliveries?

Verify the signature, then process each activation id once so retries do not repeat work.

Can I create several imo accounts this way?

Only for real people or businesses you represent, within imo's terms. Bulk or fake registrations are not allowed.

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.

Route your first OTP in minutes

Create a free account, top up your USD wallet and order a number from the dashboard or the API. No monthly fee.