SMS API for Singapore: bulk SMS to +65 numbers
Singapore
Calling code +65
- Per SMS segment
- $0.01067
- Messages for $100
- 9,372
- Local language
- English, Malay
- Encoding
- GSM-7
What a bulk SMS send to Singapore 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 Singapore
Mobile numbers in Singapore have 8 digits after +65 and no trunk prefix, so the local form 8123 4567 becomes +65 8123 4567 in the to field.
Alphabet and segments
English, Malay, Chinese and Tamil text stays inside the GSM-7 alphabet, so one segment to Singapore 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
Singapore keeps UTC+8 all year with no clock change, so 09:00 in Singapore is always 01:00 UTC. send_at takes UTC or any ISO 8601 offset, and the console scheduler converts from your own time zone.
Send to Singapore with one request
The answer comes back at once with the message id, the country the number was matched to (SG) 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": "+6581234567", "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: "+6581234567", text: "Your Northwind code is 482913. It expires in 10 minutes." }),
});
console.log(await res.json()); // price: "0.01067", country: "SG"import json, os, urllib.request
req = urllib.request.Request(
"https://bulksmsapi.cc/v1/messages",
data=json.dumps({"to": "+6581234567", "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 Singapore
Login codes
Banks in Singapore send one-time passwords via SMS when users log in to their mobile banking apps from devices in the city-state.
Delivery updates
E-commerce platforms notify customers in Singapore when their orders are dispatched or out for delivery in neighborhoods like Orchard or Jurong.
Flight alerts
Airlines send SMS updates about flight delays or gate changes to passengers traveling through Changi Airport.
Appointment reminders
Clinics in Singapore send SMS reminders to patients about upcoming appointments for consultations or treatments.
More countries in Southeast Asia
SMS to Singapore: questions
More answers on accounts, payments and the API are in the FAQ.
How much does it cost to send bulk SMS to Singapore?
How many SMS to Singapore does a $100 top-up send?
How do I write Singapore numbers for the API?
What language should SMS messages use in Singapore?
How can businesses reach tourists in Singapore?
Start sending to Singapore
Create an account, top up from $40 and send to Singapore at $0.01067 per segment, from the console or with one API call.