Skip to content
Connect Media Connect Media

Bulk SMS API for Kenya

Connect Media’s bulk SMS API lets your app, website or back office send SMS to Safaricom, Airtel and Telkom numbers with a single HTTPS request. Use it for OTPs, payment receipts, alerts and campaigns.

Send your first SMS

curl -X POST "https://dashboard.connectmedia.co.ke/api.php" \
  -H "Authorization: Bearer $CM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"action":"send","to":"254712345678","message":"Your order has shipped."}'

A response code of 201 means the message was accepted. Full examples in PHP, Node.js and Python are on the developer page.

What the API covers

  • send — one number or thousands (comma-separated), optional sender ID and scheduling.
  • balance — check credit before large sends.
  • history — sent messages with delivery status.
  • inbox — replies from two-way SMS.

What to look for in any bulk SMS API

  • Key-based auth in a header, not usernames and passwords in the URL.
  • Consistent JSON responses with clear error codes you can act on.
  • Delivery reports for every message.
  • An OpenAPI spec so you can import it into Postman or generate a client.
  • Local numbers handled correctly — 2547XXXXXXXX and 2541XXXXXXXX.

Common integrations

Sending mainly to Safaricom subscribers? See Safaricom bulk SMS API options.

Start sending with Connect Media

Create an account — no minimum top-up, credit that never expires, and SMS from KES 1.0 to Safaricom, Airtel and Telkom numbers. Questions? Call +254 707 339 945 or email info@connectmedia.co.ke.

Tutorials: PHP · Python · Node.js · WooCommerce · SMS gateway

Frequently asked questions

How do I get a bulk SMS API key in Kenya?

Create a Connect Media account, then go to Profile, API keys in the dashboard. The key is shown once, so store it securely.

Can I send bulk SMS to multiple numbers in one API call?

Yes. Pass several numbers, comma-separated, in the to field of a send request.

Does the API support delivery reports?

Yes. The history action returns sent messages with their delivery status.