SDKs
Official client libraries for the eSMS Africa SMS API.
Official, open-source SDKs wrap the SMS API so you can send messages, track delivery, schedule sends, and check your balance without writing HTTP calls by hand.
| Language | Package | Install |
|---|---|---|
| Node.js / TypeScript | esms-sms | npm install esms-sms |
| Python | esms-sms | pip install esms-sms |
| PHP | esmsafrica/sms | composer require esmsafrica/sms |
| Go | github.com/eSMS-Africa/esms-go | go get github.com/eSMS-Africa/esms-go |
Every SDK exposes the same surface:
messages.send— send a single SMS (auto-routes by country, or pin a route).messages.schedule— schedule a send 5 minutes to 7 days out.messages.list/messages.get— page through messages and read the delivery timeline.messages.retry— retry a failed message.messages.sendBulk— send to whole contact lists.balance.get— read the account balance and SMS estimate.routes.list— list available routes and pricing.
Authentication
All SDKs authenticate with an API key. Create one in the eSMS dashboard under Developers → API Keys:
- Live keys start with
esms_live_and send real messages against your balance. - Test keys start with
esms_test_for development.
Pass the key when you construct the client. Keep it server-side — never ship it in a browser or mobile bundle.
Treat API keys like passwords. If a key leaks, revoke it in the dashboard and issue a new one.
Base URL
By default every SDK talks to https://sms.esmsafrica.io/api. You can override the base URL in the client options if you run against a staging environment.
Prefer raw HTTP?
You can call the API directly — see the SMS API reference or the Quickstart for curl examples.
Community libraries
Built a client library for eSMS Africa? We'd love to list it. Contact us at support@esmsafrica.io.