Skip to main content

Getting Started

Welcome to the Notify Africa developer documentation. This short guide helps you get ready to send your first SMS via the Notify Africa API and points you to the right places for deeper docs and SDKs.

What you can build

  • Send transactional or marketing SMS to one or many recipients
  • Track delivery status of messages
  • Integrate quickly using official SDKs (Node.js, Go, Python) or call the REST API directly

Prerequisites

  • A Notify Africa account open one here https://account.notify.africa/auth/register
  • API Token (Bearer token)
    • Request from your admin dashboard or system administrator
  • Internet access to https://api.notify.africa
  • Assigned sender_id from Notify Africa
# All requests require this header
Authorization: Bearer {API-TOKEN}
Base URL

All REST endpoints are relative to:

https://api.notify.africa/

General requirements

  • Authentication: Bearer token in Authorization header for every request
  • Content-Type: application/json for POST/PUT requests
  • Security: store tokens in environment variables or secret managers; do not hard-code
  • Rate limiting: avoid bursts; prefer batches when possible
  • Error handling: check non-200 responses and parse returned error message

SMS requirements

  • Phone number format: international format without + (e.g., 255XXXXXXXXX for Tanzania)
  • Sender ID: must be provisioned/approved by Notify Africa (e.g., numeric or alphanumeric per local rules)
  • Message length: standard SMS is 160 GSM-7 characters per segment; long messages are segmented
  • Restricted characters: avoid unsupported characters or use Unicode if required (may reduce per-segment capacity)

Quick test (cURL)

Send a single SMS:

curl -X POST https://api.notify.africa/api/v1/api/messages/send \
-H "Authorization: Bearer {API-TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"phone_number": "255689737459",
"message": "Hello from Notify Africa!",
"sender_id": "137"
}'

Check status:

curl -X GET https://api.notify.africa/api/v1/api/messages/status/{messageId} \
-H "Authorization: Bearer {API-TOKEN}"

Use an SDK to reduce boilerplate and handle errors consistently:

  • Node.js (NPM): /docs/sdks/node
  • Go: /docs/sdks/go
  • Python: /docs/sdks/python

Example (Node.js):

import { NotifyAfrica } from 'notify-africa';
const client = new NotifyAfrica(process.env.NOTIFY_API_TOKEN!);
await client.sendSingleMessage('255689737459', 'Hello from API!', '137');

Next steps

  • Read the full HTTP guide: /docs/api/sms
  • Choose an SDK and integrate:
    • Node.js (NPM): /docs/sdks/node
    • Go: /docs/sdks/go
    • Python: /docs/sdks/python
  • Follow best practices: secure your token, validate inputs, and monitor delivery status

Need help?