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_idfrom 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
Authorizationheader for every request - Content-Type:
application/jsonfor 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.,255XXXXXXXXXfor 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}"
SDKs (recommended)
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?
- API issues: https://github.com/iPFSoftwares/notify-africa-core-api/issues
- General support: +255759818157