Bulk SMS South Africa

Send Bulk SMS to South Africa or use our SMS API to implement SMS notifications,
OTP, reminders into your workflow and build apps that send SMS
with our redundant SSL SMS API in South Africa or internationally.

Cost Calculator

Fill details below to calculate your
SMS campaign cost


${{costPerSMS}} price per sms

High volume?

Contact Us →

Pay as you go pricing South Africa

No contracts, no commitments pay only for what you use. South Africa Bulk SMS prices for low volume can be seen on the left, if you have a higher volume please contact us for special discount


BUY SMS CREDITS →

Bulk SMS opportunity in South Africa

There is an exciting opportunity for SMS Gateway for South Africa. Mobile number users exceeded 91878275 in 2018. For the population of South Africa which reaches 55380210 that means a mobile penetration of almost 165.9%. Based on that you can understand that the opportunity for Bulk SMS marketing is huge for a local or international business sending SMS in South Africa

SMS Mobile networks in South Africa

The SMS.to SMS Gateway for South Africa will help you reach all possible and available networks in South Africa

icon

South Africa SMS API for developers

Implement SMS notifications, OTP, reminders etc. into your workflow and build apps that send SMS with our redundant SSL SMS API to send SMS to every South Africa network.


GET API KEY →
*some of features are still in development. Please refer to our API documentation for more info
#!/bin/bash
                
curl --location --request POST "https://api.sms.to/v1/sms/send" \ --header "Authorization: Bearer xyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyz" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --data "{ \"body\": \"A new post on your favourite forum. Check it out.\", \"to\": \"+355692179931\", \"sender_id\": \"SMS.to\", \"callback_url\": \"https://your-website.com/handle-notification\" }"
$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.sms.to/v1/sms/send",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => false,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS =>'{"body": "A new post on your favourite forum. Check it out.","to": "+355692179931","sender_id": "SMS.to","callback_url": "https://your-website.com/handle-notification"}',
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer xyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyz",
"Accept: application/json",
"Content-Type: application/json"
),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

            
import http.client

conn = http.client.HTTPSConnection("api.sms.to")

payload = "{\"body\": \"A new post on your favourite forum. Check it out.\",\"to\": \"+355692179931\",\"sender_id\": \"SMS.to\",\"callback_url\": \"https://your-website.com/handle-notification\"}"

headers = {
'Authorization': "Bearer xyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyz",
'Content-Type': "application/json",
'Accept': "application/json"
}

conn.request("POST", "/v1/sms/send", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
            
require 'uri'
require 'net/http'

url = URI("https://api.sms.to/v1/sms/send")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer xyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyz'
request["Content-Type"] = 'application/json'
request["Accept"] = 'application/json'
request.body = "{\"body\": \"A new post on your favourite forum. Check it out.\",\"to\": \"+355692179931\",\"sender_id\": \"SMS.to\",\"callback_url\": \"https://your-website.com/handle-notification\"}"

response = http.request(request)
puts response.read_body
            
var client = new RestClient("https://api.sms.to/v1/sms/send");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer xyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyz");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Accept", "application/json");
request.AddParameter("application/json", "{\"body\": \"A new post on your favourite forum. Check it out.\",\"to\": \"+355692179931\",\"sender_id\": \"SMS.to\",\"callback_url\": \"https://your-website.com/handle-notification\"}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);