eSMS AfricaeSMS Africa
eSMS Links

Quickstart

Create your first short link and QR code with the eSMS Links API.

Create a short link, follow it, and read its analytics in three requests.

1. Get an API key

Sign in at links.esmsafrica.io, open API Keys, and create a live key. It looks like esms_l_… and is shown only once. See Authentication for details.

A paid plan is required to create links and keys - eSMS Links has no free tier.

curl -X POST https://links.esmsafrica.io/v1/links \
  -H "Authorization: Bearer esms_l_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "destination_url": "https://example.com/a/very/long/path?utm_campaign=launch"
  }'

Response:

{
  "id": "0f5c84e2-7a1e-43d2-8aa1-c0ce93114605",
  "alias": "Ab12Xy",
  "short_url": "https://go.esmsafrica.io/Ab12Xy",
  "destination_url": "https://example.com/a/very/long/path?utm_campaign=launch",
  "status": "active",
  "click_count": 0,
  "created_at": "2026-08-03T09:00:00Z"
}

Want a custom back-half? Add "alias": "launch" to get https://go.esmsafrica.io/launch.

3. Share it

Anyone who opens https://go.esmsafrica.io/Ab12Xy is redirected to your destination, and the click is tracked.

4. Read the analytics

Use the id from step 2:

curl https://links.esmsafrica.io/v1/analytics/0f5c84e2-7a1e-43d2-8aa1-c0ce93114605?days=30 \
  -H "Authorization: Bearer esms_l_your_key"
{
  "link_id": "0f5c84e2-7a1e-43d2-8aa1-c0ce93114605",
  "range_days": 30,
  "totals": { "clicks": 128, "uniques": 96 },
  "timeline": [ { "day": "2026-08-03", "clicks": 12, "uniques": 9 } ],
  "by_country": { "NG": 48, "KE": 34, "GH": 21 },
  "by_device": { "mobile": 105, "desktop": 20, "tablet": 3 },
  "by_browser": { "Chrome": 88, "Safari": 30 },
  "by_referrer": { "twitter.com": 40, "direct": 60 }
}

Generate a QR code

curl -X POST https://links.esmsafrica.io/v1/qr \
  -H "Authorization: Bearer esms_l_your_key" \
  -H "Content-Type: application/json" \
  -d '{ "url": "https://go.esmsafrica.io/Ab12Xy", "fg_color": "#1F1B17" }'

The response includes a png field with a data:image/png;base64,… URI you can render or save. You can also download any saved QR at GET /v1/qr/{id}.png.

Next steps

On this page