Routing Republic of Congo (+242) verification codes into your test stack

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

Yes, OTP Route can receive Republic of Congo (+242) SMS verification codes on a one-time OTP Gateway number, shown in your dashboard or pushed to your code through REST polling or a signed webhook. Prices start at $0.20 per code, the exact figure comes back live from the API, and if nothing lands within the 20-minute window the charge flows back to your wallet.

Which API calls fetch a +242 code from start to finish?

Everything lives under https://otproute.com/api/v1 and authenticates with a Bearer key beginning or_live_. Generate keys in the Developer console; an account can hold up to 10, which makes it easy to give staging, CI and a teammate's laptop separate credentials that can be revoked independently.

A typical Brazzaville-market test run goes like this:

  1. Pull GET /api/v1/services and GET /api/v1/countries and cache the ids. The Republic of Congo is cg (not to be confused with its larger neighbor, which has its own id and page at Congo (DRC)).
  2. Ask GET /api/v1/prices?country=cg&service=<id> for the live price and availability of the app you are testing.
  3. Create the activation with POST /api/v1/activations and a body like {"service": "telegram", "country": "cg"}. You receive an activation id plus a +242 number.
  4. Type that number into your own product's sign-up or login screen.
  5. Pick up the Congolese code from a webhook delivery or by polling GET /api/v1/activations/{id}. If the test aborts, release it with POST /api/v1/activations/{id}/cancel.

Run GET /api/v1/balance before a suite starts so an empty wallet fails the job early rather than halfway through. The limit of 300 requests per minute leaves plenty of headroom for a few parallel workers. Full request and response shapes are in the developer docs.

How do I wire a signed webhook for Congolese activations?

Polling is fine for one engineer clicking through a flow; a webhook is kinder to a CI fleet. Add an endpoint in the Developer console (five are allowed per account) and subscribe to activation.sms_received, activation.expired and activation.cancelled.

Every request carries X-OTPRoute-Signature: t=<unix>,v1=<hex>. Rebuild the HMAC-SHA256 of "<t>.<raw body>" using that endpoint's secret, compare it to v1 with a constant-time check, and drop anything whose timestamp is stale. Hash the raw bytes before any JSON parsing, because re-serialized JSON rarely matches byte for byte.

Treat events as keyed on the activation id. If the same event arrives twice, your handler should notice the id is already resolved and simply return a success status. The webhook capture guide walks through queueing patterns that keep slow test runners from timing out.

Which services can a Congo verification number cover?

Today's snapshot for cg includes WhatsApp, Telegram, Google (Gmail & YouTube), Facebook, Instagram, TikTok, X (Twitter), ChatGPT (OpenAI), Claude, Microsoft & Outlook, LinkedIn, Signal, Viber and imo. Altogether the country has more than 1,000 services on the OTP Gateway.

That list shifts during the day as routes open and close, so never hard-code it. Let your test harness ask the prices endpoint for the specific service it needs, and skip or reschedule gracefully when availability is empty. Messaging apps tend to dominate the Congolese lineup, which matches how many customers there first meet a new product: through a shared link in a chat group rather than an app-store search.

How should +242 numbers be stored and normalized?

Republic of Congo numbers are nine digits long after the country code, and unlike many plans the leading 0 is part of the subscriber number rather than a trunk prefix. Mobile lines are commonly written as 06… or 05… locally and as +242 06… internationally. A normalizer copied from a European codebase that strips any leading zero will quietly corrupt these, so store exactly the E.164 string the API hands back and validate length per country rather than with one global rule.

French is the official language and the usual language of verification SMS, although Lingala and Kituba are widely spoken day to day. Expect accented characters in some templates and make sure your parser pulls digits with a pattern rather than relying on fixed English wording.

Teams typically test here when rolling a product into francophone Central Africa, supporting operations staff in Brazzaville or Pointe-Noire, or serving Congolese customers abroad who still sign up with a home number. Checking the whole flow on a real +242 route catches formatting and copy issues that a simulator would miss.

What if no code reaches the +242 number?

Silence is usually a route or acceptance issue, not an integration bug. A sensible playbook:

  • Let the 20-minute window run its course before concluding anything; some senders batch their outbound traffic.
  • Confirm the target service accepts virtual numbers. Several do not, which is precisely why an unreceived code costs nothing.
  • Try again later, or switch to another service route, rather than firing new orders in a tight loop that burns rate limit.
  • Cancel numbers you no longer need so the funds return immediately instead of waiting for expiry.

Our article on reducing failed OTP deliveries covers backoff and retry budgets in more depth.

Can I keep a long-term Congolese line?

No self-serve long-term number exists for the Republic of Congo. The OTP Gateway issues one number per verification code, and that is the only product offered for cg right now.

OTP Route's Dedicated Virtual Numbers are a United States and Canada product starting at $1.95/month, with inbound and outbound SMS plus browser calling. If your team truly needs a persistent Congolese line, email [email protected]; whether anything can be arranged depends on local rules, so treat it as a question rather than a promise. The trade-offs are summarized in temporary vs dedicated numbers.

How is a Congo OTP routing setup billed and tested safely?

Billing runs from one prepaid USD wallet with no subscription or plan tier. Top up by card or with USDT/USDC stablecoins, and each top-up produces a PDF invoice by email for your finance team.

Before wiring real money into a pipeline, ask support to switch a development account to sandbox mode. It returns simulated numbers and codes, so you can exercise the full SMS verification API path end to end without spending anything. Use OTP Route only on your own products and accounts you are entitled to operate; every service's terms and our Acceptable Use Policy still apply. See pricing for how charges and refunds appear in the wallet.

Frequently asked questions

What is the country id for the Republic of Congo in the OTP Route API?

It is cg. The Democratic Republic of the Congo is a separate country with its own id, so double-check which one your config references.

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

Yes. Order a +242 number for testing from the OTP Gateway, enter it in your app, and read the code in the dashboard or through the API.

Do I drop the leading zero when saving a +242 number?

No. In the Republic of Congo the 0 belongs to the nine-digit subscriber number, so keep the E.164 value exactly as the API returns it.

What language will Congolese verification texts use?

Most arrive in French, sometimes in English for international apps. Parse the digits with a pattern instead of matching specific words.

Am I charged if the code never shows up?

No. If the window closes without an SMS, or you cancel first, the full amount returns to your wallet automatically.

How much does it cost to receive a Congo SMS OTP?

From $0.20 per code; each app's +242 price is quoted live, so query it before ordering.

Is there a sandbox for building the integration?

Yes, on request. Support can put a development account into sandbox mode, which returns simulated numbers and codes without touching wallet 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.

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.