SMS API for Rwanda: bulk SMS to +250 numbers
Rwanda
Calling code +250
- Per SMS segment
- $0.00727
- Messages for $100
- 13,755
- Local language
- French
- Encoding
- GSM-7 or Unicode
What a bulk SMS send to Rwanda costs
| Messages | 1 segment | 2 segments |
|---|---|---|
| 1 | $0.00727 | $0.01454 |
| 1,000 | $7.27 | $14.54 |
| 10,000 | $72.70 | $145.40 |
| 100,000 | $727.00 | $1,454.00 |
Number format in Rwanda
Mobile numbers in Rwanda have 9 digits after +250. Locally they are written with a leading 0 (0720 123 456); in the API that 0 is dropped, so the same number goes in the to field as +250 720 123 456.
Alphabet and segments
Texts in French fit 160 GSM-7 characters per segment until they use â, ê, î, ô, û, ç, ë and ï: those letters are outside GSM-7 and turn the message into Unicode at 70 characters per segment (67 per part). For short alerts, write them without those letters to keep one segment; for longer texts, the console names each letter that changed the encoding.
Time zone and timing
Rwanda keeps UTC+2 all year with no clock change, so 09:00 in Kigali is always 07:00 UTC. send_at takes UTC or any ISO 8601 offset, and the console scheduler converts from your own time zone.
Send to Rwanda with one request
The answer comes back at once with the message id, the country the number was matched to (RW) 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": "+250720123456", "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: "+250720123456", text: "Your Northwind code is 482913. It expires in 10 minutes." }),
});
console.log(await res.json()); // price: "0.00727", country: "RW"import json, os, urllib.request
req = urllib.request.Request(
"https://bulksmsapi.cc/v1/messages",
data=json.dumps({"to": "+250720123456", "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.00727"What developers send to Rwanda
Mobile payments
When a user in Kigali sends money via mobile banking, they receive an SMS confirming the transaction and the new balance.
Ride confirmations
After booking a ride in Kigali, passengers get a text with the driver's details and estimated arrival time.
Order updates
Customers in Rwanda receive SMS notifications when their online orders are shipped from warehouses in Kigali.
Health alerts
Clinics in rural Rwanda send SMS reminders to patients about upcoming appointments or vaccination schedules.
More countries in East and Southern Africa
SMS to Rwanda: questions
More answers on accounts, payments and the API are in the FAQ.
How much does it cost to send bulk SMS to Rwanda?
How many SMS to Rwanda does a $100 top-up send?
How do I write Rwanda numbers for the API?
What language should SMS messages be in for Rwanda?
How can SMS reach visitors in Rwanda?
Start sending to Rwanda
Create an account, top up from $40 and send to Rwanda at $0.00727 per segment, from the console or with one API call.