SMS API for Developers
Send OTP, transactional alerts, and bulk SMS campaigns in Ghana, Nigeria, Tanzania & South Africa. Integrate Arkesel's SMS gateway API into your app in minutes — pay only for what you send.
# Send an SMS in one API call curl -X POST https://sms.arkesel.com/api/v2/sms/send \ -H "api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "sender": "MyApp", "message": "Your order #1042 has shipped!", "recipients": ["+233244000000"] }'
Trusted by 10,000+ businesses in Ghana, Nigeria, Tanzania & South Africa








Everything you need to send SMS at scale
Purpose-built for developers who need reliable messaging without the complexity.
Bulk and Single Send
Send to one recipient or millions. A single endpoint handles both with automatic throughput optimization.
Delivery Reports and Webhooks
Real-time delivery status callbacks. Know exactly when each message is delivered, failed, or rejected.
Custom Sender IDs
Send from your brand name instead of a random number. Register custom sender IDs for any supported country.
Scheduled Messages
Schedule SMS for future delivery with timezone support. Perfect for timed campaigns and reminders.
Contact Groups
Organize recipients into reusable groups. Manage contacts via API and target segments without rebuilding lists.
Template Messages
Send variable SMS to recipients using reusable templates. Personalize messages at scale without rebuilding payloads.
Integrate in minutes
A single POST request is all it takes. Pick your language, paste the code, and start sending.
- RESTful JSON API
- Copy-paste code samples
- Consistent error responses
- Comprehensive API reference
curl -X POST https://sms.arkesel.com/api/v2/sms/send \ -H "api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "sender": "MyApp", "message": "Your verification code is 4829", "recipients": ["+233244000000"] }'
import requests url = "https://sms.arkesel.com/api/v2/sms/send" headers = { "api-key": "YOUR_API_KEY", "Content-Type": "application/json" } payload = { "sender": "MyApp", "message": "Your verification code is 4829", "recipients": ["+233244000000"] } response = requests.post(url, json=payload, headers=headers) print(response.json())
const response = await fetch( "https://sms.arkesel.com/api/v2/sms/send", { method: "POST", headers: { "api-key": "YOUR_API_KEY", "Content-Type": "application/json", }, body: JSON.stringify({ sender: "MyApp", message: "Your verification code is 4829", recipients: ["+233244000000"], }), } ); const data = await response.json(); console.log(data);
$url = "https://sms.arkesel.com/api/v2/sms/send"; $payload = [ "sender" => "MyApp", "message" => "Your verification code is 4829", "recipients" => ["+233244000000"], ]; $ch = curl_init($url); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_HTTPHEADER => [ "api-key: YOUR_API_KEY", "Content-Type: application/json", ], CURLOPT_POSTFIELDS => json_encode($payload), CURLOPT_RETURNTRANSFER => true, ]); $response = curl_exec($ch); curl_close($ch); echo $response;
Built for every SMS use case
From transactional alerts to marketing campaigns, one API handles it all.
Transactional Alerts
Order confirmations, shipping updates, payment receipts. Deliver critical info the moment it happens.
Marketing Campaigns
Promotional offers, flash sales, product launches. Reach your audience directly with high open rates.
OTP Verification
Two-factor authentication, account verification, password resets. Secure your users with one-time codes.
Appointment Reminders
Reduce no-shows with automated appointment and booking reminders. Schedule messages in advance.
Go live in 3 steps
From sign-up to first SMS in under 5 minutes. No sales calls, no contracts.
Create an Account
Sign up for free and get instant access to your dashboard and API credentials.
Get Your API Key
Generate an API key from the dashboard. Use it in the api-key header for all requests.
Send Your First SMS
Copy a code sample, replace the API key, and send your first message in seconds.
Start sending SMS today
Free to sign up. No credit card required. Get your API key and send your first message in under 5 minutes.


