Pulling Argentine (+54) Verification Codes Into Your Integration

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

Yes: OTP Route can receive Argentina (+54) verification codes for you through its OTP Gateway, shown in the dashboard and pushed to your backend by REST polling or a signed webhook. Pricing starts at $0.20 per code, and the charge only sticks if the SMS lands inside the 20-minute activation window.

What are the four API calls behind a +54 activation?

Everything lives under https://otproute.com/api/v1 and authenticates with a Bearer key that starts with or_live_. Keys are issued in the Developer console; an account can hold up to 10 of them and register 5 webhook endpoints, with a ceiling of 300 requests per minute.

  1. Quote it. Call GET /api/v1/prices?country=ar&service=<id> so your code knows the live cost before committing wallet funds. The Argentina country id is ar.
  2. Order it. Send POST /api/v1/activations with the JSON body {"service": "whatsapp", "country": "ar"}, swapping in whichever service id your test needs. The response carries an activation id and the +54 number to type into the app under test.
  3. Wait for it. Either read GET /api/v1/activations/{id} on a sensible interval or let the activation.sms_received webhook tell you the code is in.
  4. Release it early if needed. POST /api/v1/activations/{id}/cancel ends an activation you no longer want and returns the money to the wallet.

If you want to see the IDs before hard-coding them, GET /api/v1/services and GET /api/v1/countries list what the platform currently offers. Full reference material lives in the docs.

How do I make the webhook receiver trustworthy for Argentine codes?

Every delivery includes an X-OTPRoute-Signature header shaped like t=<unix>,v1=<hex>. Rebuild the string "<t>.<raw body>", compute HMAC-SHA256 over it with that endpoint's secret, and compare the result against v1 using a constant-time function. Drop any request whose timestamp is stale, because an old but valid signature is exactly what a replay looks like.

Besides activation.sms_received, subscribe to activation.expired and activation.cancelled so a test runner never hangs waiting on a number that has already closed. Treat every event as keyed on the activation id and write your handler so that a second delivery of the same event changes nothing. The post on signing and verifying OTP webhooks walks through the comparison logic in more depth.

Which apps can I verify against an Argentine number?

The live snapshot for Argentina lists more than 2,000 services. The ones Argentine product and QA teams tend to reach for include:

This list moves during the day, which is why the API reports availability live rather than in a static table. Query GET /api/v1/services with the ar country in mind before a scheduled CI job starts, and fail fast with a clear message if your target service is temporarily missing.

Why do Argentine mobile numbers trip up phone validators?

Argentina has one of the more unusual numbering plans in the region. Domestically, people write a trunk 0 before the area code and, for mobiles, a 15 before the subscriber digits, so a Buenos Aires cell might appear as 011 15 followed by eight digits. In international E.164 form both of those disappear and a 9 is inserted right after the country code: +54 9 11 and then the eight-digit subscriber number.

That difference matters for anyone storing phone numbers. Normalize everything to E.164 before saving, strip the 0 and the 15 on input, and add the 9 for mobile numbers. A validator that only checks length will happily accept a landline-style +54 11 value that cannot receive SMS. Use the number exactly as the API returns it rather than reformatting it yourself.

Codes sent to Argentine numbers usually arrive in Spanish, often with a phrase such as "Tu código es" around the digits. Parse the numeric code with a pattern instead of matching wording, since templates change. Teams test here when launching in Latin America, checking Rioplatense Spanish copy (the local vos forms differ from textbook Spanish), running regional operations, or serving Argentines living abroad who still sign up with a +54 SIM.

Can someone without code order a +54 number?

Yes. Support, growth and agency staff can do the whole thing from the browser:

  1. Create an account at signup with an email and a 6-digit code, or with Google sign-in.
  2. Add funds to the wallet.
  3. Open the OTP Gateway, choose Argentina, then pick the service you are testing.
  4. Check the price shown, confirm, and copy the +54 number into the app's verification screen.
  5. Watch the activation; the code appears there as soon as it is received.

The dashboard and the API draw on the same wallet and the same activations, so a developer can pick up a number a teammate ordered by its activation id.

The Argentine code never showed up. What next?

Each activation stays open for 20 minutes. If nothing arrives, or you cancel first, the full amount goes back to the wallet automatically, so a silent route costs you time rather than money. Delivery speed depends on the service and the route, so give the window a fair chance before deciding it failed.

Then work through this short list:

  • Request the code again from inside the app once, then let the window run.
  • Try later in the day, or order through another route for the same service.
  • Confirm the service accepts virtual numbers at all; some reject them, which is the reason the automatic refund exists.
  • Avoid re-ordering in a tight loop from CI. Add a back-off and a retry cap.

Our write-up on reducing failed OTP deliveries covers further patterns for Argentine routes. Keep every test inside each service's terms; the OTP Route Acceptable Use Policy also applies.

Can we keep an Argentine line, and how do we pay?

There is no self-serve long-term number for Argentina today. If your team needs a persistent +54 line, email [email protected] and describe the use case; whether it can be arranged depends on local rules and is not assured. Dedicated Virtual Numbers, which you keep while they renew and which forward inbound SMS to your webhook, are a United States and Canada product from $1.95/month.

Billing runs through one prepaid USD wallet with no monthly fee and no plan to choose. Top up by card or with USDT/USDC, and each top-up produces a PDF invoice by email. Details are on the pricing page. Before spending real funds, ask for your development account to be switched to sandbox, which returns simulated numbers and codes so you can rehearse the whole Argentina flow end to end.

Frequently asked questions

What is the Argentina country id in the OTP Route API?

It is ar. Pass it in the country field of POST /api/v1/activations and in the query string of GET /api/v1/prices.

Do I need to add the 9 when I type the +54 number into an app?

Use the number exactly as OTP Route returns it. In your own database, store Argentine mobiles in E.164 form, which includes the 9 after +54 and drops the domestic 0 and 15.

How much does it cost to receive an Argentina SMS OTP?

From $0.20 per code, varying by service. The exact figure is returned by GET /api/v1/prices and displayed before you confirm an order.

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

Yes. Order an Argentina activation for your own app or for the third-party service in your test, enter the +54 number, and read the code in the dashboard or from your webhook.

Will the same +54 number work again for a login next month?

No. A gateway number covers a single code within 20 minutes. For accounts that must keep receiving codes, a Dedicated Number in the US or Canada is the fitting option.

What language will the Argentine verification text be in?

Usually Spanish, though it depends on the sender and the account's language settings. Extract the digits rather than relying on surrounding words.

Is polling acceptable instead of webhooks?

Yes. Poll GET /api/v1/activations/{id} at a modest interval and stay well under the limit of 300 requests per minute per account.

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.