Quickstart
Send your first email or SMS in under 5 minutes.
Send an email via API
1. Get an API key
Log in to send.esmsafrica.io, go to Settings → API Keys, and create a new key. Copy the key - it starts with esms_k_.
2. Add a domain
Go to Domains and add your domain (e.g. example.com). Follow the DNS setup instructions to add SPF, DKIM, and verification records. The from address must be on a verified domain (or a verified sender address).
3. Send an email
curl -X POST https://send.esmsafrica.io/v1/emails/ \
-H "Authorization: Bearer esms_k_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"from": {"email": "[email protected]", "name": "Your App"},
"to": [{"email": "[email protected]"}],
"subject": "Hello from eSMS Mail",
"html": "<h1>It works!</h1><p>Your first email via eSMS Mail.</p>"
}'The response includes an email id and status. The email is queued and sent within seconds.
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"status": "queued",
"message_id": "<[email protected]>"
}Send an SMS via API
1. Get an API key
Log in to sms.esmsafrica.io, go to Developers → API Keys, and create a key. Live keys start with esms_live_; test keys start with esms_test_ and simulate delivery without charging your wallet.
2. Top up your wallet
SMS is billed per message from a prepaid wallet. Top up by card (Visa/Mastercard), or mobile money in Uganda, Rwanda, Kenya, Tanzania and Zambia, from the Billing section.
3. Send an SMS
curl -X POST https://sms.esmsafrica.io/api/messages/send \
-H "Authorization: Bearer esms_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"to": "+254712345678",
"text": "Hello from eSMS Africa!",
"sender_id": "eSMS"
}'{
"id": "msg_abc123",
"status": "submitted",
"segments": 1,
"encoding": "GSM7",
"recipients": 1,
"cost": 0.0096,
"route": "ESMS_KE"
}