SMS API for Thailand: bulk SMS to +66 numbers
Thailand
Calling code +66
- Per SMS segment
- $0.00337
- Messages for $100
- 29,673
- Local language
- Thai
- Encoding
- Unicode (UCS-2)
What a bulk SMS send to Thailand costs
| Messages | 1 segment | 2 segments |
|---|---|---|
| 1 | $0.00337 | $0.00674 |
| 1,000 | $3.37 | $6.74 |
| 10,000 | $33.70 | $67.40 |
| 100,000 | $337.00 | $674.00 |
Number format in Thailand
Mobile numbers in Thailand have 9 digits after +66. Locally they are written with a leading 0 (081 234 5678); in the API that 0 is dropped, so the same number goes in the to field as +66 81 234 5678.
Alphabet and segments
Text in Thai is always Unicode, so a message to Thailand written in Thai 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
Thailand keeps UTC+7 all year with no clock change, so 09:00 in Bangkok is always 02:00 UTC. send_at takes UTC or any ISO 8601 offset, and the console scheduler converts from your own time zone.
Send to Thailand with one request
The answer comes back at once with the message id, the country the number was matched to (TH) 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": "+66812345678", "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: "+66812345678", text: "Your Northwind code is 482913. It expires in 10 minutes." }),
});
console.log(await res.json()); // price: "0.00337", country: "TH"import json, os, urllib.request
req = urllib.request.Request(
"https://bulksmsapi.cc/v1/messages",
data=json.dumps({"to": "+66812345678", "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.00337"What developers send to Thailand
Ride confirmations
Ride-hailing apps notify users in Bangkok when their driver is arriving, providing vehicle details.
Order dispatches
E-commerce platforms alert customers in Chiang Mai when their order is dispatched, with tracking information.
Flight updates
Airlines send SMS notifications to passengers in Phuket about flight delays or boarding gate changes.
Tour reminders
Travel agencies remind tourists in Pattaya about scheduled tours and pickup times via SMS.
More countries in Southeast Asia
SMS to Thailand: questions
More answers on accounts, payments and the API are in the FAQ.
How much does it cost to send bulk SMS to Thailand?
How many SMS to Thailand does a $100 top-up send?
How do I write Thailand numbers for the API?
Which language should SMS messages use in Thailand?
Are there seasonal peaks in SMS traffic?
Start sending to Thailand
Create an account, top up from $40 and send to Thailand at $0.00337 per segment, from the console or with one API call.