SMS API for Japan: bulk SMS to +81 numbers
Japan
Calling code +81
- Per SMS segment
- $0.01067
- Messages for $100
- 9,372
- Local language
- Japanese
- Encoding
- Unicode (UCS-2)
What a bulk SMS send to Japan costs
| Messages | 1 segment | 2 segments |
|---|---|---|
| 1 | $0.01067 | $0.02134 |
| 1,000 | $10.67 | $21.34 |
| 10,000 | $106.70 | $213.40 |
| 100,000 | $1,067.00 | $2,134.00 |
Number format in Japan
Mobile numbers in Japan have 10 digits after +81. Locally they are written with a leading 0 (090-1234-5678); in the API that 0 is dropped, so the same number goes in the to field as +81 90 1234 5678.
Alphabet and segments
Text in Japanese (kana and kanji) is always Unicode, so a message to Japan written in Japanese carries 70 characters in one segment and 67 in each part of a longer one. Codes and alerts written in English or plain Latin letters fit 160 characters, which halves the cost of a long notice.
Time zone and timing
Japan keeps UTC+9 all year with no clock change, so 09:00 in Tokyo is always 00:00 UTC. send_at takes UTC or any ISO 8601 offset, and the console scheduler converts from your own time zone.
Send to Japan with one request
The answer comes back at once with the message id, the country the number was matched to (JP) and the price. A delivered or failed event follows on your webhook, and a failed message is refunded.
For a list, send the same text to up to 10,000 numbers with POST /v1/batches, or a personal text per number in messages.
curl https://bulksmsapi.cc/v1/messages \
-H "Authorization: Bearer $BULKSMSAPI_KEY" \
-H "Content-Type: application/json" \
-d '{"to": "+819012345678", "text": "Your Northwind code is 482913. It expires in 10 minutes."}'const res = await fetch("https://bulksmsapi.cc/v1/messages", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.BULKSMSAPI_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({ to: "+819012345678", text: "Your Northwind code is 482913. It expires in 10 minutes." }),
});
console.log(await res.json()); // price: "0.01067", country: "JP"import json, os, urllib.request
req = urllib.request.Request(
"https://bulksmsapi.cc/v1/messages",
data=json.dumps({"to": "+819012345678", "text": "Your Northwind code is 482913. It expires in 10 minutes."}).encode(),
headers={"Authorization": "Bearer " + os.environ["BULKSMSAPI_KEY"], "Content-Type": "application/json", "User-Agent": "northwind-app/1.0"},
method="POST",
)
with urllib.request.urlopen(req) as res:
print(json.load(res)["price"]) # "0.01067"What developers send to Japan
Order updates
E-commerce stores in Osaka text customers when their purchases ship, including tracking numbers and expected delivery dates.
Delivery notices
Courier companies in Nagoya send SMS alerts to drivers with optimized routes and package pickup instructions each morning.
Tour bookings
Museums in Kyoto text visitors their entry times and QR codes the day before their scheduled visit.
More countries in East Asia
SMS to Japan: questions
More answers on accounts, payments and the API are in the FAQ.
How much does it cost to send bulk SMS to Japan?
How many SMS to Japan does a $100 top-up send?
How do I write Japan numbers for the API?
Should we send SMS in Japanese or English?
Are there regional differences in SMS usage?
Start sending to Japan
Create an account, top up from $40 and send to Japan at $0.01067 per segment, from the console or with one API call.