Business Communications. Solved.

Communicate with your customers and staff like never before via SMS, Email, Rich Media, Direct Mail and more.

From single to scale by web app or API.

Or if you're a developer read our API docs.

PepsiCo Logo
Re/Max Logo
John Lewis & Partners Logo
NHS Logo
Vue Logo
Dominos Logo
ClickSend Brand Header Image featuring man receiving SMS notifications, text marketing and other business communications.
PepsiCo Logo Re/Max Logo
SpecSavers Logo GrapeData Logo
APC Logo University of Liverpool Logo

Simple, Reliable Messaging Products for Every Business

At ClickSend we create products that are easy to use and highly integratable providing choice and context for your business communications. Our multi-channel products are used by some of the biggest brands and smartest developers across the United Kingdom and the world. Whether it’s transactional SMS messages at scale via API or multi-channel marketing campaigns using SMS, Email and Direct Mail via web app, ClickSend helps you get and stay closer to your customers and staff.

Send, Receive & Track SMS
Messages Worldwide Right chevron icon
Send, Receive & Track SMS Messages Worldwide

Send and receive text messages the United Kingdom and around the globe. From a few to a few million via dashboard or API always through direct routes.

  • SMS marketing
  • SMS blasts
  • Alerts and notifications

Rich Messaging Right chevron icon Rich Messaging

Create and send rich multimedia experiences or engage in real-time conversations by RCS or Messaging Apps. Be an early adopter with us at ClickSend.

  • Rich Communication Service
  • Facebook Messenger
  • WhatsApp Business

Voice Gateway Right chevron icon Voice Gateway

Instead of the recipient receiving an SMS, the text is converted to speech. The recipient's phone is called, and when answered, the message is spoken out.

  • Multiple languages
  • Male and Female voices
  • Reach landlines as well as mobiles

Email Gateway Right chevron icon Email Gateway

Transactional Email APIs built with developers in mind enabling you to send, receive, and track emails.

  • SDK library and API docs
  • Super reliable SMTP server
  • Proven deliverability

Fax Gateway Right chevron icon Fax Gateway

Send and receive fax messages online, globally. Fax more securely anywhere from any device via a real cloud fax machine.

  • Online fax
  • Email to fax
  • Fax API

Online Post Right chevron icon Online Post

Send letters or postcards at any volume to anywhere in the world with a few clicks. Or automate your direct mail with on-demand triggers using ClickSend’s APIs or via integration partners.

  • Automated Direct Mail
  • Email to Post
  • Direct Mail API
  • Print to Post Driver

Trusted by Thousands of Businesses, People and Integration Partners

Via a Simple,
Easy-to-Use Dashboard

One Dashboard,
Unlimited Possibilities

With ClickSend’s user friendly dashboard it’s easy to send SMS, MMS, Direct Mail campaigns and more in just a few clicks.

Through Trusted APIs Or Through Trusted APIs

    
        var api = require('./api.js');

        var smsApi = new api.SMSApi("USERNAME", "API_KEY");

        var smsMessage = new api.SmsMessage();

        smsMessage.source = "sdk";
        smsMessage.to = "+0451111111";
        smsMessage.body = "test message";

        var smsCollection = new api.SmsMessageCollection();

        smsCollection.messages = [smsMessage];

        smsApi.smsSendPost(smsCollection).then(function(response) {
            console.log(response.body);
        }).catch(function(err){
            console.error(err.body);
        });
    
    
        from __future__ import print_function
        import clicksend_client
        from clicksend_client import SmsMessage
        from clicksend_client.rest import ApiException


        # Configure HTTP basic authorization: BasicAuth
        configuration = clicksend_client.Configuration()
        configuration.username = 'USERNAME'
        configuration.password = 'API_KEY'

        # create an instance of the API class
        api_instance = clicksend_client.SMSApi(clicksend_client.ApiClient(configuration))

        # If you want to explicitly set from, add the key _from to the message.
        sms_message = SmsMessage(source="php",
                                body="Jelly liquorice marshmallow candy carrot cake 4Eyffjs1vL.",
                                to="+61411111111",
                                schedule=1436874701)

        sms_messages = clicksend_client.SmsMessageCollection(messages=[sms_message])

        try:
            # Send sms message(s)
            api_response = api_instance.sms_send_post(sms_messages)
            print(api_response)
        except ApiException as e:
            print("Exception when calling SMSApi->sms_send_post: %s\n" % e)
    
    
        package ClickSend;

        import java.util.Arrays;
        import java.util.List;
        import ClickSend.Api.SmsApi;
        import ClickSend.Model.SmsMessage;
        import ClickSend.Model.SmsMessageCollection;

        public class send_sms {
            public static void main(String[] args) {
                ApiClient defaultClient = new ApiClient();
                defaultClient.setUsername("USERNAME");
                defaultClient.setPassword("API_KEY");
                SmsApi apiInstance = new SmsApi(defaultClient);

                SmsMessage smsMessage = new SmsMessage();
                smsMessage.body("body");
                smsMessage.to("to");
                smsMessage.source("source");

                List<SmsMessage> smsMessageList = Arrays.asList(smsMessage);
                // SmsMessageCollection | SmsMessageCollection model
                SmsMessageCollection smsMessages = new SmsMessageCollection();
                smsMessages.messages(smsMessageList);
                try {
                    String result = apiInstance.smsSendPost(smsMessages);
                    System.out.println(result);
                } catch (ApiException e) {
                    System.err.println("Exception when calling SmsApi#smsSendPost");
                    e.printStackTrace();
                }
            }
        }
    
    
        using IO.ClickSend.ClickSend.Api;
        using IO.ClickSend.Client;
        using IO.ClickSend.ClickSend.Model;

        var configuration = new Configuration()
        {
            Username = USERNAME, 
            Password = API_KEY  
        };
        var smsApi = new SMSApi(configuration);

        var listOfSms = new List<SmsMessage>
        {
            new SmsMessage(
                to: "+61411111111", 
                body: "test message", 
                source: "sdk"
            )
        };

        var smsCollection = new SmsMessageCollection(listOfSms);
        var response = smsApi.SmsSendPost(smsCollection);
    
    
        <?php
            require_once(__DIR__ . '/vendor/autoload.php');

            // Configure HTTP basic authorization: BasicAuth
            $config = ClickSend\Configuration::getDefaultConfiguration()
                        ->setUsername('USERNAME')
                        ->setPassword('API_KEY');

            $apiInstance = new ClickSend\Api\SMSApi(new GuzzleHttp\Client(),$config);
            $msg = new \ClickSend\Model\SmsMessage();
            $msg->setBody("test body"); 
            $msg->setTo("0451111111");
            $msg->setSource("sdk");

            // \ClickSend\Model\SmsMessageCollection | SmsMessageCollection model
            $sms_messages = new \ClickSend\Model\SmsMessageCollection(); 
            $sms_messages->setMessages([$msg]);

            try {
                $result = $apiInstance->smsSendPost($sms_messages);
                print_r($result);
            } catch (Exception $e) {
                echo 'Exception when calling SMSApi->smsSendPost: ', $e->getMessage(), PHP_EOL;
            }
        ?>
    
    
        # load the gem
        require 'clicksend_client'
        require 'json'

        # setup authorization
        ClickSendClient.configure do |config|
            # Configure HTTP basic authorization: BasicAuth
            config.username = 'USERNAME'
            config.password = 'API_KEY'
        end

        api_instance = ClickSendClient::SMSApi.new

        # SmsMessageCollection | SmsMessageCollection model
        sms_messages = ClickSendClient::SmsMessageCollection.new

        sms_messages.messages = [
            ClickSendClient::SmsMessage.new(
                "to": "+61411111111",
                "source": "sdk",
                "body": "body"
            ),
            ClickSendClient::SmsMessage.new(
                "to": "+61422222222",
                "source": "sdk",
                "body": "body"
            )
        ]

        begin
            # Send sms message(s)
            result = api_instance.sms_send_post(sms_messages)
            p JSON.parse(result)
        rescue ClickSendClient::ApiError => e
            puts "Exception when calling SMSApi->sms_send_post: #{e.response_body}"
        end    
    
    
        import Alamofire

        if let authHeader = Request.authorizationHeader(user: "USERNAME", password: "PASSWORD") {
            ClickSendClientAPI.customHeaders = [authHeader.key : authHeader.value]
        }

        let message1 = SmsMessage(body: "Chocolate bar icing icing oat cake carrot cake jelly cotton MWEvciEPIr.", 
                                to: "+0451111111", 
                                source: "swift")

        let message2 = SmsMessage(body: "Chocolate bar icing icing oat cake carrot cake jelly cotton MWEvciEPIr.", 
                                source: "swift", 
                                listId: 1234)

        let smsCollection = SmsMessageCollection(messages: [message1, message2])
        SMSAPI.smsSendPost(smsMessages: smsCollection) { (dataString, error) in

            guard let dataString = dataString else {
                print(error!)
                return
            }

            if let data = dataString.data(using: String.Encoding.utf8) {
                do {
                    if let dictonary = try (JSONSerialization.jsonObject(with: data, options: []) as? NSDictionary) {
                        print(dictonary)
                    } else {
                        print("bad json")
                    }
                } catch let error as NSError {
                    print(error)
                }
            }
        }
    

World Class APIs, World Class Documentation,
Loved by Developers

Use Incorporate SMS, MMS, Voice, Letters, Postcards and Chat in your software. Build powerful apps using the fastest and most reliable cloud communication APIs.

And with Hundreds of Integration Partners Or via Hundreds of Integration Partners

Logos of 11 ClickSend Integration Partners including Magento, Salesforce, Slack, Marketo, Zoho, Zapier, Shopify, Automate.io, Google, Wordpress and Outlook.

Automate Your Business
Communications

ClickSend integrates with all the business apps you know and love plus a whole lot more. It’s easy to automate repetitive tasks and even build a business communications stack with no code.

With our own ClickSend marketplace, you can integrate with hundreds of the world’s most popular business apps.

Message Icon

We Power Billions Of Messages Across the United Kingdom and the World.

Why Businesses Love ClickSend

Customer support headphones graphic on blue background

Global 24/7 Support

Our chat is staffed by real humans 24 hours a day, 365 days a year and always will be.

Security padlock graphic on blue background

Security and reliability

The ClickSend platform is GDPR compliant, built on enterprise-level security and provides a 99.95% Uptime SLA guarantee.

Fast delivery rocket graphic on blue background

Lightning fast delivery

ClickSend lives and breathes high performance direct routes. Your messages get delivered on time.

Get Sending with ClickSend

Join over 90,000 customers sending billions of messages across the UK and the world.

Trustpilot Logo featuring 4.7 stars G2 Logo Capterra Logo
Privacy & Legal© 2024 ClickSend