English
Shipping to Japan Without a Japanese Phone: Testing +81 Codes
Yes, you can receive Japan (+81) verification codes with OTP Route by ordering a number through the OTP Gateway and reading the SMS in the dashboard or through the API and signed webhooks, from $0.20 per code. Use the country id jp, enter the number in the app you are testing, and you are only charged if the code arrives inside the 20-minute window.
Why does a Japanese launch stall at the phone-number step?
Teams preparing a Japanese release usually have the translation done, the payment methods wired up and the App Store listing drafted. Then someone asks who will verify the sign-up flow with a real +81 number, and the room goes quiet.
The gap shows up in a few predictable places:
- Localisation QA has to confirm that the phone field accepts the formats Japanese users actually type, including numbers written with hyphens.
- Regional operations staff in Tokyo or Osaka need to recover a shared business account after a device change, and nobody wants to put a personal number on it.
- Partners and integrations with Japanese platforms sometimes require a local number during onboarding of a business profile.
The OTP Gateway removes the dependency on a physical SIM. It gives you a +81 number for one verification, collects the SMS through OTP routing on our carrier partners, and hands the result to your code or your browser.
What can I verify on a +81 number for testing?
A Japan verification number can currently be ordered for more than 1,500 services. Popular routes in the live snapshot include LINE, X (Twitter), Amazon, Netflix, Google (Gmail & YouTube), Instagram, TikTok, Discord, Uber, Airbnb, Microsoft & Outlook, ChatGPT (OpenAI), Facebook and WhatsApp.
LINE deserves a special note because it is the default messaging app for a large share of people in Japan, so a product that offers LINE login or LINE notifications will want that path covered as well as plain SMS. Availability changes during the day, which is why the list in your tooling should come from the API rather than from this page.
How do I wire the Japan OTP API into a test runner?
The SMS verification API lives at https://otproute.com/api/v1. Create a key in the Developer console (they begin with or_live_), send it as a Bearer token, and stay under 300 requests per minute. One account can hold 10 keys and 5 webhook endpoints.
A typical run looks like this:
- Resolve ids once with
GET /api/v1/servicesandGET /api/v1/countries; Japan isjp. - Fetch the current rate through
GET /api/v1/prices?country=jp&service=<id>and store it with the test result. - Create the order with
POST /api/v1/activationsand the body{"service": "<id>", "country": "jp"}. - Type the returned number into the app under test and trigger the SMS.
- Receive
activation.sms_receivedon your webhook, or pollGET /api/v1/activations/{id}if the runner sits behind a firewall. - On teardown, call
POST /api/v1/activations/{id}/cancelfor any activation the test no longer needs.
Webhook requests carry X-OTPRoute-Signature: t=<unix>,v1=<hex>. Recompute HMAC-SHA256 over <t>.<raw body> using the endpoint secret, compare safely, and refuse old timestamps. Treat events as keyed on the activation id so a retry is harmless. For CI specifics see SMS OTP testing in CI pipelines and the QA testing solution.
Can a non-developer in the Tokyo office do this from a browser?
Yes. In the OTP Route dashboard, open the OTP Gateway, select Japan and the service, check the displayed price, and confirm. The number is shown immediately; when the message comes in, the code appears beside it. Nothing needs to be installed, which makes it practical for a support lead or a marketing manager checking a campaign landing flow.
How are Japanese mobile numbers formatted, and what do the messages look like?
Japan uses a domestic trunk prefix of 0. Mobile numbers are generally written as 070, 080 or 090 followed by eight digits, often grouped with hyphens. In E.164 the zero is dropped, so 090 and the rest becomes +81 90 plus eight digits. Save only the E.164 version, strip hyphens and spaces when users type them, and make sure your validator does not reject the 070 range.
Verification messages often arrive in Japanese, mixing kanji, hiragana and katakana, and some include full-width digits instead of ordinary ASCII numerals. Run the text through Unicode NFKC normalisation before extracting the code, otherwise a regex for [0-9] can quietly miss it. Japanese text also means the SMS is sent in a Unicode encoding, so keep your logs in UTF-8 to read failures later.
The code didn't show up. What should we try?
No arrival means no charge: when 20 minutes pass without an SMS, or you cancel, the full amount is refunded to the wallet automatically. Before ordering again:
- Give the window time; a code that arrives late is still captured.
- Retry after a pause, or switch to another route for the same service.
- Check whether the service accepts virtual numbers in the first place, because some decline them.
- Avoid re-ordering in a fast loop from automation; space attempts out instead.
The article on country routing for OTP explains why routes differ.
Is there a long-term Japanese line, and how is the wallet billed?
OTP Route does not offer a self-serve long-term Japanese number. Dedicated Virtual Numbers are a United States and Canada product from $1.95/month; if a long-term +81 line is essential, email [email protected] and the team will check what local rules allow, without any promise that it is possible.
Payment runs through a single prepaid USD wallet: no subscription and no plan. Top up with a card or with USDT/USDC, and a PDF invoice arrives by email for every top-up. On request, a development account can run in sandbox mode with simulated numbers and codes. See the pricing page for live figures.
Frequently asked questions
Can I receive Japan SMS OTP codes without a Japanese SIM card?
Yes. The OTP Gateway issues a +81 number for one verification and shows the code in the dashboard or sends it to your webhook.
Which country id do I send for Japan in API calls?
Use jp in the activation body and in the prices query.
Why does my parser miss codes in Japanese messages?
The message may use full-width digits. Apply NFKC normalisation before matching, and the code will match an ordinary digit pattern.
Should 090 numbers be stored with the leading zero?
No. Store +81 followed by the number without the trunk zero, for example +81 90 and the remaining eight digits.
What happens to my money if no Japanese verification code arrives?
It goes back to your wallet automatically once the 20-minute window ends or you cancel the activation.
Can we test LINE sign-ups for the Japanese market?
LINE appears among the services available for Japan, though availability changes. Check the live list, and follow LINE's terms for any account you create.
Is there a rule about how the numbers may be used?
Yes. Use them only for your own products and legitimate accounts, respect each service's terms, and note that the OTP Route Acceptable Use Policy applies.
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.