SMS API for Sri Lanka: bulk SMS to +94 numbers
Sri Lanka
Calling code +94
- Per SMS segment
- $0.04257
- Messages for $100
- 2,349
- Local language
- Sinhala, Tamil and English
- Encoding
- Unicode (UCS-2)
What a bulk SMS send to Sri Lanka 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 Sri Lanka
Mobile numbers in Sri Lanka have 9 digits after +94. Locally they are written with a leading 0 (071 234 5678); in the API that 0 is dropped, so the same number goes in the to field as +94 71 234 5678.
Alphabet and segments
Text in Sinhala and Tamil is always Unicode, so a message to Sri Lanka written in Sinhala 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
Sri Lanka keeps UTC+5:30 all year with no clock change, so 09:00 in Colombo is always 03:30 UTC. send_at takes UTC or any ISO 8601 offset, and the console scheduler converts from your own time zone.
Send to Sri Lanka with one request
The answer comes back at once with the message id, the country the number was matched to (LK) 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": "+94712345678", "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: "+94712345678", text: "Your Northwind code is 482913. It expires in 10 minutes." }),
});
console.log(await res.json()); // price: "0.04257", country: "LK"import json, os, urllib.request
req = urllib.request.Request(
"https://bulksmsapi.cc/v1/messages",
data=json.dumps({"to": "+94712345678", "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 Sri Lanka
Ride confirmations
Ride-hailing apps in Colombo send SMS confirmations to passengers with driver details and pickup times.
Order updates
E-commerce platforms notify customers in Kandy with SMS alerts when their orders are shipped.
Account alerts
Banks in Galle send SMS notifications to customers about account balances or transaction updates.
Appointment reminders
Clinics in Jaffna send SMS reminders to patients about their scheduled medical appointments.
More countries in South Asia
SMS to Sri Lanka: questions
More answers on accounts, payments and the API are in the FAQ.
How much does it cost to send bulk SMS to Sri Lanka?
How many SMS to Sri Lanka does a $100 top-up send?
How do I write Sri Lanka numbers for the API?
Should messages be in Sinhala or Tamil?
How to reach tourists effectively?
Start sending to Sri Lanka
Create an account, top up from $40 and send to Sri Lanka at $0.04257 per segment, from the console or with one API call.