"How much will this actually cost us?" is usually the second question teams ask after "does it work?" — and it's the harder one to answer, because SMS pricing is rarely as simple as the number on a pricing page. This guide breaks down what actually determines your bill, so you can estimate it accurately instead of getting surprised at the end of the month.
SMS is billed per message segment, not per "text" in the way you'd think of a WhatsApp message. A few things determine the price of a single segment:
There is no single global "price per SMS" — a message to a domestic number can cost a fraction of a cent, while an international message to certain countries can cost several times more.
This is the detail that catches teams off guard. SMS has a hard character limit per segment:
| Encoding | Characters per segment | When it applies |
|---|---|---|
| GSM-7 | 160 characters | Standard Latin text, no special/emoji characters |
| GSM-7 (concatenated) | 153 characters per segment | Messages longer than 160 characters, split across multiple segments |
| UCS-2 | 70 characters | Messages containing emoji, non-Latin scripts, or special characters |
| UCS-2 (concatenated) | 67 characters per segment | Long messages using UCS-2 encoding |
The trap: adding a single emoji to an otherwise plain-English message switches the whole message from GSM-7 to UCS-2 encoding — dropping your per-segment limit from 160 characters to 70. A 140-character message that fit in one segment can suddenly split into three, tripling your cost for that message.
"Your OTP is 849301. Valid for 5 minutes."
→ 42 characters, GSM-7, 1 segment
"Your OTP is 849301. Valid for 5 minutes. 🚀"
→ 44 characters, but the emoji forces UCS-2 encoding
→ still 1 segment (under 70 chars), but now costs more per character used
→ a longer message with an emoji can push you into 2+ segments where plain text would have stayed at 1
If cost matters, keep transactional messages in plain GSM-7 characters wherever possible.
From biggest to smallest impact on your total bill:
When comparing providers, ask about these explicitly — they rarely show up on the headline pricing page:
A provider with a lower headline per-message price isn't necessarily cheaper once these are factored in.
A simple way to model your cost before committing to a provider:
Estimated monthly cost =
(Average messages per user per month × Active users)
× Average cost per segment for your destination mix
× Average segments per message (usually 1, unless messages run long)
For example, a fintech app sending 2 OTP messages per active user per month to 50,000 domestic users, at a domestic rate, is a very different bill than the same volume split across ten countries with mixed international rates — model your actual destination mix, not a single blended average.
Sendexa uses transparent, pay-as-you-go pricing with no minimum monthly commitment and no setup fees:
curl -X POST https://api.sendexa.co/v1/sms/send \
-u "$SENDEXA_API_KEY:$SENDEXA_API_SECRET" \
-H "Content-Type: application/json" \
-d '{
"to": "+233501234567",
"from": "SENDEXA",
"message": "Your order is confirmed."
}'
Every successful send returns the exact cost of that message in the response, so you can track spend in real time rather than reconciling against a monthly invoice after the fact:
{
"success": true,
"data": {
"messageId": "MSG-8f21c4a9",
"billing": {
"units": 1,
"pricing": { "unitCost": 0.01, "totalCost": 0.01, "currency": "USD" }
}
}
}
Volume discounts apply automatically as your usage scales — no separate sales negotiation required to access better rates.
Before signing up, get clear answers to:
If a provider can't answer these clearly upfront, that's itself useful signal about what your invoice will look like later.
SMS pricing looks simple from the outside — a price per message — but the real cost is shaped by destination mix, character encoding, failed-message policy, and the fine print around minimums and fees. Model your actual usage pattern rather than comparing headline rates, and prioritize providers that show you the true cost per message in real time.
If you're evaluating providers for reliability as well as cost, see our guides on choosing an SMS gateway and the best SMS APIs for Africa for a fuller comparison framework.
