SMS Text API Gateway - Cloud Restful and lightweight API

Send and receive text messages directly from and to your web application or IT systems via our API. With access to our well documented and supported API you will be able to connect directly to our Messaging Platform.

Easily integrate our messaging services with your website, software or CRM application in PERL, PHP, ASP, .NET, Java or any other language. 

SMS API Key Features

Free Trial
Signup and get Free Text Credits!
Message Queueing Message Queueing
Send up to 100 text per second, we will take care of dellivery.
Supports unicode
We support all the laungages spoken across the globe!
Global Reach Global Reach
Send SMS to over 200 countries and 800 carriers.
Delivery Reports
Get to know status of your text messages
Two Way SMS Two Way SMS
Receive responses of your customer via long and short code!
Cloud Text API Cloud API
RESTful and lightweight API. No VPN/SMPP required.
Graphs and Reports Graphs and Reports
Usage reports available via admin panel!

Send SMS Text API

We offer a RESTful and lightweight interface for sending SMS Text messages. This option is perfect for mail-merging text appointment reminders, alerts, marketing campaigns, delivery confirmations and payroll information.
// Innovative Text API URL
$postUrl = "";
//Formatted data 
$fields = “to=xxxx&from=xxxx& text=xxxx&api_key=KEY&api_secret=API SECRET” // In this example, POST request was made using PHP's CURL $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $postUrl); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $fields); //Response of the POST request $response = curl_exec($ch); curl_close($ch); //Write out the response echo $response; ?>
            // InnovativeTXT POST URL
            string url = "";
            // XML-formatted data
            string toSender = "447879854566";
            string fromSender = "CompanyName";
            string textMessage = "Thanks for Choosing Innovative Text.";

            string fields = "?to=" + toSender + "&from=" + fromSender
+ "&text=" + textMessage + "&api_key=KEY&api_secret=API SECRET";
            url = url + fields;
            // web request start
            Uri uri = new Uri(url);
            string data = "field-keywords=ASP.NET 2.0";
            if (uri.Scheme == Uri.UriSchemeHttp)
                // create a request on behalf of uri
                HttpWebRequest request =
                // setting parameter for the request
                request.Method = WebRequestMethods.Http.Post;
                request.ContentLength = data.Length;
                request.ContentType = "application/x-www-form-urlencoded";
                // a stream writer for the request
                StreamWriter writer = new
                // write down the date
                //close the stream writer

                // getting response from the request
                HttpWebResponse response =

                // Get the stream associated with the response.
                Stream receiveStream = response.GetResponseStream();

                // Pipes the stream to a higher level stream reader
with the required encoding format.
                StreamReader readStream = new
StreamReader(receiveStream, System.Text.Encoding.UTF8);

                // to write a http response from the characters
                // close the response
                // close the reader

        catch (Exception exp)
            // catch for unhelded exception
package sendsms_innovative;
public class URLConnDemo {
    public static void main(String[] args) {
    String request = "
from=CompanyName&text='Your Message'&api_key=XXXXXXX&api_secret=XXXXXXXX"; try { URL url = new URL(request); URLConnection urlConnection = url.openConnection(); HttpURLConnection connection = null; if(urlConnection instanceof HttpURLConnection) { connection = (HttpURLConnection) urlConnection; } else { System.out.println("Please enter an HTTP URL."); return; } BufferedReader in = new BufferedReader( new InputStreamReader(connection.getInputStream())); String urlString = ""; String current; while((current = in.readLine()) != null) { urlString += current; } System.out.println(urlString); }catch(IOException e) { e.printStackTrace(); } } }

Send SMS Parameters

Parameter Description
from Required – Sender Name (Alpha Numeric or Dedicated Long Code)
to Required – Mobile number in International Format & and one recipient per request. e.g. 447873981355 for UK
message Required – Message to be sent
api_key Required – Your Innovative Text Assigned API Key
api_secret Required – Your Innovative Text API Secret
type Optional. Not required for normal text messages. This needs to be set to unicode, if sending the unicode message. ( e.g for Message in Arabic).
flashsms Optional. Set to 0 for Flash SMS.


We Support Unicode messaging for multiple languages support. Length of a SMS is 160 characters in ASCII (latin symbols) or 70 characters in UNICODE. If quantity of symbols exceeds 160 symbols in ASCII or 70 characters in UNICODE, size and calculation of one SMS will be 153 characters in ASCII and 63 characters in UNICODE

JSON Sucessful response, sent in one part:

In case of any failuer the JSON response is below.
JSON Error response, sent in one part:
{"messagecount":1,"status":4,"clientref":"3837373","error-text":"Invalid Mobile Number."}



The status code and there description is detailed below

Status Code Description
0 The message was successfully accepted for delivery by Innovative Text.
1 Throttled, you are sending messages too fast, get back and try again.
2 Insufficient Credit.
3 The api_key / api_secret is either invalid or disabled.
4 Invalid Parameters. Please ensusure phone number to be international format.
5 Innovative text server error (component mobile authentication), please report and try again.

Incoming SMS API

Once you've configured your Innovative Text Virtual Long Code / Short Code, set the forward URL in the API Setting page to forward all incoming messages to your server. The Incoming message will forward to your system via HTTP request. Example URL is following.

Parameter Description
msisdn Optional. Sender ID
to Recipient number (your Long virtual mobile number).
text Content of the message

Message ID

message-timestamp When we started to push the message to your callback URL in the following format YYYY-MM-DD HH:MM:SS e.g. 2013-06-05 10:32:18

Delivery Reports

Please set up the delivery receipts URL in to your account at the API Settings page, we will post the information as query string to the provided URL. 08:13:04

Parameter Description
msisdn Number message was delivered to.
to Sender Id of the message.
status Status of the message (possible message can be) delivered, expired, failed, accepted, buffered, unknown)
network-code Optional identifier of a mobile network MCCMNC. Wikipedia list here.
message-timestamp When the delivery report URL was pushed to you.
YYYY-MM-DD HH:MM:SS e.g. 2012-04-05 09:22:57
scts UTC time when got notification mobile network in the following format YYMMDDHHMM e.g. 1303171426 is 2011 Jan 18th 14:26
price Message price
clientref The custom variable provided by you with request submission.