English
A pre-flight checklist for receiving Austrian verification codes on +43 numbers
Yes, you can receive Austria (+43) verification codes with OTP Route: order a number on the OTP Gateway, and the code appears in the dashboard and reaches your systems by REST polling or a signed webhook, from $0.20 per code. Each number covers one code within a 20-minute window, and the charge goes back to your wallet if nothing arrives.
What belongs on the checklist before the first +43 order?
Most failed Austrian test runs trace back to setup, not to OTP routing itself. Tick these off before a pipeline places its first order:
- An API key created in the Developer console. Keys start with
or_live_and go in a Bearer header; an account can hold up to 10 of them, so give CI its own. - A funded wallet. The OTP Gateway is pay as you go, and the price for each service is shown before you commit.
- The country id
at, which is the value every Austria call expects. - The service id from
GET /api/v1/services, rather than a guessed string. - A webhook endpoint (up to 5 per account) and its signing secret stored in your secrets manager.
- A phone field that accepts variable-length Austrian numbers, because your own form is part of what you are testing.
- A test account that belongs to your product or your business. OTP Route is built for QA and operations on legitimate accounts, and our Acceptable Use Policy applies to every order.
If you have not wired an OTP provider before, the OTP API integration guide walks through the same items in more depth.
Which apps can deliver codes to an Austrian route?
The live snapshot for Austria lists a wide spread of messaging, productivity and commerce services. Popular ones include WhatsApp, Telegram, Signal, Google (Gmail & YouTube), Microsoft & Outlook, LinkedIn, ChatGPT (OpenAI), Claude, Amazon, eBay, Airbnb, Uber, Netflix and Discord.
In total the Austria route reaches more than 1,800 services. Inventory moves during the day, which is why GET /api/v1/countries and the prices endpoint return what is available right now instead of a fixed catalogue. Read those values at run time and let your test harness skip a service that is temporarily missing.
How do I run the Austria OTP API flow, step by step?
The base URL is https://otproute.com/api/v1, and the account limit is 300 requests per minute. A typical run looks like this:
- Call
GET /api/v1/prices?country=at&service=<id>and abort early if the service has no Austrian availability at that moment. - Create the activation with
POST /api/v1/activationsand the JSON body{"service": "<id>", "country": "at"}. Persist the returned activation id. - Enter the +43 number in the app under test and trigger its SMS step.
- Wait for
activation.sms_receivedon your webhook, or pollGET /api/v1/activations/{id}at a modest interval. - If the test aborts, release the order with
POST /api/v1/activations/{id}/cancelso the funds return straight away. - Optionally assert
GET /api/v1/balanceat the end of a nightly job to catch a wallet that needs topping up.
Every webhook carries X-OTPRoute-Signature: t=<unix>,v1=<hex>. Recompute HMAC-SHA256 over <t>.<raw body> with the endpoint secret, compare in constant time and drop stale timestamps. Treat events as keyed on the activation id so a retried delivery changes nothing. Full reference material lives in the API docs.
How does someone without code get a +43 verification number?
Support staff, marketers and agency account managers who never touch the SMS verification API can do the same thing from the browser:
- Sign in, open the OTP Gateway and choose Austria.
- Search for the service and check the live price next to it.
- Order the Austria verification number, copy it, and paste it into the sign-up or verification screen.
- Keep the tab open; the code appears in the activation card when the SMS lands.
Teams that run this as a regular QA routine usually document it alongside the steps on our QA testing page.
How should Austrian phone numbers be parsed and stored?
Inside Austria people dial a trunk prefix 0, so a mobile number is written domestically as 06xx followed by the subscriber digits. In international form that zero disappears: the stored value should begin +43 6…. Austria also uses variable-length numbering, so validation rules that insist on one exact digit count will reject real customers. Parse input with a maintained phone-number library, strip spaces and the domestic zero, and save one canonical E.164 string per user.
German is the official language, so many services word their verification message in German when the account locale is German, and in English otherwise. Your extraction logic should look for the digit sequence instead of matching surrounding words.
Teams usually test this market when they localise for the DACH region and want Austrian sign-ups checked separately from German ones, when a Vienna-based operations team manages regional business accounts, or when an EU launch plan lists Austria among the first wave.
The Austrian code never arrived. What now?
Work through this troubleshooting list in order:
- Let the 20-minute window finish. You only pay if the code arrives; otherwise the full amount returns to the wallet automatically when the window closes or when you cancel.
- Confirm the service accepts virtual numbers. Some platforms refuse them, and that refusal is exactly what the automatic refund is for.
- Try again later or pick a different route. Availability and acceptance shift through the day.
- Back off between attempts. Re-ordering in a tight loop wastes requests and rarely helps.
Our article on reducing failed OTP deliveries covers retry budgets for CI.
Is there a long-term Austrian line, and how is billing handled?
There is no self-serve long-term number for Austria. Dedicated Virtual Numbers are a United States and Canada product, from $1.95/month, with inbound SMS, outbound SMS and browser calling. If your team needs a lasting Austrian line, email [email protected]; whether one can be arranged depends on local rules and is not guaranteed.
Billing runs on one prepaid USD wallet with no monthly fee and no plan to choose. Top up by card or with USDT/USDC stablecoins, and each top-up produces a PDF invoice by email. On request, a development account can be switched to sandbox, which returns simulated numbers and codes so the whole integration can be exercised without spending wallet funds. Current rates are on the pricing page.
Frequently asked questions
Can I check my app's Austrian sign-up flow without buying a local SIM card?
Yes. Order a +43 number for testing on the OTP Gateway, enter it in your app, and read the code from the dashboard or your webhook.
Which country id does the API use for Austria?
Use at in the activation body and in the prices query string.
Should the leading 0 be kept when saving an Austrian mobile number?
No. The domestic trunk zero is dropped in E.164, so a stored mobile number starts with +43 6. Keep exactly one normalised format in your database.
Am I billed when no SMS reaches the +43 number?
No. If the 20-minute window closes without a code, or you cancel first, the full amount goes back to your wallet automatically.
Does OTP Route charge a subscription for the Austria route?
No. There is no monthly fee; you pay per received code, starting from $0.20 per code depending on the service.
Can one Austrian activation number receive a second code next week?
No. Each activation is for one verification code. Accounts that must log in again later fit better on a US or Canada Dedicated Number.
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.