Build a solution that provides two-way communication service using short codes. A short code - a five digit number - lets your customers text you and get replies from the same number, across 54 African countries.
Dedicated or shared keyword Standard rated or toll free Nothing charged until approved
See it in action
32811
Shared short code · keyword JOIN
Customer:JOIN
Your service:Welcome to Acme Deals! Your 10% code is ACME10. Reply STOP to opt out.
Customer:Thanks, what time do you close?
Your service:We are open 8am - 9pm daily. See you soon!
200POST /hooks/two-way · message.inbound · JOIN
Illustration - your messages, your logic, your short code.
5-digitShort codes
54African countries
Real timeSigned webhooks
USD 0.0069Per incoming SMS from
Your short code
Dedicated or shared - you choose
Two Way SMS takes advantage of a short code (five digit number) that can be used to both send and receive messages from users. A short code can either be dedicated (solely belongs to you) or shared (used by multiple users and differentiated by a keyword).
Dedicated
A short code that is yours alone
The number solely belongs to you. Every message sent to it reaches your service, so users can text anything and your brand owns the whole conversation.
Your brand on the whole number
Run many campaigns and keywords at once
Best for high volume and long-term programmes
Users textHelloto40400
Shared
Your keyword on a shared code
The code is used by several businesses and messages are routed to you by a keyword - the first word of the message. Launch fast at a lower cost.
Live quickly on an existing code
Lower monthly fee in many countries
Ideal for pilots and single campaigns
Users textJOIN promoto32811
Who pays
Standard rated or toll free
Standard rated
Users pay a normal SMS to reach you
An SMS is charged at the normal rate to send a message, but is free to receive a message for both senders and receivers.
End user sends
Normal SMS rate
End user receives
Free
You pay
Incoming + outgoing at the Basic SMS rate
Toll free
Free for the people texting you
The end user interacts with this short code free of charge. The owner of this code bears the cost of all SMS that are sent and received on this code.
End user sends
Free
End user receives
Free
You pay
All SMS sent and received on the code
Toll free is offered where the networks support it. Ask us about your market.
Use cases
One number, three ways to talk
Conduct a survey
Collect feedback, run polls and gather data. Ask by SMS, let people reply with a number or a word, and tally answers as they arrive in your backend.
Text RATE 1-5 to 32811
SMS marketing
Run opt-in campaigns, competitions and promotions. Put "Text JOIN to 32811" on a poster, a pack or a radio spot and grow a list of customers who asked to hear from you.
Text JOIN to 32811
Customer support
Use keywords and short codes so users can ask questions and you reply with relevant help - balances, order status, opening hours or a hand-off to an agent.
Text HELP to 40400
Integration flow
From a text to your backend and back
User → SMS → eSMS Africa → Webhook/API → Your backend → eSMS Africa → User.
Step 1
User
Texts your short code from any phone on the networks served.
Step 2
SMS
The message travels over the mobile network to the short code.
Step 3
eSMS Africa
Matches the code and keyword to your service and stores the message.
Step 4
Webhook / API
A signed message.inbound event is posted to your endpoint, with retries.
Step 5
Your backend
Your logic runs: save the answer, look up an account, route to an agent.
Step 6
eSMS Africa
One API call sends your reply from the same short code.
Step 7
User
Gets the reply on the number they texted. Conversation continues.
For developers
A webhook in, one call out
Every inbound message arrives as a signed message.inbound event with a two_way block - the service, number, keyword and whether it is toll free. Failed deliveries retry after 1m, 5m, 30m, 2h and 8h, and every message is stored, so nothing is lost. Reply from your short code with a single API call, or turn on an auto reply.
A one-time setup fee, a monthly maintenance fee (VAT inclusive), and incoming and outgoing SMS at each country's Basic SMS rate unless a custom price is set. Paid from your eSMS wallet. Nothing is charged until your request is approved.
Setup
One-time, charged on approval.
Monthly maintenance
VAT inclusive. On approval, then every 30 days.
Incoming SMS
Per message delivered. Basic SMS rate unless a custom price is set.
Outgoing SMS
Per reply. Basic SMS rate unless a custom price is set.
Estimate your month
Per month
USD 188.00
First month USD 288.00
Nigeria: USD 50.00 monthly + 10,000 incoming x USD 0.0069 + 10,000 replies x USD 0.0069. Per-SMS prices are Nigeria's Basic SMS rate. The first month adds the USD 100 one-time setup fee. Monthly fee is VAT inclusive.
Prices in USD. Monthly maintenance is VAT inclusive. On a toll free code you also pay the incoming rate on behalf of the end user. "Basic SMS rate" means the per-SMS price follows the country's Basic SMS price on /pricing and changes with it; if you have a custom SMS price for a country, your replies use it. Two-way replies come from your short code, so a Sender ID is optional - its fee (for one-way SMS with a branded name) is charged once, only when approved; see Sender ID fees. The price shown when you request a code is the price you pay. Machine-readable: /api/two-way/pricing.
Onboarding
Live in four steps
1
Choose your code
Pick the country, dedicated or shared (with your keyword), and standard rated or toll free. Prices are shown upfront.
2
Share company & KYC
Add your business details, use case and KYC documents - typically business registration, tax registration, a director ID and an authorisation letter.
3
We review & provision
Our team reviews the request and provisions the code with the networks. Final requirements depend on the number configuration and network rules.
4
Go live
On approval the setup fee and first month are charged from your wallet, your short code is assigned, and messages start flowing to your webhook.
Not sure which setup fits?
Chat with our team on WhatsApp at +254 11 449 4147 - we will help you choose a configuration and prepare your KYC documents.
Two-way SMS lets people text a short code (a five digit number) and get replies from the same number. Messages they send are delivered to your backend in real time over a signed webhook, and you reply with one API call - for surveys, marketing opt-ins and customer support.
What is the difference between a dedicated and a shared short code?
A dedicated short code solely belongs to you, so every message sent to it is yours. A shared short code is used by multiple businesses and messages are routed by a keyword - the first word of the message, for example JOIN. Shared is faster and cheaper to launch; dedicated suits high volume and long-term programmes.
Who pays for the messages - standard rated or toll free?
On a standard rated short code the end user pays their normal SMS rate to send a message and receives replies free. On a toll free short code the end user pays nothing; the owner of the code pays for all SMS sent and received on it.
How much does a two-way short code cost?
Pricing is per country in USD: a one-time setup fee, a monthly maintenance fee (VAT inclusive), and a price per incoming and per outgoing SMS. Per-SMS prices follow the country's Basic SMS rate - the USD price shown as Basic on our pricing page - unless a custom two-way price is set for that country. In Nigeria, for example, it is USD 100 setup, USD 50 per month, and incoming and outgoing SMS at Nigeria's Basic SMS rate (currently USD 0.0069 per SMS) on MTN, Airtel, Glo and 9mobile.
Do I need a Sender ID for two-way SMS?
No - two-way replies are sent from your short code. If you also send one-way SMS with a branded Sender ID, a registration fee applies per country: USD 150 one-time covering all networks in Cameroon, Djibouti, Egypt, Ghana, Somalia and Tanzania; per-network fees in Kenya and Uganda; confirmed during onboarding elsewhere. Sender ID fees are charged only when the request is approved.
When am I charged?
Requesting a short code is free. The setup fee and the first monthly fee are charged from your eSMS wallet only when your request is approved - nothing is charged if it is rejected. The monthly fee then renews every 30 days, and incoming and outgoing SMS are billed as they happen.
What happens if my wallet runs low?
We never drop a customer's message. Incoming messages are still stored and flagged unbilled, and you are notified. If a monthly fee cannot be charged the service is marked past due and retried daily; after 7 days forwarding to your webhook pauses until you top up, while messages keep being stored.
What do I need to get a short code?
Your company or business information and KYC documents - typically a business registration certificate, tax registration, an ID for a director or authorised signatory and an authorisation letter. Final requirements depend on the number configuration and on each network's rules in that country.
How do I receive and reply to messages?
Set a webhook URL on your service. Every inbound message is posted as a signed message.inbound event with a two_way block (service, number, keyword, type, toll free), retried after 1 minute, 5 minutes, 30 minutes, 2 hours and 8 hours if your endpoint fails. Reply with POST /api/two-way/services/{id}/reply and the SMS is sent from your short code.
Which countries support two-way SMS?
eSMS Two-Way SMS is offered across all 54 African countries, with prices and the networks served listed per country in the table on this page. Toll free short codes are available where networks support them.