Testing +226 sign-ups: a Burkina Faso verification number checklist

Calling code +226OTP Gateway from $0.20 per codeDedicated numbers: US & Canada onlyAPI id: bf
Quick answer

Yes, OTP Route lets you receive Burkina Faso (+226) verification codes through its OTP Gateway, either in the dashboard or through the REST API and signed webhooks, from $0.20 per code. Each number is good for one code inside a 20-minute window, and if nothing arrives the charge goes straight back to your wallet.

What should be ready before you request a +226 number?

Most failed first attempts come from a missing piece of setup rather than from the route itself. Tick these off before the first order:

  • An API key. Create one in the Developer console; live keys carry the or_live_ prefix and are sent as a Bearer token. You can hold up to 10 keys, so give staging and CI their own.
  • A funded wallet. Top up by card or with USDT/USDC. Nothing is deducted for a code that never arrives.
  • The right ids. Burkina Faso is bf in the API. Look up the service id with GET /api/v1/services instead of guessing it.
  • A delivery plan. Either a webhook endpoint with its secret stored safely, or a polling loop with sensible spacing. An account can register as many as 5 webhook endpoints, handy for separating staging from production.
  • A legitimate account to verify. A test user on your own product, or a business account your team operates. The terms of each service and the OTP Route Acceptable Use Policy apply.

The API reference lists every field if you want to read it before writing code.

Which apps can deliver codes to a Burkina Faso route?

The live catalog for bf currently lists more than 900 services. Among the popular ones available at the time of writing are WhatsApp, Facebook, Instagram, TikTok, Telegram, Google (Gmail & YouTube), Microsoft & Outlook, imo, Viber, Signal, LinkedIn, Uber, Amazon and ChatGPT (OpenAI).

Availability moves during the day as our carrier partners add and drain capacity, so treat that list as a snapshot. Your code should ask GET /api/v1/prices right before each order; it answers with the current price and whether the pair is orderable at all.

How does the API sequence run for country `bf`?

  1. Read the price for your pair with GET /api/v1/prices?country=bf&service=whatsapp (swap in your own service id).
  2. Create the activation with POST /api/v1/activations and the body {"service": "whatsapp", "country": "bf"}. Store the returned activation id; everything later is keyed on it.
  3. Trigger the SMS from the app you are testing, using the +226 number from the response.
  4. Wait for activation.sms_received on your webhook. Check the X-OTPRoute-Signature header, which has the form t=<unix>,v1=<hex>: compute HMAC-SHA256 over "<t>.<raw body>" with the endpoint secret, compare, and drop requests whose timestamp is stale. The walkthrough in securing OTP webhooks with HMAC covers the edge cases.
  5. No webhook? Poll GET /api/v1/activations/{id} every few seconds instead.
  6. Finished early or testing a failure path? Call POST /api/v1/activations/{id}/cancel. You will also see activation.expired or activation.cancelled when a run ends without a code.

The account allows 300 requests per minute, which is plenty for polling as long as each run backs off a little.

Can someone without code order a +226 code?

Yes. Support staff, marketers and account managers can do the same thing by hand. Sign in, open the OTP Gateway, choose Burkina Faso, pick the service and confirm the price shown on screen. The number appears straight away; paste it into the app, request the SMS, and the code lands in the same dashboard row. Leave the tab open or come back later, as the activation keeps listening for its full 20 minutes.

How should +226 numbers be stored, and which language will the SMS use?

Burkina Faso uses eight-digit national numbers and no trunk prefix, so there is no leading zero to strip: the national form and the digits after +226 are the same. Store numbers in E.164 as +226 followed by those eight digits, and normalize user input by removing spaces, dashes and an international 00 before saving. Validation rules copied from markets that use a trunk zero will reject valid +226 entries, which is a classic localization bug worth a regression test.

French has long been the language of administration, schooling and business, and Mooré, Dioula and Fulfulde are widely spoken. Most verification templates arrive in French or English depending on the account's locale, so make sure your parser copes with accented characters around the digits.

Teams usually test here when launching in francophone West Africa, checking French copy on a sign-up screen, or onboarding customers for payment and mobile-money products; the fintech onboarding page describes that pattern.

What should you try when no code reaches the number?

  • Let the window finish. Some services send late; cancelling at minute three throws away a run that might still succeed.
  • Confirm the service takes virtual numbers. Some platforms refuse them outright. That is exactly why unused activations are refunded.
  • Try another route or retry later. A different moment, or a neighboring West African route, often behaves differently.
  • Do not re-order in a tight loop. Rapid repeats tend to trip the sending app's own rate limits and make the next attempt worse.

The guide on reducing failed OTP deliveries goes deeper into retry design.

Is there a long-term Burkina Faso number, and how does billing work?

There is no self-serve long-term +226 line. Dedicated Numbers are a United States and Canada product, from $1.95/month, with inbound and outbound SMS plus browser calling. If you need a permanent Burkina Faso line, email [email protected]; whether one can be arranged depends on local rules and is not promised.

Payment for +226 activations comes out of a single prepaid USD wallet, with no subscription and no tier to pick. Top-ups by card or USDT/USDC each come with a PDF invoice by email. For integration work, ask to switch a development account to sandbox, which returns simulated numbers and codes so your test suite never touches real funds. Current rates are on the pricing page.

Frequently asked questions

Can I test my app's Burkina Faso sign-up flow without a local SIM?

Yes. Order a +226 number on the OTP Gateway, trigger the SMS from your app and read the code in the dashboard or through the API. You pay only if the code arrives.

What is the country id for Burkina Faso in the OTP Route API?

It is bf. Pair it with a service id from GET /api/v1/services when you call the prices or activations endpoints.

Do +226 numbers start with a zero?

No. Burkina Faso has no trunk prefix, so a number is simply +226 plus eight digits in E.164 form.

How long does a Burkina Faso verification number stay active?

Twenty minutes per activation. If the window closes without an SMS, or you cancel it, the full amount returns to your wallet automatically.

Will the code arrive in French?

It depends on the sending service and the language set on the account. French and English are the usual cases, so test both if your product supports them.

Can I use a +226 number to open many accounts on one platform?

No. OTP Route is for testing your own product and operating legitimate business accounts. Mass sign-ups or invented identities break the Acceptable Use Policy and the platform's own terms.

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.