SMS API for Seamless Integration
Integrate SMS functionality into your applications effortlessly with SMS.to’s robust SMS API.
*No credit card required

+1,000 BUSINESSES USE SMS.to FOR THEIR needs
SMS API Gateway
Features
One Time Passwords

Notification SMS
Send instant SMS notifications for order confirmations, transactions, reminders and activity

Appointment Reminders
Remind your customers of their appointments to reduce no-shows. Integrate with your CRM or Calendar

SMS Marketing & Newsletters
Effortlessly send bulk SMS to a global audience, reaching a multitude of recipients worldwide in no time

Surveys & Feedback Requests
Quickly connect with your customers using our 2-way SMS connectivity for swift and interactive communication

Why SMS.to API
Experience effortless communication solutions by leveraging our SMS Notification API to elevate your sms marketing

Flexible
Our text message API is designed to be adaptable, allowing you to integrate SMS capabilities into your preferred programming language and framework.

Reliable
Experience the reliability of our SMS delivery infrastructure, ensuring your messages reach their destination safely and in a timely manner without ever have to worry.

Scalable
Whether you need to send a few messages or millions, our message API can handle your volume needs, providing a scalable solution to meet your requirements.

Global
With our SMS API, you can reach users globally in just minutes. Sign up for free, get your API key, and start leveraging the power of SMS communication.
Seamless SMS Integration With Our SMS API​
Our SMS API provides you with the tools to send and receive SMS messages programmatically, making it easy to incorporate SMS communication into your existing systems.
- Effortless Integration
- Enhanced Connectivity
- Seamless API
- Instant Messaging
- Programmatic Control
- Streamlined Communication
SMS API For Developers
Implement SMS marketing notifications, OTPs or reminders into your workflow and build apps that send SMS messages with our SMS API.
curl --location 'https://api.sms.to/sms/send' \
--header 'Authorization: Bearer ' \
--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"
}'
'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 ',
'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 ',
'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 "
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 ',
'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 ")
.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 ")
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))
}
GET API KEY →
Seamless Integrations
With Your Favorite Tools​
SMS integrations for your preferred platform


Sign-Up for a Free Trial
Get free Call & SMS credits on Sign-Up

FAQ
The SMS.to API is a RESTful interface that enables you to send and receive SMS messages programmatically. It’s ideal for integrating SMS capabilities into your applications for notifications, OTPs, reminders, and more.
The SMS.to API is a RESTful interface that allows you to send and manage SMS messages through simple HTTP requests. You authenticate using your API key, then make requests to specific endpoints—like sending messages, checking delivery status, or managing contacts. It supports standard methods like GET and POST, and you can integrate it with any system or app that supports HTTP, making it flexible and easy to use.
Integration is quick and straightforward. First, sign up and generate your API credentials from the dashboard. Then, use any HTTP-compatible language (like Python, PHP, JavaScript) to send requests to our API endpoints. You can start by sending a test SMS using the /sms/send
endpoint. Detailed documentation, code samples, and SDKs are available to guide you through the setup.
The SMS API saves you time, scales with your business, and connects directly with your existing tools. Instead of manually sending messages one by one, you can automate everything.
Example:
With a CRM integration, you can automatically send a personalized SMS to every new lead the moment they sign up—no copying, pasting, or delays. Compare that to manual sending: hours of work, slower responses, and missed opportunities.
The API turns messaging into a set-it-and-forget-it growth engine.
The SMS API is a game-changer across industries.
- eCommerce: Send order updates, delivery alerts, and flash sale promos.
- Healthcare: Automate appointment reminders and prescription notifications.
- Logistics: Keep customers updated with real-time shipment tracking.
- Finance: Deliver secure OTPs and account alerts instantly.
- Hospitality: Confirm bookings and send check-in details automatically.
If you need to reach customers fast and reliably—SMS.to fits right in.