SMS API

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-sms.sh
# 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"]
  }'
200 OK — {"status":"success","data":{"id":"msg_9f8k2j...","credits_used":1}}

Trusted by 10,000+ businesses in Ghana, Nigeria, Tanzania & South Africa

Ebits Arkbank OyaGhana UDS AppSol ShrinQ Ashfoam Tospino
High
Availability
4
Countries Covered
< 3s
Average Delivery
10K+
Businesses Served

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
Full API Reference
send-sms.py
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"]
  }'
200 OK — Message sent successfully
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())
200 OK — {"status": "success", "data": {"id": "msg_9f8k2j..."}}
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);
200 OK — {"status": "success", "data": {"id": "msg_9f8k2j..."}}
$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;
200 OK — {"status": "success", "data": {"id": "msg_9f8k2j..."}}

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.

Pay only for what you send

Competitive per-SMS rates with volume discounts. No monthly fees, no hidden charges, no minimum commitment.

No monthly fees
Volume discounts
Free test credits
View Pricing

Go live in 3 steps

From sign-up to first SMS in under 5 minutes. No sales calls, no contracts.

1

Create an Account

Sign up for free and get instant access to your dashboard and API credentials.

2

Get Your API Key

Generate an API key from the dashboard. Use it in the api-key header for all requests.

3

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.

Scroll to Top