Quick answer
Dial *188# to buy Safaricom SMS bundles. Daily bundles cost KSh 5 for 20 SMS, KSh 10 for 200 SMS and KSh 20 for unlimited. Weekly bundles cost KSh 20 for 100 SMS, KSh 30 for 1,000 SMS and KSh 50 for unlimited. Monthly bundles cost KSh 100 for 1,500 SMS and KSh 200 for 3,500 SMS. You can pay with airtime, M-Pesa, Okoa or Bonga Points.
Updated 18 October 2026
Safaricom sells SMS-only bundles through one USSD code: *188#. There are daily, weekly and monthly options, starting at KSh 5 for 20 SMS. This guide uses Safaricom’s official terms and conditions for its Daily, Weekly and Monthly SMS Bundles service, which launched on 31 March 2021 and was last amended on 3 December 2021. The prices below are the ones currently published in those terms.
Safaricom SMS Bundle Prices
| Bundle | SMS | Price | Valid for |
|---|---|---|---|
| Daily | 20 | KSh 5 | 24 hours |
| Daily | 200 | KSh 10 | 24 hours |
| Daily | Unlimited | KSh 20 | 24 hours |
| Weekly | 100 | KSh 20 | 7 days |
| Weekly | 1,000 | KSh 30 | 7 days |
| Weekly | Unlimited | KSh 50 | 7 days |
| Monthly | 1,500 | KSh 100 | 30 days |
| Monthly | 3,500 | KSh 200 | 30 days |
Weekly and monthly SMS can be sent to Safaricom numbers and to other networks. Unlimited bundles have a fair usage limit of 1,000 SMS a day and 7,000 a week.
How to Buy an SMS Bundle on *188#
- Dial *188# from your Safaricom line.
- Choose Daily, Weekly or Monthly SMS bundle.
- Pick the bundle you want from the list.
- Choose how to pay: airtime, M-Pesa, Okoa Jahazi or Bonga Points. Bonga purchases use the current Bonga conversion rate.
- Wait for the confirmation SMS: “You have successfully purchased xxx SMS at Kshs. xx.”
The service is open to all Safaricom PrePay and PostPay customers, but it is not available while roaming.
Buying SMS Bundles for Someone Else
You can buy weekly and monthly SMS bundles for another Safaricom number through *188#. Follow the prompts and enter the other number. You will get a confirmation that names the number you bought for. Daily bundles can only be bought for your own line.
Checking Your SMS Balance and Expiry
- Dial *188# to check your remaining SMS balance.
- Safaricom sends a reminder 48 hours before a bundle expires, and another message once it has expired.
- Unused SMS do not roll over to the next day, week or month.

Using More Than One Bundle
You can buy a weekly or monthly bundle even while a daily bundle is active. Safaricom uses up your daily bundle first, then weekly, then monthly. To switch to a different bundle, Safaricom unsubscribes you from the current one and subscribes you to the new one. To stop the service, dial *188# and follow the prompts to opt out.
What Happens When Your SMS Run Out
Once a bundle is used up, you either buy another one or pay the standard out-of-bundle rate, which Safaricom’s terms currently put at KSh 1.10 per SMS. If you send even a handful of SMS a day, the KSh 5 daily bundle is cheaper than paying per message.
SMS Included in Data and All-in-One Bundles
If you also need data, some Safaricom data plans include SMS. According to Safaricom’s data bundle terms:
- Daily data bundles include SMS. For example, 10MB plus 7 SMS for KSh 5, 60MB plus 15 SMS for KSh 10, and 250MB plus 50 SMS for KSh 20.
- Monthly All-in-One bundles, under terms effective 19 May 2023, include KSh 100 for 400MB, 20 minutes and 50 SMS, KSh 250 for 1GB, 50 minutes and 100 SMS, and KSh 500 for 2GB, 100 minutes and 500 SMS.
All-in-One bundles are bought on *100#, *200#, *456# or *544#, not on *188#. Check the current list in the app before buying, because Safaricom changes data offers more often than SMS bundles.
Which SMS Bundle Should You Buy?
- A few texts a day: the daily 20 SMS for KSh 5.
- Heavy texting for a day, such as an event or a campaign: daily unlimited for KSh 20, within the 1,000 SMS fair usage limit.
- Regular texting all week: weekly 1,000 SMS for KSh 30, which costs less than buying daily bundles.
- Steady use all month: monthly 1,500 SMS for KSh 100 or 3,500 SMS for KSh 200.
Businesses that send SMS to many customers should look at a bulk SMS service rather than personal bundles. Having trouble with the My OneApp or bundles expiring early? See our guide to Safaricom app and bundle problems and the Safaricom help page.
Frequently asked questions
What is the code for Safaricom SMS bundles?
*188#. Use the same code to buy, check your balance and opt out.
How much is the cheapest Safaricom SMS bundle?
KSh 5 for 20 SMS, valid for 24 hours.
Can I buy Safaricom SMS bundles with M-Pesa?
Yes. You can pay with airtime, M-Pesa, Okoa or Bonga Points.
Do unused SMS roll over?
No. Unused SMS expire at the end of the bundle period.
How many SMS can I send on an unlimited bundle?
Up to 1,000 a day and 7,000 a week under Safaricom’s fair usage policy.
Prefer WhatsApp? Follow Business Radar on WhatsApp
Weekly, free. We only use your email for this newsletter and you can unsubscribe in one click. Privacy policy.


