SMS

Next level messaging

Engage your customers globally with quick, scalable and customizable messages

Integrate our developer-friendly APIs to send and receive text messages. Our distributed carrier network and intelligent routing ensure highest delivery and lowest latency.

Get started
Trusted by 30,000+ businesses
RazorpayXiaomiUnacademyDream11IndeedIndian OilIxigo
curl --request POST \
  --url https://control.msg91.com/api/v5/flow/ \
  --header 'Authkey: <authkey>' \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{"template_id":"EntertemplateID","sender":"EnterSenderID","short_url":"1 (On) or 0 (Off)","mobiles":"919XXXXXXXXX","VAR1":"VALUE 1","VAR2":"VALUE 2"}'
const http = require("https");

const options = {
  "method": "POST",
  "hostname": "control.msg91.com",
  "port": null,
  "path": "/api/v5/flow/",
  "headers": {
    "Authkey": "<authkey>",
    "accept": "application/json",
    "content-type": "application/json"
  }
};

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({
  template_id: 'EntertemplateID',
  sender: 'EnterSenderID',
  short_url: '1 (On) or 0 (Off)',
  mobiles: '919XXXXXXXXX',
  VAR1: 'VALUE 1',
  VAR2: 'VALUE 2'
}));
req.end();
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://control.msg91.com/api/v5/flow/",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\"template_id\":\"EntertemplateID\",\"sender\":\"EnterSenderID\",\"short_url\":\"1 (On) or 0 (Off)\",\"mobiles\":\"919XXXXXXXXX\",\"VAR1\":\"VALUE 1\",\"VAR2\":\"VALUE 2\"}",
  CURLOPT_HTTPHEADER => [
    "Authkey: <authkey>",
    "accept: application/json",
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://control.msg91.com/api/v5/flow/")

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["Authkey"] = '<authkey>'
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"template_id\":\"EntertemplateID\",\"sender\":\"EnterSenderID\",\"short_url\":\"1 (On) or 0 (Off)\",\"mobiles\":\"919XXXXXXXXX\",\"VAR1\":\"VALUE 1\",\"VAR2\":\"VALUE 2\"}"

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

conn = http.client.HTTPSConnection("control.msg91.com")

payload = "{\"template_id\":\"EntertemplateID\",\"sender\":\"EnterSenderID\",\"short_url\":\"1 (On) or 0 (Off)\",\"mobiles\":\"919XXXXXXXXX\",\"VAR1\":\"VALUE 1\",\"VAR2\":\"VALUE 2\"}"

headers = {
    'Authkey': "<authkey>",
    'accept': "application/json",
    'content-type': "application/json"
    }

conn.request("POST", "/api/v5/flow/", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
Features
Intelligent SMS RoutingWe find the most reliable route for every message. Your message is sent using your network telecom operator for fast delivery. Incase it fails, within fraction of seconds, we retry and deliver using other network operators.
A reliable, scalable and feature-rich SMS APIIntegrate easily with our developer-friendly SMS API. Built for developers by developers, explore quick-start guides, code snippets, SDKs and more to smoothen the integration process. Available in all programming languages.
Multi-lingual supportConverse with your audience in their local language. Take your engagement to the next level. Build customer confidence as you send messages in their regional or foreign language anywhere across the world.
Personalized SMSIncrease customer satisfaction with meaningful engagement. Don’t just engage with customers, create personalized experiences by adding characteristics to your messages. Harness the power of personalization to boost your ROI.
Link shortenerTransform long URL in a shorter, more readable link. Enable the deeply integrated link shortener to convert long URL to shorter links. Get detailed user report on clicks from mobile numbers, browser and IP.
Enhanced AnalyticsReal-time graphical view for monitoring and troubleshooting. Optimize your SMS delivery, measure the effectiveness of your campaigns, improve ROI. Always know which messages customers have received and which are missed.
Enjoy reliable, low latency delivery-worldwideReach 180+ countries reliably with localized senders. Our backend is optimized to process a very high volume of SMS. The automatic rerouting of global traffic in real-time helps us avoid outages and latency.
Register with us to give voice to your business