SMS.to Gateway API is the easiest way to send SMS to Bahrain. The API is easy to setup, its low cost, and
allows you to send sms messages to all your customers in Bahrain and world wide.
Our SMS API also allows your company to receive accurate delivery reports, create lists, validate through HLR, and
send personalised messages or campaigns.This can make our SMS gateway a useful tool for your computer
software, CRM, ERP, notification or sms marketing software.
Get started with our SMS Gateway API for Bahrain in minutes. Please contact our sales team or signup for a free test account.
Fill details below to calculate your
SMS campaign cost
When using our API gateway you pay only for what you send. Bahrain SMS Gateway prices for low volume can be seen on the left, High volume customers might be eligible for volume discounts, please contact us
SMS.to reliable and scalable SMS API allows you to build solid apps, intergrate into CRMs, softwares and other apps that need robust connectivity from a Gateway SMS API to send SMS to every Bahrain network.
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)) }