SMS API for Ghana: bulk SMS to +233 numbers
Ghana
Calling code +233
- Per SMS segment
- $0.01357
- Messages for $100
- 7,369
- Local language
- English
- Encoding
- GSM-7
What a bulk SMS send to Ghana costs
| Messages | 1 segment | 2 segments |
|---|---|---|
| 1 | $0.01357 | $0.02714 |
| 1,000 | $13.57 | $27.14 |
| 10,000 | $135.70 | $271.40 |
| 100,000 | $1,357.00 | $2,714.00 |
Number format in Ghana
Mobile numbers in Ghana have 9 digits after +233. Locally they are written with a leading 0 (023 123 4567); in the API that 0 is dropped, so the same number goes in the to field as +233 23 123 4567.
Alphabet and segments
English text stays inside the GSM-7 alphabet, so one segment to Ghana 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
Ghana keeps UTC+0 all year with no clock change, so 09:00 in Accra 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 Ghana with one request
The answer comes back at once with the message id, the country the number was matched to (GH) 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": "+233231234567", "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: "+233231234567", text: "Your Northwind code is 482913. It expires in 10 minutes." }),
});
console.log(await res.json()); // price: "0.01357", country: "GH"import json, os, urllib.request
req = urllib.request.Request(
"https://bulksmsapi.cc/v1/messages",
data=json.dumps({"to": "+233231234567", "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.01357"What developers send to Ghana
Login codes
When users in Accra log into their mobile banking app, they receive a one-time code via SMS to verify their identity.
Payment alerts
After completing a transaction in Kumasi, customers get an SMS confirming the payment details and their updated balance.
Exam results
Students in Tamale receive their exam results via SMS, with instructions on how to access further details online.
Delivery updates
Customers in Takoradi are notified by SMS when their online order has been dispatched and is out for delivery.
More countries in West and Central Africa
SMS to Ghana: questions
More answers on accounts, payments and the API are in the FAQ.
How much does it cost to send bulk SMS to Ghana?
How many SMS to Ghana does a $100 top-up send?
How do I write Ghana numbers for the API?
What language should SMS messages be in?
How can SMS reach both residents and visitors?
Start sending to Ghana
Create an account, top up from $40 and send to Ghana at $0.01357 per segment, from the console or with one API call.