SMS API for Indonesia: bulk SMS to +62 numbers
Indonesia
Calling code +62
- Per SMS segment
- $0.04257
- Messages for $100
- 2,349
- Local language
- Indonesian and Malay
- Encoding
- GSM-7
What a bulk SMS send to Indonesia costs
| Messages | 1 segment | 2 segments |
|---|---|---|
| 1 | $0.04257 | $0.08514 |
| 1,000 | $42.57 | $85.14 |
| 10,000 | $425.70 | $851.40 |
| 100,000 | $4,257.00 | $8,514.00 |
Number format in Indonesia
Mobile numbers in Indonesia have 9 digits after +62. Locally they are written with a leading 0 (0812-345-678); in the API that 0 is dropped, so the same number goes in the to field as +62 812 345 678.
Alphabet and segments
Indonesian and Malay text stays inside the GSM-7 alphabet, so one segment to Indonesia holds 160 characters and each part of a longer text 153. Watch for curly quotes and emoji copied from other tools: one of them moves the whole text to Unicode at 70 characters per segment, and POST /v1/estimates shows the encoding before you send.
Time zone and timing
Indonesia spans several time zones, from UTC+7 in Jakarta to UTC+9 in Jayapura (January offsets). A send_at of 02:00 UTC lands at 09:00 in Jakarta in January; for a nationwide reminder, split the list by region and give each batch its own send_at.
Send to Indonesia with one request
The answer comes back at once with the message id, the country the number was matched to (ID) 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": "+62812345678", "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: "+62812345678", text: "Your Northwind code is 482913. It expires in 10 minutes." }),
});
console.log(await res.json()); // price: "0.04257", country: "ID"import json, os, urllib.request
req = urllib.request.Request(
"https://bulksmsapi.cc/v1/messages",
data=json.dumps({"to": "+62812345678", "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.04257"What developers send to Indonesia
Payment alerts
Banks in Jakarta or Surabaya send SMS notifications to confirm transactions or low account balances.
Delivery updates
E-commerce platforms notify customers in Bandung or Medan when their orders are dispatched or delivered.
Ride confirmations
Ride-hailing apps in Bali or Yogyakarta send SMS details for driver details and pickup locations.
Event tickets
Event organizers in Jakarta or Makassar send SMS confirmations for concert tickets or festival schedules.
More countries in Southeast Asia
SMS to Indonesia: questions
More answers on accounts, payments and the API are in the FAQ.
How much does it cost to send bulk SMS to Indonesia?
How many SMS to Indonesia does a $100 top-up send?
How do I write Indonesia numbers for the API?
Start sending to Indonesia
Create an account, top up from $40 and send to Indonesia at $0.04257 per segment, from the console or with one API call.