Send SMS via API on time, every time

Our REST APIs and enterprise-grade text messaging gateway ensures your messages arrive securely – no matter what.

Image for Send SMS via API on time, every time

Built for speed and scale.

MessageMedia’s Australian SMS gateway delivers messages globally. Choose either REST or SMPP for your SMS API integration and easily send bulk SMS, MMS or mobile landing pages.

65,000

Customers across the globe.

5B+

Messages sent per year.

2,000

Messages processed per second.
Reliability

Reliability

Network uptime 99.99 percent of the time, so you have no downtime and can focus on what your business does best.

Resilience

Resilience

Multiple data centres, auto re-routing and 24/7 carrier monitoring for reliable text message delivery.

Capacity

Capacity

High throughput capability to seamlessly handle extreme volumes of messages. Available to all customers, at no extra charge.

Code samples in your favourite language.

Looking for an SMS API in JavaScript, PHP, C#, Python, Nodejs or Ruby? Check out the samples below and get sending in under 5 minutes.

                        

                            
const lib = require('messagemedia-messages-sdk');
/* Basic Auth */
lib.Configuration.basicAuthUserName = "YOUR_BASIC_API_KEY";
lib.Configuration.basicAuthPassword = "YOUR_BASIC_SECRET_KEY";
var controller = lib.MessagesController;
let body = new lib.SendMessagesRequest();
body.messages = [];
body.messages[0] = new lib.Message();
body.messages[0].content = 'Hello world!';
body.messages[0].destinationNumber = '+61491570156';
controller.sendMessages(body, function(error, response, context) {
  if (error) {
    console.log(error);
  } else {
    console.log(response);
  }
});
                        
                    
                        

                            
$authUserName = 'API_KEY';
$authPassword = 'API_SECRET';
/* You can change this to true when the above keys are HMAC */
$useHmacAuthentication = false;
$client = new MessageMediaMessagesLib\MessageMediaMessagesClient($authUserName, $authPassword, $useHmacAuthentication);
$messagesController = $client->getMessages();
$body = new Models\SendMessagesRequest;
$body->messages = array();
$body->messages[0] = new Models\Message;
$body->messages[0]->content = 'My first message';
$body->messages[0]->destinationNumber = '+61491570156';
try {
    $result = $messagesController->sendMessages($body);
    print_r($result);
} catch (Exceptions\SendMessages400Response $e) {
    echo 'Caught SendMessages400Response: ',  $e->getMessage(), "\n";
} catch (MessageMediaMessagesLib\APIException $e) {
    echo 'Caught APIException: ',  $e->getMessage(), "\n";
}
                        
                    
                        

                            
String API_KEY = "API_KEY";
String API_SECRET = "API_SECRET";
boolean HMAC = false;

MessageMediaMessagesClient client = new MessageMediaMessagesClient(API_KEY, API_SECRET, HMAC);
MessagesController messages = client.Messages;
SendMessagesRequest body = new SendMessagesRequest();
body.Messages = new List();
Message body_messages_0 = new Message();
body_messages_0.Content = "Hello world!";
body_messages_0.DestinationNumber = "+61491570156";
body.Messages.Add(body_messages_0);

try
{
    Models.SendMessagesResponse result = messages.SendMessagesAsync(body).Result;
    Console.WriteLine(result);
}
catch (APIException e)
{
    Console.WriteLine(e.Message + e.ResponseCode + e.HttpContext.ToString());
};
                        
                    
                        

                            
auth_user_name = 'API_KEY'
auth_password = 'API_SECRET'
use_hmac_authentication = False
client = MessageMediaMessagesClient(auth_user_name, auth_password, use_hmac_authentication)
messages_controller = client.messages
body = SendMessagesRequest()
body.messages = []
body.messages.append(Message())
body.messages[0].content = 'My first message'
body.messages[0].destination_number = '+61491570156'
try:
    result = messages_controller.send_messages(body)
    print(result)
except SendMessages400ResponseException as e:
    print(e)
except APIException as e:
    print(e)
                        
                    
                        

                            
String authUserName = "API_KEY"; 
String authPassword = "API_SECRET"; 
boolean useHmacAuth = false; 
MessageMediaMessagesClient client = new MessageMediaMessagesClient(authUserName, authPassword, useHmacAuth);
MessagesController messages = client.getMessages();
Message message = new Message();
message.setContent("My message");
message.setDestinationNumber("+61491570156");
List messagesList = new ArrayList();
messagesList.add(message);
SendMessagesRequest body = new SendMessagesRequest();
body.setMessages(messagesList);
messages.sendMessagesAsync(body, new APICallBack() {
        public void onSuccess(HttpContext context, SendMessagesResponse response) {
	       System.out.println("success");
        }
        public void onFailure(HttpContext context, Throwable error) {
	       System.out.println("failure");
        }
});
                        
                    
                        

                            
basic_auth_user_name = 'BasicAuthUserName'
basic_auth_password = 'BasicAuthPassword'
client = MessageMediaClient.new(basic_auth_user_name: basic_auth_user_name, basic_auth_password: basic_auth_password)
body = Sendmessagesrequest.new
body.messages = []
body.messages[0] = Message.new
body.messages[0].callback_url = 'https://my.callback.url.com'
body.messages[0].content = 'My first message'
body.messages[0].destination_number = '+61491570156'
result = messages_controller.create_send_messages(body)
                        
                    

We play nice with others

Salesforce
Mercury SMS provides Salesforce users the ability to send individual or bulk SMS messages to Leads and Contacts.

Construct your messages ad-hoc, or select a template with personalised fields. You can even set up automatic messages, such as a welcome text to new leads.

Learn more
Image for Salesforce
Shopify
Mercury SMS provides Salesforce users the ability to send individual or bulk SMS messages to Leads and Contacts.

Construct your messages ad-hoc, or select a template with personalised fields. You can even set up automatic messages, such as a welcome text to new leads.

Learn more
Image for Shopify
HubSpot
Mercury SMS provides Salesforce users the ability to send individual or bulk SMS messages to Leads and Contacts.

Construct your messages ad-hoc, or select a template with personalised fields. You can even set up automatic messages, such as a welcome text to new leads.

Learn more
Image for HubSpot