SMS API for Developers with Awesome Support

Reliable, scalable and transactional SMS to integrate easily into any application.

Send Text Messages via SMS API
# Try us! Grab an API Key & copy into your terminal.
curl 'https://www.firetext.co.uk/api/sendsms/json' \
-d
apiKey='YOUR_API_KEY' \
-d
to='447000000000' \
--data-urlencode
'message=Hello from FireText.' \
-d
from='FireText'
FireText SMS Message
API to Phone SMS

A Developer's Dream

The FireText SMS API will give you the tools you need to send & receive SMS text messages, add new contacts and manage your account. You can connect into our SMS API using a simple HTTP POST. We've made it very easy to connect with us.

SMS API Example Code

What the SMS API can do

We've packed our API with some powerful, yet simple tools to maximise your development:

We've provided full documentation and a Software Development Kit (SDK) to get you started.

Intelligent SMS API & friendly experts on hand.

We’ve put some code examples below in a number of different languages.

View Our API Docs
# Prerequisite: install the requests module e.g. using pip or easy_install

import requests

api_key = "YOUR_API_KEY"
end_point = "sendsms"
url_args = {
    "apiKey": api_key,
    "to": "447700900000",
    "from": "Firetext",
    "message" : "FireText is excellent via Python3 too!"
}

def send_api_message(end_point, url_args):

    url = "https://www.firetext.co.uk/api/" + end_point
    response = requests.post(url, params = url_args)
    return response.text

resp = send_api_message(end_point, url_args)
print (resp)
# Prerequisite: composer require firetext/php-sdk

use FireText\Api;
require 'vendor/autoload.php';

$apiKey = 'YOUR_API_KEY';

$client = new Api\Client(new Api\Credentials\ApiKey($apiKey));

$message = 'FireText is outstanding and really easy to use!';
$from = 'FireText';
$to = '07123456789';

$request = $client->request('SendSms', $message, $from, $to);

$response = $client->execute($request);
$result = $request->response($response);

if($result->isSuccessful()) {
    echo "Sent {$result->getCount()} messages".PHP_EOL;
} else {
    throw $result->getStatus()->getException();
}
using System;
using System.Net.Http;
using System.Collections.Generic;

/**
*  Code designed to work with .net core 2.0+
*/

namespace CSharpApiExample
{
    class CSharpApiExample
    {
        private string apiKey;
	private string endPoint;
	private static readonly HttpClient client = new HttpClient();

	static void Main(string[] args)
	{
	    CSharpApiExample smsSender = new CSharpApiExample();
	    smsSender.apiKey = "YOUR_API_KEY";
	    smsSender.endPoint = "sendsms";
	    Dictionary<string, string> urlArgsArray = new Dictionary<string, string>()
	    {
		{"apiKey", smsSender.apiKey},
		{"to", "07700900000"},
		{"from", "Firetext"},
		{"message", "Sending Firetext sms with c# is simple!"}
 	    };
	    smsSender.sendApiMessage(smsSender.endPoint, urlArgsArray);
	    Console.WriteLine("Pending Response ...");
	    Console.Read();
	}

	private async void sendApiMessage(string endPoint, Dictionary<string, string> urlArgsArray)
	{
	    var baseUrl = "https://www.firetext.co.uk/api/" + endPoint;
	    var urlArgs = new FormUrlEncodedContent(urlArgsArray);
	    var response = await client.PostAsync(baseUrl, urlArgs);
	    var responseString = await response.Content.ReadAsStringAsync();
	    Console.WriteLine("Response:  ");
	    Console.WriteLine(responseString);
	    Console.WriteLine("Press any key to continue...");
        }
    }
}
// Prerequisite: install the request package e.g. npm install request

const request = require('request');
const apiKey = 'YOUR API KEY';
const sendApiMessage = function(endpoint, messageArgs, callback) {
    return request.post(
        'https://www.firetext.co.uk/api/' + endpoint,
        { form: messageArgs },
        callback
    );
};

var endpoint = 'sendsms';
var urlArgs = {
    'apiKey' : apiKey,
    'to' : '447700900000',
    'from' : 'Firetext',
    'message' : 'Sending sms with Firetext and Node.js is a snap!'
};

sendApiMessage(endpoint, urlArgs, function(error, response, body){
    if (error) {
        return console.log(error);
    }
    console.log(body);
});
# Important.  Ensure that your version of Ruby is using the latest installation of OpenSSL

require "net/http"
require "uri"

api_key = "YOUR_API_KEY"

def send_api_message(endpoint, url_args)
    uri = URI.parse("https://www.firetext.co.uk/api/"+endpoint)
    http = Net::HTTP.new(uri.host, uri.port)
    http.use_ssl = true
    request = Net::HTTP::Post.new(uri.request_uri)
    request.set_form_data(url_args)
    response = http.request(request)
    return response
end

data = send_api_message("sendsms",{
    "apiKey" => api_key,
    "to" => "447700900000",
    "from" => "Firetext",
    "message" => "Sending Firetext SMS with Ruby is crystal clear!"
})

puts data.body, ""
curl 'https://www.firetext.co.uk/api/sendsms/json' \

    -d apiKey='YOUR_API_KEY' \

    -d to='447000000000' \

    --data-urlencode 'message=Hello from FireText.' \

    -d from='FireText'
package main
import ("fmt"; "net/url"; "net/http"; "io/ioutil")

var api_key = "API_KEY_HERE"

func sendApiMessage(endpoint string, parameters url.Values) string {
    resp, _ := http.PostForm("https://www.firetext.co.uk/api/"+endpoint, parameters)
    defer resp.Body.Close()
    body, _ := ioutil.ReadAll(resp.Body)
    return string(body)
}

func main() {
    endpoint := "sendsms"
    urlArgs := url.Values{
        "apiKey": {api_key},
        "to": {"447700900000"},
        "from": {"FireText"},
        "message": {"FireText is excellent via Go too!"},
    }
    resp := sendApiMessage(endpoint, urlArgs)
    fmt.Printf(resp)
}
package uk.firetext;

import java.io.*;
import java.net.*;
import javax.net.ssl.*;
import java.util.*;

public class Main {
    public static final String API_KEY = "API_KEY_HERE";

    public static String sendApiMessage(String endpoint, Map urlArgs) throws Exception {
        URL url = new URL("https://www.firetext.co.uk/api/"+endpoint);

        StringBuilder post = new StringBuilder();
        for (Map.Entry param : urlArgs.entrySet()) {
            if (post.length() != 0) {
                post.append('&');
            }
            post.append(param.getKey()).append('=').append(URLEncoder.encode(param.getValue(), "UTF-8"));
        }

        HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
        conn.setRequestMethod("POST");
        conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
        conn.setDoOutput(true);
        conn.getOutputStream().write(post.toString().getBytes());

        Reader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));

        StringBuilder response = new StringBuilder();
        for (int c; (c = in.read()) >= 0;) {
            response.append((char) c);
        }
        return response.toString();
    }

    public static void main(String[] args) {
        String endpoint = "sendsms";
        Map urlArgs = new HashMap();
        urlArgs.put("apiKey", API_KEY);
        urlArgs.put("to", "447700900000");
        urlArgs.put("from", "FireText");
        urlArgs.put("message", "FireText is excellent via Java too!");

        try {
            String response = sendApiMessage(endpoint, urlArgs);
            System.out.println(response);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
}

Reliable. Secure. Fast.

Flexible & Free

Your account is free forever, only pay for the credits you need when you need them.

Tier-1 Networks

We connect with only the highest quality, Tier-1 and UK direct connections to deliver your messages.

Throughput

Super-quick message throughput to ensure campaigns are sent in an instant.

UK Data Centres

All of your data is hosted safely and securely in UK cloud hosting data centres.

Maximum Up-Time

Multiple redundancy systems in place across data centres & network connections.

Safe & Secure

We are ISO27001 certified to meet strict due diligence for security and redundancy.

Get started. No credit card required. Try Us Free