Bulk SMS · Two-way · API — built in Kenya for Africa

Every message,
lit up across Africa.

Campaigns, alerts, OTPs and conversations from one beautiful workspace. Personalise at scale, pay with M-Pesa, track every delivery and plug in with a developer-first API.

  • No setup fees
  • Pay with M-Pesa or card
  • Free test API keys
Delivered
🇰🇪 Safaricom
OTP · 482 915
KES 0.70 / SMS
3 replies
🇺🇬 +256
12,480 sent
Airtel · Telkom

KES 0.70

per SMS, falling with volume

100,000

recipients per campaign

2 routes

primary carrier with automatic failover

26

African dialling plans supported

Trusted workflows for

SchoolsSACCOsRetailClinicsChurchesFintechLogisticsNGOsHospitalityReal estateGovernmentE-commerce

Everything in one place

The complete bulk SMS toolkit

Every feature you expect from Africa's leading SMS platforms — designed to feel effortless.

Personalised campaigns

Merge {first_name}, balances or any CSV column into each message. Send to groups, uploads or pasted lists of up to 100,000 people.

{first_name}{balance}{due_date}{order}

Two-way messaging

Receive replies in a shared inbox, answer in one click and automate keywords like JOIN, INFO or STOP.

Live delivery reports

Carrier receipts arrive in real time with per-network insight for Safaricom, Airtel and Telkom.

Branded sender IDs

Request your own name, upload the authorisation letter and follow approval per network.

Scheduling & recurrence

Plan campaigns up to six months ahead, repeat daily, weekly or monthly and respect quiet hours automatically.

Tracked short links

Links become short, trackable URLs so you can see how many people clicked.

Teams & roles

Invite colleagues as administrators, senders, finance or viewers, with two-factor sign-in and a full audit trail.

Wallet & invoices

Top up instantly with M-Pesa or card, set low-balance alerts and auto top-up, and download invoices.

M-Pesa STKCardInvoicesAuto top-upLow-balance alerts

Try it now

See your message before anyone else does

Type a message with merge fields and watch the preview, character count and cost update instantly. This is a sample — nothing is sent.

Hi {first_name|there}, your order #{order} is out for delivery today. Track it: https://jmsurf.co.ke/t
SMS per recipient
1
Encoding
GSM-7
Estimated total
KES 1,750

JMSURF

Sample preview

Hi Amina, your order #40218 is out for delivery today. Track it: https://jmsurf.co.ke/t

87 chars · 1 SMS

How it works

From sign-up to first send in minutes

  1. 1

    Create your workspace

    Sign up with your business details and confirm your email.

  2. 2

    Add your audience

    Import a CSV, create groups or connect your app through the API.

  3. 3

    Top up your wallet

    Pay with M-Pesa or card. Credit appears as soon as payment confirms.

  4. 4

    Send and measure

    Launch campaigns, follow deliveries live and learn from every send.

Dashboards

A view for every role

Clear, animated workspaces for marketers, finance teams, developers and platform administrators. Figures below are samples.

jmsurfsms.co.ke/app · Sample data

Wallet balance

KES 18,420

≈ 26,314 SMS remaining

Delivered 97.8%Replies 214
Messages · last 14 days+18%

Coverage

Built in Kenya, ready for Africa

Kenyan networks are live today. Other destinations open as routes are enabled — ask us about your market.

Safaricom · Airtel · Telkom

Kenyan network detection on every message

  • KenyaLive
  • UgandaOn request
  • TanzaniaOn request
  • RwandaOn request
  • BurundiOn request
  • South SudanOn request
  • EthiopiaOn request
  • SomaliaOn request
  • NigeriaOn request
  • GhanaOn request
  • Côte d'IvoireOn request
  • SenegalOn request
  • CameroonOn request
  • South AfricaOn request
  • ZambiaOn request
  • ZimbabweOn request
  • MalawiOn request
  • MozambiqueOn request
  • BotswanaOn request
  • NamibiaOn request
  • EgyptOn request
  • MoroccoOn request
  • AlgeriaOn request
  • TunisiaOn request
  • DR CongoOn request
  • AngolaOn request

Pricing

Simple prepaid pricing

No subscriptions or setup fees. Your rate improves automatically as your lifetime top-ups grow.

Starter

0.70KES per SMS

Lifetime top-ups from KES 0

  • Delivery reports
  • Scheduling & personalisation
  • Two-way inbox
  • API & webhooks
  • Unlimited team members
Start sending

Business

0.60KES per SMS

Lifetime top-ups from KES 200,000

  • Delivery reports
  • Scheduling & personalisation
  • Two-way inbox
  • API & webhooks
  • Unlimited team members
Start sending

Cost for 10,000 messages: KES 7,000

Developers

An API you'll enjoy integrating

Idempotent sends, bulk campaigns, signed webhooks, scoped keys, IP allowlists and free test keys — documented with OpenAPI.

  • REST + JSON with predictable errors
  • jms_test_ keys that never charge or deliver
  • Signed webhooks for delivery, replies and payments
  • Per-key scopes, rate limits and IP allowlists
curl -X POST https://jmsurfsms.co.ke/api/v1/sms/send \
  -H "Authorization: Bearer jms_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "to": "0712345678",
    "message": "Your code is 482915",
    "reference": "8f2c1a9e-3b7d-4c55-9a21-0d6e8b1f4c77"
  }'

Trust & compliance

Serious about your customers' trust

Two-factor sign-in

Protect every account with an authenticator app.

Automatic opt-outs

STOP replies are honoured instantly across campaigns.

Audit trail

Every sensitive action is recorded for your team.

Data protection

Designed around Kenya's Data Protection Act, 2019.

FAQ

Questions, answered

How much does an SMS cost?

Kenyan SMS start at KES 0.70 per 160-character message and fall automatically on higher tiers. Long or Unicode messages use more than one SMS; the composer shows the exact cost before you send.

Can I use my own sender name?

Yes. Request a sender ID in your workspace and upload your authorisation letter. Until it is approved on each network, messages use the shared sender.

How do I pay?

Top up your prepaid wallet with M-Pesa (STK push) or by card where enabled. Credit is added as soon as the payment is confirmed, and you can download an invoice for every top-up.

Do you support two-way SMS and keywords?

Yes. Replies arrive in your inbox, and you can automate keywords to reply, add people to groups or opt them out.

Can my developers integrate?

Yes — use the REST API for single and bulk sends, status checks, contacts and balances, with signed webhooks for delivery reports and replies. Test keys let you build without spending credit.

What happens if a carrier route fails?

Messages go through our primary carrier with automatic failover to a backup route on explicit rejections. Uncertain outcomes are held and reconciled so nobody receives duplicates.

Can my whole team use one account?

Invite colleagues as administrators, campaign senders, finance or viewers. Everyone signs in separately and actions are recorded in the audit log.

Which countries can I send to?

Kenyan networks are live. Other African destinations are enabled on request with their own rates.

Your next conversation starts here

Create a free workspace in under two minutes. Add your audience, top up with M-Pesa and send your first campaign today.