eSMS AfricaeSMS Africa
Getting Started

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
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.

Response
{
  "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
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"
  }'
Response
{
  "id": "msg_abc123",
  "status": "submitted",
  "segments": 1,
  "encoding": "GSM7",
  "recipients": 1,
  "cost": 0.0096,
  "route": "ESMS_KE"
}

What's next?

On this page