English
Lithuanian (+370) one-time codes for QA, onboarding and regional operations
Yes, OTP Route can receive Lithuanian (+370) SMS verification codes: order a one-time number from the OTP Gateway and the code is shown in the dashboard and pushed to your stack by signed webhook or picked up by REST polling. Codes start from $0.20 per code, and you pay nothing unless the message arrives within the 20-minute activation window.
Our onboarding works in Vilnius on paper; how do we prove it with a real +370 number?
Lithuania hosts a large number of fintech and e-money companies, and plenty of SaaS products pick it as their first Baltic market. That creates a familiar headache: the phone-verification step was built and tested with home-country numbers, and nobody is sure how it behaves for a Lithuanian customer until a ticket arrives.
The practical fix is to treat the +370 route as test infrastructure. With OTP routing you request a Lithuanian line on demand, run your real sign-up screen against it, and capture the code in code. Compliance and product teams get evidence that the flow works end to end, and engineers stop borrowing a colleague's personal phone. Our fintech onboarding notes cover the wider pattern.
Which apps can send codes to a Lithuania verification number?
The lt catalogue currently counts more than 1,500 services. Frequently requested ones include WhatsApp, Telegram, Viber, Facebook, Instagram, Google (Gmail & YouTube), Microsoft & Outlook, Amazon, eBay, Discord, LinkedIn, Uber, Netflix, Airbnb and Signal.
That snapshot reflects the routes open on 31 October 2026. Inventory moves throughout the day, so your scripts should check live status with the prices endpoint rather than hard-coding a service list. Keep in mind that a few apps choose not to accept virtual numbers at all; when that happens the activation simply expires and you are refunded.
What does the Lithuania OTP API flow look like in practice?
This SMS verification API is plain REST. Generate a key in the Developer console (each account may hold up to 10, prefixed or_live_) and send it as a Bearer token to https://otproute.com/api/v1. Then:
- Resolve ids with
GET /api/v1/countriesandGET /api/v1/services. Lithuania islt. - Read
GET /api/v1/prices?country=lt&service=<id>to see what the route costs right now. - Call
POST /api/v1/activationswith{"service": "linkedin", "country": "lt"}and keep the activation id. - Feed the +370 number into the form you are testing.
- Let your webhook catch
activation.sms_received; a polling loop onGET /api/v1/activations/{id}works too. - Clean up abandoned runs with
POST /api/v1/activations/{id}/cancel, and watch funds withGET /api/v1/balance.
Up to five webhook endpoints can be registered, which suits separate staging and CI receivers. Validate X-OTPRoute-Signature by computing HMAC-SHA256 of <t>.<raw body> with the endpoint secret, and refuse deliveries whose timestamp is old. For pipeline wiring, see SMS OTP testing in CI pipelines.
How should +370 numbers and Lithuanian-language SMS be handled?
Lithuanian mobile numbers have eight digits after the +370 country code and usually begin with 6. People often write them locally with a trunk prefix in front (historically an 8), so a sign-up form will see several shapes of the same number. Normalise everything to E.164 before saving: drop spaces, remove any domestic prefix, and store +370 plus eight digits.
Lithuanian is the official language, and messages from local brands may arrive in Lithuanian, while global apps follow the account locale. Letters such as ą, č, ė, š and ž push an SMS into Unicode encoding, which shortens each segment, so do not assume the code sits at a fixed character offset. Extract the digits with a pattern and your parser will cope with any language. Teams typically test here for Baltic launches, EU payment products, localisation checks and support desks serving Lithuanian customers abroad.
Is there a browser-only path for the operations team?
Yes, nobody needs to touch the API. After you sign up with an email code or Google, open the OTP Gateway, choose the app, set the country to Lithuania and review the live price. Confirm, copy the +370 number into the app, and the code appears in the dashboard when it lands.
An activation stays valid for 20 minutes. If no code comes in, or you cancel earlier, the full amount returns to your wallet without a support request.
Why might a code not reach the +370 number, and what helps?
When an activation stays quiet, the cause is usually on the sending side: rate limiting, a fraud rule, or a policy against virtual lines. A sensible response:
- Wait out the window, since some apps batch outgoing SMS.
- Cancel and retry after a pause, or pick a different route for the same service where offered.
- Confirm the app accepts virtual numbers before building a test around it.
- Do not hammer the order endpoint; space retries out and respect the 300-requests-per-minute limit.
Each app's terms still apply, and so does OTP Route's Acceptable Use Policy.
Can we keep a Lithuanian number long term, and how do we pay?
Not as a self-serve product. Dedicated Numbers are sold only in the United States and Canada, from $1.95/month, and Lithuania has no long-term line in the dashboard. If your project needs one, write to [email protected]; it depends on local rules and may not be possible. For accounts that must keep logging in, the temporary vs dedicated numbers article explains the trade-off.
Payment is pay as you go from a prepaid USD wallet, topped up by card or USDT/USDC, with no monthly fee and a PDF invoice for every top-up. Sandbox mode is available on request for integration tests that should not spend money.
Frequently asked questions
Can I receive a Lithuanian SMS OTP without living in Lithuania?
Yes. The OTP Gateway issues a +370 number you can use from anywhere, and the code is delivered to your dashboard, webhook or API client.
Which id does the API use for Lithuania?
Use lt as the country id in price lookups and activation requests.
How much is a +370 number for testing?
From $0.20 per code. The exact figure varies by app and is returned live by GET /api/v1/prices.
If the +370 line stays silent, is my wallet still debited?
It comes back. Activations that receive nothing within 20 minutes, or that you cancel, are refunded to the wallet in full.
Should I save Lithuanian numbers with the domestic prefix?
No. Strip any trunk prefix and store +370 followed by the eight-digit national number.
Can the same Lithuanian number receive a second code next week?
No. Each one-time number serves a single code, and self-serve long-term lines exist only for the US and Canada.
Can I test with Lithuanian numbers inside a CI pipeline?
Yes. Call the activations endpoint from your job, receive the code by webhook or polling, and cancel any run that ends early.
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.