SMS API for Senegal: bulk SMS to +221 numbers
Senegal
Calling code +221
- Per SMS segment
- $0.02777
- Messages for $100
- 3,601
- Local language
- French
- Encoding
- GSM-7 or Unicode
What a bulk SMS send to Senegal costs
| Messages | 1 segment | 2 segments |
|---|---|---|
| 1 | $0.02777 | $0.05554 |
| 1,000 | $27.77 | $55.54 |
| 10,000 | $277.70 | $555.40 |
| 100,000 | $2,777.00 | $5,554.00 |
Number format in Senegal
Mobile numbers in Senegal have 9 digits after +221 and no trunk prefix, so the local form 70 123 45 67 becomes +221 70 123 45 67 in the to field.
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
Senegal keeps UTC+0 all year with no clock change, so 09:00 in Dakar is always 09:00 UTC. send_at takes UTC or any ISO 8601 offset, and the console scheduler converts from your own time zone.
Send to Senegal with one request
The answer comes back at once with the message id, the country the number was matched to (SN) 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": "+221701234567", "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: "+221701234567", text: "Your Northwind code is 482913. It expires in 10 minutes." }),
});
console.log(await res.json()); // price: "0.02777", country: "SN"import json, os, urllib.request
req = urllib.request.Request(
"https://bulksmsapi.cc/v1/messages",
data=json.dumps({"to": "+221701234567", "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.02777"What developers send to Senegal
Payment confirmations
Mobile money services in Dakar send SMS notifications to users confirming successful transactions from their accounts.
Health alerts
Clinics in Senegal send SMS reminders to patients about vaccination campaigns or upcoming health checkups.
Exam schedules
Schools in Senegal send SMS notifications to students and parents about exam dates and locations.
Community announcements
NGOs send SMS alerts to residents in rural areas about upcoming events or public health initiatives.
More countries in West and Central Africa
SMS to Senegal: questions
More answers on accounts, payments and the API are in the FAQ.
How much does it cost to send bulk SMS to Senegal?
How many SMS to Senegal does a $100 top-up send?
How do I write Senegal numbers for the API?
What language should SMS messages use in Senegal?
How can SMS reach rural areas in Senegal?
Start sending to Senegal
Create an account, top up from $40 and send to Senegal at $0.02777 per segment, from the console or with one API call.