Bulk SMS Puerto Rico

Bulk SMS in Puerto Rico is one of the most affordable and practical ways to reach
a large audience in Puerto Rico. SMS texts are significantly more likely to get opened
than email messages. Achieve open rates of more than 98% in a bulk sms campaign within 15 minutes.

SMS.to can help you with your successful Bulk SMS texting campaigns in Puerto Rico
with our modern text marketing platform and features.

Please contact our sales team or signup for a free test account to get started

GET STARTED

Free Trial - No Credit Card Required

Cost Calculator

Fill details below to calculate your
SMS campaign cost


${{costPerSMS}} price per sms

High volume?

Contact Us →

Pay as you go pricing Puerto Rico

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


BUY SMS CREDITS →

Bulk SMS opportunity in Puerto Rico

There is an exciting opportunity for SMS Gateway for Puerto Rico. Mobile number users exceeded 3389402 in 2018. For the population of Puerto Rico which reaches 3294626 that means a mobile penetration of almost 102.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 Puerto Rico

SMS Mobile networks in Puerto Rico

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

Puerto Rico 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 Puerto Rico network.


GET API KEY →
*some of features are still in development. Please refer to our API documentation for more info
curl -L -X POST "https://api.sms.to/sms/send" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <YOUR_API_KEY_OR_ACCESS_TOKEN>" \
-d "{
		\"message\": \"This is a test message\",
		\"to\": \"+355692179931\",
		\"sender_id\": \"SMS.to\",
		\"callback_url\": \"https://sms.to/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 =>"{\n    \"message\": \"This is a test message\",\n    \"to\": \"+355692179931\",\n    \"sender_id\": \"SMS.to\",\n    \"callback_url\": \"https://sms.to/callback/handler\"\n}",
	CURLOPT_HTTPHEADER => array(
			"Content-Type: application/json",
			"Accept: application/json",
			"Authorization: Bearer <YOUR_API_KEY_OR_ACCESS_TOKEN>"
		),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
var data = "{\n    \"message\": \"This is a test message\",\n    \"to\": \"+355692179931\",\n    \"sender_id\": \"SMS.to\",\n    \"callback_url\": \"https://sms.to/callback/handler\"\n}";

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function() {
	if(this.readyState === 4) {
		console.log(this.responseText);
	}
});

xhr.open("POST", "https://api.sms.to/sms/send");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader("Authorization", "Bearer <YOUR_API_KEY_OR_ACCESS_TOKEN>");

xhr.send(data);
var https = require('follow-redirects').https;

var options = {
	'method': 'POST',
	'hostname': 'https://api.sms.to',
	'path': '/sms/send',
	'headers': {
		'Content-Type': 'application/json',
		'Authorization': 'Bearer <YOUR_API_KEY_OR_ACCESS_TOKEN>'
	},
	'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 =  "{\n    \"message\": \"This is a test message\",\n    \"to\": \"+355692179931\",\n    \"sender_id\": \"SMS.to\",\n    \"callback_url\": \"https://sms.to/callback/handler\"\n}";

req.write(postData);

req.end();
require "uri"
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["Content-Type"] = "application/json"
request["Authorization"] = "Bearer <YOUR_API_KEY_OR_ACCESS_TOKEN>"
request.body = "{\n    \"message\": \"This is a test message\",\n    \"to\": \"+355692179931\",\n    \"sender_id\": \"SMS.to\",\n    \"callback_url\": \"https://sms.to/callback/handler\"\n}"

response = https.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("https://api.sms.to")
payload = "{\n    \"message\": \"This is a test message\",\n    \"to\": \"+355692179931\",\n    \"sender_id\": \"SMS.to\",\n    \"callback_url\": \"https://sms.to/callback/handler\"\n}"
headers = {
	'Content-Type': 'application/json',
	'Authorization': 'Bearer <YOUR_API_KEY_OR_ACCESS_TOKEN>'
}
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, "{\n    \"message\": \"This is a test message\",\n    \"to\": \"+355692179931\",\n    \"sender_id\": \"SMS.to\",\n    \"callback_url\": \"https://sms.to/callback/handler\"\n}");
Request request = new Request.Builder()
	.url("https://api.sms.to/sms/send")
	.method("POST", body)
	.addHeader("Content-Type", "application/json")
	.addHeader("Authorization", "Bearer <YOUR_API_KEY_OR_ACCESS_TOKEN>")
	.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("{\n    \"message\": \"This is a test message\",\n    \"to\": \"+355692179931\",\n    \"sender_id\": \"SMS.to\",\n    \"callback_url\": \"https://sms.to/callback/handler\"\n}")

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

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

	res, err := client.Do(req)
	defer res.Body.Close()
	body, err := ioutil.ReadAll(res.Body)

	fmt.Println(string(body))
}
Secure Payments