Airtel Certified Provider
Home
About
Services
Portfolio
Developers
Contact
Get In Touch
DEVELOPERS

API Documentation

Integrate seamlessly with Malawi's most reliable infrastructure.

Authentication

The Rapid Digital SMS API uses Bearer tokens for authentication. You will need to include your API key in the `Authorization` header of every request.

Authorization: Bearer rsg_prod_YOUR_API_KEY_HERE

Send SMS

Send a text message to any Malawian phone number (Airtel or TNM).

POSThttps://sms.rapidmw.com/api/v1/sms

Request Parameters

ParameterTypeRequiredDescription
toStringYesThe destination phone number in international format without the plus sign (e.g., 265990000000).
messageStringYesThe text content of your SMS. Max 160 characters per segment.
senderIdStringYesYour approved Alphanumeric Sender ID (e.g., RAPID). Max 11 characters.
referenceStringNoAn optional unique reference ID from your system for tracking.

Response

{
  "success": true,
  "data": {
    "messageId": "msg_984f4e245a1c",
    "status": "SUBMITTED",
    "segments": 1
  }
}

Code Examples

cURL

curl -X POST https://sms.rapidmw.com/api/v1/sms \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "265990000000",
    "message": "Hello from Rapid Digital!",
    "senderId": "RAPID"
  }'

Node.js (Fetch)

const response = await fetch('https://sms.rapidmw.com/api/v1/sms', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    to: "265990000000",
    message: "Hello from Rapid Digital!",
    senderId: "RAPID"
  })
});

const data = await response.json();
console.log(data);

Python (Requests)

import requests

url = "https://sms.rapidmw.com/api/v1/sms"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}
payload = {
    "to": "265990000000",
    "message": "Hello from Rapid Digital!",
    "senderId": "RAPID"
}

response = requests.post(url, json=payload, headers=headers)
print(response.json())

Delivery Status

You can check the status of a specific message using its messageId.

GEThttps://sms.rapidmw.com/api/v1/sms/:messageId
{
  "success": true,
  "data": {
    "id": "msg_984f4e245a1c",
    "destination": "265990000000",
    "status": "DELIVERED",
    "created_at": "2026-06-09T10:00:00.000Z"
  }
}

Ready to start sending SMS?

Contact our sales team to get your API keys, register your Sender ID, and start reaching your customers instantly.

Contact Us for Access