SMS Marketing Tools for Growth and Engagement

Make the most of mobile with our specialized SMS Marketing service. Reach your audience instantly and drive engagement with personalized marketing campaigns.

Programmable: Our SMS API can be programmed in your language of choice, making it easy to tailor your marketing campaigns to your unique requirements.
Instant Reach: Send marketing notifications quickly and directly to your audience, fostering higher engagement and customer response rates.
Scalable: No matter the size of your audience, our SMS Marketing service can handle it. Send messages to a small group or broadcast to millions - we've got you covered.
Get started quickly: It's easy to start with SMS.to. Sign up for a free account, get your API key, and you'll be set to start your SMS Marketing journey in less than 5 minutes.

GET STARTED Contact Sales

Free Trial - No Credit Card Required

SMStoAuth
SA
Your blockchain wallet authorization code is 8KD18
SMStoAuth
iFixers
IF
Your iMac is now repaired and shiny as new. John from iFixers!
iFixers
When can I pick it up?
IF
Pickup anytime between 09:00:17:00 Mon to Friday from our store
DoctorOffice
DO
This is a reminder for your Appointment with Dr.Smooch at 18:00:18:30 on Monday.
To reschedule call our office up to 24 hours before.
DoctorOffice
AverageStore
AS
Here is a coupon for trying out our service: Q2RKSL1
Use it on your next checkout to receive a 15% off your order
AverageStore
60123
61
From 1 to 10, how happy were you with the service received at MyAwesomeCoffeeShop?
60123
I really liked the service. My girlfriend got her coffee precisely as she wanted it. I am giving a 10.
61
Thank you! Looking forward to seeing you again at our lovely coffee shop.

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. *


GET API KEY →
curl --location 'https://api.sms.to/sms/send' \
--header 'Authorization: Bearer <api_key>' \
--header 'Content-Type: application/json' \
--data '{
    "message": "This is test and \n this is a new line",
    "to": "+35799999999999",
    "bypass_optout": true,
    "sender_id": "SMSto",
    "callback_url": "https://example.com/callback/handler"
}'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.sms.to/sms/send',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "message": "This is test and \\n this is a new line",
    "to": "+35799999999999",
    "bypass_optout": true,
    "sender_id": "SMSto",
    "callback_url": "https://example.com/callback/handler"
}',
  CURLOPT_HTTPHEADER => array(
    'Authorization: Bearer <api_key>',
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
var https = require('follow-redirects').https;
var fs = require('fs');

var options = {
  'method': 'POST',
  'hostname': 'api.sms.to',
  'path': '/sms/send',
  'headers': {
    'Authorization': 'Bearer <api_key>',
    'Content-Type': 'application/json'
  },
  'maxRedirects': 20
};

var req = https.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function (chunk) {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });

  res.on("error", function (error) {
    console.error(error);
  });
});

var postData = JSON.stringify({
  "message": "This is test and \n this is a new line",
  "to": "+35799999999999",
  "bypass_optout": true,
  "sender_id": "SMSto",
  "callback_url": "https://example.com/callback/handler"
});

req.write(postData);

req.end();
require "uri"
require "json"
require "net/http"

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

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer <api_key>"
request["Content-Type"] = "application/json"
request.body = JSON.dump({
  "message": "This is test and \n this is a new line",
  "to": "+35799999999999",
  "bypass_optout": true,
  "sender_id": "SMSto",
  "callback_url": "https://example.com/callback/handler"
})

response = https.request(request)
puts response.read_body
import http.client
import json

conn = http.client.HTTPSConnection("api.sms.to")
payload = json.dumps({
  "message": "This is test and \n this is a new line",
  "to": "+35799999999999",
  "bypass_optout": True,
  "sender_id": "SMSto",
  "callback_url": "https://example.com/callback/handler"
})
headers = {
  'Authorization': 'Bearer <api_key>',
  'Content-Type': 'application/json'
}
conn.request("POST", "/sms/send", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\r\n    \"message\": \"This is test and \\n this is a new line\",\r\n    \"to\": \"+35799999999999\",\r\n    \"bypass_optout\": true,\r\n    \"sender_id\": \"SMSto\",\r\n    \"callback_url\": \"https://example.com/callback/handler\"\r\n}");
Request request = new Request.Builder()
  .url("https://api.sms.to/sms/send")
  .method("POST", body)
  .addHeader("Authorization", "Bearer <api_key>")
  .addHeader("Content-Type", "application/json")
  .build();
Response response = client.newCall(request).execute();
package main

import (
  "fmt"
  "strings"
  "net/http"
  "io/ioutil"
)

func main() {

  url := "https://api.sms.to/sms/send"
  method := "POST"

  payload := strings.NewReader(`{`+"
"+`
    "message": "This is test and \n this is a new line",`+"
"+`
    "to": "+35799999999999",`+"
"+`
    "bypass_optout": true,`+"
"+`
    "sender_id": "SMSto",`+"
"+`
    "callback_url": "https://example.com/callback/handler"`+"
"+`
}`)

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, payload)

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("Authorization", "Bearer <api_key>")
  req.Header.Add("Content-Type", "application/json")

  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := ioutil.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}
Secure Payments