Solutions

Hassle-free bulk SMS API

Send and receive high volumes of transactional text messages with MailerSend’s simple yet robust bulk SMS API service.

Example of bulk SMS message shipping confirmation.
High deliverability

Direct network integration and SMS prioritization ensure quick, consistent delivery over mobile networks.

Increased engagement

Reach more customers with the 98% open rates of SMS and enhance your brand experience.

Cost efficient

A cost-effective way to communicate with recipients thanks to the low cost per text and high open rates.

Developer-friendly bulk SMS gateway API integration

With 7 official SDKs, in-depth documentation, and no-code integrations, devs can quickly implement bulk SMS functionality into their apps and scale as needed.
Read our API docs
curl -X POST \
https://api.mailersend.com/v1/sms \
-H 'Content-Type: application/json' \
-H 'X-Requested-With: XMLHttpRequest' \
-H 'Authorization: Bearer {place your token here without brackets}' \
-d '{
    "from": "+18332552485",
    "to": [
        "+12345678900",
    ],
    "text": "This is just a friendly hello"
}'
use MailerSend\MailerSend;
use MailerSend\Helpers\Builder\SmsParams;

$mailersend = new MailerSend(['api_key' => 'key']);

$smsParams = (new SmsParams())
    ->setFrom('+12065550101')
    ->setTo(['+12065550102'])
    ->addRecipient('+12065550103')
    ->setText('Text');
    
$sms = $mailersend->sms->send($smsParams);
"use strict";
require('dotenv').config()

const MailerSend = require("../../src/MailerSend");
const SmsParams = require("../../src/SmsParams");

const mailersend = new MailerSend({
  api_key: process.env.API_KEY,
});

const recipients = [
  "+18332647501"
];

const smsParams = new SmsParams()
  .setFrom("+18332647501")
  .setRecipients(recipients)
  .setText("This is the text content");

mailersend.sendSms(smsParams);
package main

import (
	"context"
	"os"
	"fmt"
	"time"

	"github.com/mailersend/mailersend-go"
)

func main() {
	// Create an instance of the mailersend client
	ms := mailersend.NewMailersend(os.Getenv("MAILERSEND_API_KEY"))

	ctx := context.Background()
	ctx, cancel := context.WithTimeout(ctx, 5*time.Second)
	defer cancel()

	message := ms.Sms.NewMessage()
	message.SetFrom("your-number")
	message.SetTo([]string{"client-number"})
	message.SetText("This is the message content {{ var }}")

	personalization := []mailersend.SmsPersonalization{
		{
			PhoneNumber: "client-number",
			Data: map[string]interface{}{
				"var": "foo",
			},
		},
	}

	message.SetPersonalization(personalization)

	res, _ := ms.Sms.Send(context.TODO(), message)
	fmt.Printf(res.Header.Get("X-SMS-Message-Id"))
}
from mailersend import sms_sending
from dotenv import load_dotenv

load_dotenv()

mailer = sms_sending.NewSmsSending(os.getenv('MAILERSEND_API_KEY'))

# Number belonging to your account in E164 format
number_from = "+11234567890"

# You can add up to 50 recipient numbers
numbers_to = [
    "+11234567891",
    "+11234567892"
]
text = "Hi {{name}} how are you?"
personalization = [
    {
        "phone_number": "+11234567891",
        "data": {
            "name": "Mike"
        }
    },
    {
        "phone_number": "+11234567892",
        "data": {
            "name": "John"
        }
    }
]

print(mailer.send_sms(number_from, numbers_to, text, personalization))
require "mailersend-ruby"

# Intialize the SMS class
ms_sms = Mailersend::SMS.new

# Add parameters
ms_sms.add_from('your-number')
ms_sms.add_to('client-number')
ms_sms.add_text('This is the message content')
personalization = {
  phone_number: 'client-number',
  data: {
    test: 'Test Value'
  }
}
ms_sms.add_personalization(personalization)

# Send the SMS
ms_sms.send
import com.mailersend.sdk.MailerSend;
import com.mailersend.sdk.exceptions.MailerSendException;

public void sendSms() {
    
    MailerSend ms = new MailerSend();
    ms.setToken("mailersend token");
    
    try {
        
        String messageId = ms.sms().builder().from("from phone number")
        .addRecipient("to phone number")
        .text("test sms {{name}}")
        .addPersonalization("to phone number", "name", "name personalization")
        .send();
        
        System.out.println(messageId);
        
    } catch (MailerSendException e) {
        
        e.printStackTrace();
    }
}

Low/no-code integrations with 1000’s of apps

Easily connect other web apps with MailerSend so they seamlessly work together to share information, automate workflows and enhance the customer experience.
An example of a bulk SMS message that uses personalization variables.

Personalization made easy

Seamlessly insert customer information with variables for personalized bulk SMS messaging that engages users. Add customers’ names, order details, and more. 

Examples of SMS activity status for sent, delivered, and failed text messages.

Bulk SMS activity tracking

Monitor the status of your SMS text messages to gauge performance and make adjustments. See when a message is processed, queued, sent, delivered, or failed.

Example of SMS top-in prompts.

Efficient subscriber management

Automate the opt-in/opt-out process with “Start” and “Stop” SMS commands. Enhance the user experience by giving control to recipients and make managing suppressions easy. 

A view of the inbound route page in MailerSend to create a new inbound route.

Simple inbound SMS processing

Use inbound routing to parse incoming SMS messages to your CRM or other apps. Let customers and users communicate with you via text for support, information requests, appointment confirmations, and more. 

Why choose MailerSend’s bulk SMS API

Super scalability

The advanced bulk SMS API and flexible pricing plans make scaling your SMS sending super simple

Fast delivery

A robust sending infrastructure and high-throughput toll-free numbers handle the fast delivery of thousands of SMS messages.

TCPA-compliant

MailerSend is a fully TCPA-compliant bulk SMS service that follows anti-spam and privacy regulations.

Enhanced security

The latest security and encryption protocols along with account security features ensure your account and data are protected.

Award-winning support

Access 24/7 email and live chat support from a friendly and knowledgeable team of human experts.

One transactional communication platform

Manage transactional SMS and emails on a single platform built by deliverability experts.

Reliable bulk SMS messaging API service

Four simple plans, no hidden costs. Get 100 free SMS/month on the Starter plan, purchase a phone number, and pay as you go for more. Upgrade for additional free SMS and better per SMS pricing.
How many emails do you plan to send?
3K
Save 20% by paying yearly
Pricing in Euros and British Pounds is for informational purposes only. All billing invoices will be charged in US dollars.
Hobby
Free
3,000 emails
Extra usage
$1.00 0.92176649 £0.78 /1000 emails
Starter
$28.00 /month
$336.00 billed yearly
25.81 /month
€309.71 billed yearly
£21.71 /month
£260.53 billed yearly
$35.00 /month 32.26 /month £27.14 /month
50,000 emails /month
100 SMS /month
100 email verification credits
Extra usage
$0.95 0.88 £0.74 /1000 emails
$1.40 1.29 £1.09 /100 SMS
Taxes may apply, learn more.
Recommended
Professional
$88.00 /month
$1,056.00 billed yearly
81.12 /month
€973.39 billed yearly
£68.23 /month
£818.79 billed yearly
$110.00 /month 101.39 /month £85.29 /month
50,000 emails /month
150 SMS /month
400 email verification credits
Extra usage
$0.80 0.74 £0.62 /1000 emails
$1.40 1.29 £1.09 /100 SMS
Taxes may apply, learn more.
Enterprise
For large organizations with special requirements.

Frequently Asked Questions

How can I integrate the bulk SMS API into my application?

MailerSend’s bulk SMS API can be easily integrated using our 7 official SDKs and no-code integrations with Zapier, Make, and Airtable. 

Can I schedule bulk SMS messages to be sent at a specific time?

Yes, you can schedule bulk SMS messages to be sent at a specific time.

Can I send bulk SMS messages internationally?

MailerSend’s SMS feature is currently available for use in North America. Additional regions are coming soon. 

Can I track the delivery and response rates of my SMS messages in real time?

The SMS activity dashboard allows you to monitor the real-time status of each SMS message that you send. 

Is there a limit to the number of messages I can send at once?

There is a limit of 60 API requests per minute, however you can include up to 50 recipients per request.

How do I personalize bulk SMS messages for each recipient?

MailerSend supports personalization variables so that you can personalize bulk SMS messages with recipients’ names, account details, order information, and so on. See how you can start sending SMS with MailerSend.

Is it possible to automate the sending of bulk SMS based on specific triggers or events?

Yes, with webhooks and other integrations you can trigger SMS messages based on specific activity and events. 

What support is available if I encounter issues with the bulk SMS API?

You can contact our friendly customer support team at any time via email or live chat and they’ll be happy to help.