English
Receiving +880 Verification Codes for Bangladesh Launches and QA
Yes, OTP Route lets your team receive Bangladesh (+880) verification codes on a temporary number, either in the dashboard or through the REST API and signed webhooks. The OTP Gateway starts from $0.20 per code, and you are billed only when the SMS lands inside the 20-minute activation window. The exact figure for each service is returned live before you place an order.
What makes Bangladesh a market worth testing on a local number?
Bangladesh is a mobile-first country: for a large share of users the phone number is the identity, and sign-up flows are built around an SMS code rather than an email link. That has a few consequences for product and QA teams preparing a release there.
- Bangla localisation. Bengali (Bangla) is the official language, and many apps now send verification texts in Bangla script. A Bangla message travels as Unicode, so one SMS segment holds noticeably fewer characters than a plain Latin message. If your own template mixes a Bangla greeting, the code and a link, check that it still fits and that the digits stay easy to copy.
- Mixed-language reality. Plenty of services still send English codes to +880 numbers. Testing both variants catches broken fonts and truncated templates before customers see them.
- Diaspora traffic. Bangladeshi workers and families in the Gulf, Malaysia and the UK keep in touch with home through messaging apps such as imo and WhatsApp, so a +880 test line is useful even when your team sits elsewhere.
A real local route lets you see exactly what a Dhaka user would receive, instead of guessing from a foreign SIM.
How are +880 numbers written, and how should you store them?
Domestically, a Bangladeshi mobile number is dialled with the trunk prefix 0, giving eleven digits that start with 01, for example 01X XXXX XXXX. In international form the leading zero is dropped and the country code takes its place: +8801XXXXXXXXX.
Practical rules for your user table:
- Store every number in E.164 (
+880followed by ten digits, no spaces or dashes). - On input, strip spaces and dashes, then remove a leading
0or880before prefixing+880. People type all three forms. - Validate mobiles with a pattern such as
^\+8801[3-9]\d{8}$, and show the friendly01…form only in the interface.
Getting this wrong is a classic cause of a Bangladesh OTP that "never arrives": the code was sent to +88001…, a number that does not exist.
Which services can send codes to a Bangladesh verification number?
The live snapshot for Bangladesh lists more than 1,700 services. Among the popular ones currently routed there are WhatsApp, imo, Facebook, Telegram, Google (Gmail & YouTube), TikTok, Viber, Microsoft & Outlook, LinkedIn, Uber, Discord, Signal and ChatGPT (OpenAI).
Availability moves during the day as carrier partners add and use up capacity, which is why the list is never hard-coded on our side. Query it at the moment you need a number rather than caching it overnight.
How does the Bangladesh OTP API flow work end to end?
Every OTP Route API call goes to https://otproute.com/api/v1 with a Bearer key from the Developer console (keys start with or_live_; up to 10 per account, 300 requests per minute).
- Call
GET /api/v1/countriesonce to confirm the country idbd, andGET /api/v1/servicesto find the service id you are testing. - Read the current price with
GET /api/v1/prices?country=bd&service=<id>so your job can stop if the figure is outside its budget. - Create the order with
POST /api/v1/activationsand the body{"service": "<id>", "country": "bd"}. The response carries the +880 number and an activation id. - Trigger the sign-up in the app under test, then wait for
activation.sms_receivedon your webhook or pollGET /api/v1/activations/{id}. - If the test is abandoned, release the order with
POST /api/v1/activations/{id}/cancel.
Webhooks carry an X-OTPRoute-Signature header (t=<unix>,v1=<hex>): compute HMAC-SHA256 of <t>.<raw body> with the endpoint secret, compare, and reject stale timestamps. Key your handler on the activation id so a repeated delivery changes nothing. The API reference and our note on webhook-based OTP capture cover the details. Before spending wallet funds, ask support to switch a development account to sandbox, which returns simulated numbers and codes for this SMS verification API.
Can someone without code order a +880 number for testing?
Yes. Support staff, marketers and agency account managers can work entirely in the dashboard:
- Create an account with email and a 6-digit code, or with Google, and top up the wallet.
- Open the OTP Gateway, choose Bangladesh, then pick the service.
- Check the price shown on screen and confirm.
- Enter the +880 number in the app you are testing and request the code.
- Watch the order page; the SMS appears there as soon as it is delivered.
It is the same OTP routing the API uses, just with buttons instead of requests.
Why might a +880 code not show up, and what should you try next?
Each activation stays open for 20 minutes. If no SMS reaches the number in that time, or you cancel first, the full amount returns to your wallet automatically; you only pay if the code arrives.
When a code is missing:
- Let the window run. Some services queue their texts, and a second order placed too early can confuse your test.
- Confirm the service accepts virtual numbers at all. Several platforms refuse them, and that is exactly the case the refund exists for.
- Retry later, or try a different service route for the same scenario.
- Avoid re-ordering in a tight loop; add a back-off to your CI job.
Further diagnosis steps for stubborn +880 routes are collected in reducing failed OTP deliveries.
Is there a long-term Bangladeshi line, and how does billing work?
There is no self-serve long-term number for Bangladesh. If your team needs a persistent +880 line, email [email protected] to ask; whether one can be provided depends on local rules and is not something we can promise. Dedicated Numbers that you keep and renew are a US and Canada product, from $1.95/month, described on the virtual numbers page.
Billing is one prepaid USD wallet: pay as you go, no monthly fee and no plan to pick. Funds go in by card or as USDT/USDC stablecoins, and finance receives a PDF invoice by email for each deposit. See pricing for how charges work. Use the service only for your own products and accounts, follow each platform's terms, and note that the OTP Route Acceptable Use Policy applies.
Frequently asked questions
Can I test my app's Bangladesh sign-up flow without a local SIM?
Yes. Order a +880 number on the OTP Gateway, request the code from your app, and read it in the dashboard or receive it by webhook.
What is the country id for Bangladesh in the OTP Route API?
It is bd, the value you pass as country both when checking prices and when creating a Bangladesh activation.
Should I keep the leading 0 when I store a Bangladeshi number?
No. Store +8801… in E.164 and drop the trunk 0; show the 01… form only to local users.
Will the verification text arrive in Bangla or English?
That is decided by the sending service and its template. Many still send English, some send Bangla, so test both if your app supports both.
What happens to my money if the +880 code never comes?
If nothing arrives within the 20-minute window, or you cancel, the full amount goes back to your wallet automatically.
Can I keep a Bangladesh number for repeated logins?
Not through self-serve. Long-term numbers are offered in the US and Canada; for a +880 line you can email [email protected], with no promise of availability.
How do I receive Bangladesh SMS OTP codes inside a CI pipeline?
Create the activation from the job, wait for the signed activation.sms_received webhook or poll the activation, then assert on the code. A sandbox account lets you rehearse this without spending funds.
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.