SMS API for Botswana: bulk SMS to +267 numbers
Botswana
Calling code +267
- Per SMS segment
- $0.00907
- Messages for $100
- 11,025
- Local language
- English
- Encoding
- GSM-7
What a bulk SMS send to Botswana costs
| Messages | 1 segment | 2 segments |
|---|---|---|
| 1 | $0.00907 | $0.01814 |
| 1,000 | $9.07 | $18.14 |
| 10,000 | $90.70 | $181.40 |
| 100,000 | $907.00 | $1,814.00 |
Number format in Botswana
Mobile numbers in Botswana have 8 digits after +267 and no trunk prefix, so the local form 71 123 456 becomes +267 71 123 456 in the to field.
Alphabet and segments
English text stays inside the GSM-7 alphabet, so one segment to Botswana 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
Botswana keeps UTC+2 all year with no clock change, so 09:00 in Gaborone 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 Botswana with one request
The answer comes back at once with the message id, the country the number was matched to (BW) 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": "+26771123456", "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: "+26771123456", text: "Your Northwind code is 482913. It expires in 10 minutes." }),
});
console.log(await res.json()); // price: "0.00907", country: "BW"import json, os, urllib.request
req = urllib.request.Request(
"https://bulksmsapi.cc/v1/messages",
data=json.dumps({"to": "+26771123456", "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.00907"What developers send to Botswana
Payment alerts
Banks in Gaborone send SMS alerts for successful transactions, such as bill payments or transfers.
Appointment reminders
Clinics in Francistown send SMS reminders for medical appointments, reducing missed visits.
Delivery updates
Logistics companies notify customers in Maun about package statuses, such as out for delivery or delayed.
More countries in East and Southern Africa
SMS to Botswana: questions
More answers on accounts, payments and the API are in the FAQ.
How much does it cost to send bulk SMS to Botswana?
How many SMS to Botswana does a $100 top-up send?
How do I write Botswana numbers for the API?
What language should SMS messages use in Botswana?
How does SMS handle Botswana's rural areas?
Start sending to Botswana
Create an account, top up from $40 and send to Botswana at $0.00907 per segment, from the console or with one API call.