SMS API
SMS API is used by businesses to send SMS programmatically with appointment reminders, notifications, alerts, or marketing campaigns. The SMS API gateway is also helpful for companies that need to incorporate SMS capability into their existing systems and applications, such as CRM systems or e-commerce platforms.
The SMS API is used to send SMS quickly, efficiently, and at scale, by businesses from many sectors: financial institutions, healthcare providers, government agencies, food and hospitality, retailers, and many other types of organizations.
Using our SMS API you can send SMS to multiple recipients in a single request (up to 25.000 phone numbers per request), rather than making multiple single API requests, which saves time and resources.
A wide range of features for SMS Messaging
Click below to see feature highlights for either SMS, Mobile landing pages, our web portal, or API connections
-
Templates
Save unique text message templates to send SMS messages quickly and conveniently.
-
Two-Way SMS
Develop a relationship with your customers. Send and receive text messages to/from customers.
-
Multilingual support
You can send text messages in any currently used language thanks to the Unicode character encoding.
-
Dynamic fields
To quickly personalize messages, select any contact details to dynamically include into the text body.
-
Cost estimate
Before sending a campaign, estimate the cost and don't worry about going over budget.
-
Multi channel
You have the choice of sending your message via SMS, Viber, or WhatsApp.
-
Alerts
Create birthday SMS, late payment reminders, and other alerts based on a file with date columns.
-
Conversations
You can respond to all inbound text messages from the chat window, which is shown as a single message feed.
-
Custom sender ID
Send messages to your customers with the sender ID of your organization.
-
Global coverage
Our network allows you to interact safely and cost-effectively with your consumers all around the world.
-
Import contacts
Upload a file (CSV, XLS, TXT) or copy and paste phone numbers to quickly import your contacts collection. Save details like your name, email address, and custom fields.
-
Custom fields
By uploading a file containing contacts and defining custom data fields, you can incorporate a number of dynamic fields into your text message.
-
Activity log
It records your logins, balance top-ups, and campaigns sent, among other things.
-
Reports and analytics
Monitor and enhance your SMS marketing results. Learn about delivery rates, click-through rates, and other metrics.
-
Validate numbers
To assist you clean up your contacts list, upload a list of phone numbers and remove the invalid ones.
-
Low credit alert
You'll receive an SMS credit alert if your account balance falls below the limit you set.
-
Restrict access
Allows you to limit account access to a certain IP address range.
Popular SMS API use cases
Learn how you can use our SMS API solution for your business.
Notifications
Use SMS API to inform your customers about orders confirmation, shipping status, invitations, appointments.
Alerts
Quickly and easily automate sending of appointment reminders, updates, changes or important issues.
Verification
Verify and authenticate users with One-Time Passwords (OTP) as an extra layer of security to prevent unauthorized access.
Marketing
Use bulk SMS to send special offers, sales promotion, discount coupons, vouchers and more to grow your revenue.
Calculate cost to send SMS to United States
Pay as you go SMS pricing. When using our SMS API you pay only for what you use.
0.198 € cost per sms
Send SMS text messages to any mobile network in United States for 0.198 € per message.Send SMS to mobile networks in United States:
- AT&T
- Choice Wireless (ATN)
- iWireless
- Chariton Valley Telephone Company
- Phoenix Communications (Oklahoma Western Telephone Company)
- T-Mobile (Deutsche Telekom)
- Sprint (SoftBank)
- Verizon Wireless
- US Cellular (TDS)
- Arctic Slope Telephone Association Cooperative
- Big River Communications (Big River Telephone)
- Carolina West Wireless
- CenturyLink
- Northwest Missouri Cellular
- Public Service Data Wireless
- S&T Telephone
- VTel Wireless (Vermont Telephone Company)
- Agri-Valley Communications
- Airpeak
- C Spire Wireless (Telapex)
- NewCore Wireless
- SouthernLINC Wireless (Southern Company)
- GW Wireless (Golden West Telecom)
- Emery Telecom
- GCI
- NTUA Choice Wireless
- Big Sky Mobile (iSmart Mobile)
- All West Wireless (All West Communications)
- Choice Wireless
- Appalachian Wireless
- Blanca Telephone Company (Jade Communications)
- Bluegrass Cellular
- Cellcom (Nsight)
- Chat Mobility
- Cellular One (MTPCS)
- Cellular One (Smith Bagley)
- ClearTalk Wireless (NTCH)
- Copper Valley Telecom
- Cordova Wireless Communications (Cordova Telephone Cooperative)
- Bravado Wireless (Cross Communications)
- Custer Telephone Company
- ETEX Telephone Cooperative
- Farmers Wireless
- Illinois Valley Cellular
- Limitless Mobile
- Indigo Wireless
- Inland Cellular
- Leaco Wireless
- Bug Tussel Wireless (Hilbert Communications)
- Mid-Rivers Communications (Mid-Rivers Telephone Cooperative)
- Mobi PCS
- Matanuska Telephone Association
- Nemont (Sagebrush Cellular)
- Nex-Tech Wireless
- OTZ Telephone Cooperative
- Kaptel
- Penasco Valley Telecom
- Peoples Wireless (Peoples Telephone Cooperative)
- Pine Belt Wireless (Pine Belt Telephone Company)
- Pine Cellular
- Pinpoint Communications
- Pioneer Cellular (Pioneer Telephone Cooperative)
- Plateau Wireless
- Shenandoah Telecommunications
- Silver Star Wireless (Silver Star Communications)
- Snake River PCS (Eagle Telephone System)
- South Central Communications
- Swiftel (Brookings Municipal Utilities)
- Texas Cellular Communications
- STRATA NETWORKS
- Union Wireless
- United Wireless
- Viaero Wireless
- West Central Wireless
- Northeast Wireless
- Ligado Networks
- BayRICS
- Texas Energy Network
- James Valley Telecommunications
- PTCI (Panhandle Telephone Cooperative)
- MobileNation (SI Wireless)
- TelAlaska Cellular (American Broadband)
- S & R Communications
- SpeedConnect
- O2 Secure Wireless
- NNTC Wireless (Northeast Nebraska Telephone Company)
- ARINC AviNet (Rockwell Collins)
- Enhanced Telecommunications Corporation
- South Georgia Regional Information Technology Authority
- Aspenta
- Nortex Communications
- Colorado Valley Communications
- KPU (Ketchikan Public Utilities)
- Evolve Broadband (Worldcall Interconnect)
- Adams NetWorks
- Farmers Mutual Telephone Company
- CTC Advanced Communications
- NNTC Wireless (Nucla-Naturita Telephone Company)
- Breakaway Wireless (MTCC)
- Blue Wireless
- BIT Communications (Buggs Island Telephone Cooperative)
- pdvWireless (Pacific DataVision)
- Rock Wireless (Standing Rock Telecom) (5938)
- Redzone Wireless
- GigSky
- Rise Broadband
- Country Wireless
- Phoenix Wireless
- Infrastructure Networks
Check features of SMS messaging and local regulations for United States:
Ways to use SMS messaging with SMS.CX
Select a method to send your text message that fits your business needs.
Code examples for SMS API
Integrate our powerful SMS API into your website or application, and you'll be ready to begin sending SMS messages in minutes.
Use our official API wrappers and client libraries to get up and running quickly. They are available with popular languages like Python, PHP, Node.js, Java and others.
There's no client library for your preferred language? You can use any generic HTTP library you want.
import requests url = "https://api.sms.cx/sms" payload = { "to": ["+31612469333"], "from": "InfoText", "text": "Your confirmation code is 5443" } headers = { "content-type": "application/json", "Authorization": "Bearer <ACCESS_TOKEN>" } response = requests.request("POST", url, json=payload, headers=headers) print(response.text)
require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sms.cx/sms") 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["content-type"] = 'application/json' request["Authorization"] = 'Bearer <ACCESS_TOKEN>' request.body = "{\"to\":[\"+31612469333\"],\"from\":\"InfoText\",\"text\":\"Your confirmation code is 5443\"}" response = http.request(request) puts response.read_body
const data = JSON.stringify({ "to": [ "+31612469333" ], "from": "InfoText", "text": "Your confirmation code is 5443" }); const xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { if (this.readyState === this.DONE) { console.log(this.responseText); } }); xhr.open("POST", "https://api.sms.cx/sms"); xhr.setRequestHeader("content-type", "application/json"); xhr.setRequestHeader("Authorization", "Bearer <ACCESS_TOKEN>"); xhr.send(data);
const http = require("https"); const options = { "method": "POST", "hostname": "api.sms.cx", "port": null, "path": "/sms", "headers": { "content-type": "application/json", "Authorization": "Bearer <ACCESS_TOKEN>" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.write(JSON.stringify({to: ['+31612469333'], from: 'InfoText', text: 'Your confirmation code is 5443'})); req.end();
<?php $curl = curl_init(); $payload = [ 'to' => '+31612469333', 'from' => 'InfoText', 'text' => 'Your confirmation code is 5443', ]; curl_setopt_array($curl, [ CURLOPT_URL => "https://api.sms.cx/sms", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => json_encode($payload), CURLOPT_HTTPHEADER => [ "Authorization: Bearer <ACCESS_TOKEN>", "content-type: application/json" ], ]); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; }
OkHttpClient client = new OkHttpClient(); MediaType mediaType = MediaType.parse("application/json"); RequestBody body = RequestBody.create(mediaType, "{\"to\":[\"+31612469333\"],\"from\":\"InfoText\",\"text\":\"Your confirmation code is 5443\"}"); Request request = new Request.Builder() .url("https://api.sms.cx/sms") .post(body) .addHeader("content-type", "application/json") .addHeader("Authorization", "Bearer <ACCESS_TOKEN>") .build(); Response response = client.newCall(request).execute();
var client = new RestClient("https://api.sms.cx/sms"); var request = new RestRequest(Method.POST); request.AddHeader("content-type", "application/json"); request.AddHeader("Authorization", "Bearer <ACCESS_TOKEN>"); request.AddParameter("application/json", "{\"to\":[\"+31612469333\"],\"from\":\"InfoText\",\"text\":\"Your confirmation code is 5443\"}", ParameterType.RequestBody); IRestResponse response = client.Execute(request);
package main import ( "fmt" "strings" "net/http" "io/ioutil" ) func main() { url := "https://api.sms.cx/sms" payload := strings.NewReader("{\"to\":[\"+31612469333\"],\"from\":\"InfoText\",\"text\":\"Your confirmation code is 5443\"}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("content-type", "application/json") req.Header.Add("Authorization", "Bearer <ACCESS_TOKEN>") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := ioutil.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) }
curl --request POST \ --url https://api.sms.cx/sms \ --header 'Authorization: Bearer <ACCESS_TOKEN>' \ --header 'content-type: application/json' \ --data '{"to":["+31612469333"],"from":"InfoText","text":"Your confirmation code is 5443"}'