Skip to contentSkip to navigationSkip to topbar
Page toolsOn this page
Looking for more inspiration?Visit the

Bulk Messaging API


(new)

Beta

Twilio Bulk Messaging API is currently available as a Public Beta product and the information contained in this document is subject to change. This means that some features are not yet implemented and others may be changed before the product is declared as Generally Available. Public Beta products are not covered by a SLA.


Overview

overview page anchor

This guide will help you get started with Twilio Bulk Messaging API. We'll walk through the functionality, review API request samples, and outline the steps for sending personalized messages.

The API enables you to start with basic requests and scale to complex, multichannel production workloads.

  • Send in bulk and reduce system load: Send a single outbound message to one recipient or to up to 10,000 recipients in a single API request. You can store recipient details and create recipient groups to handle campaigns that target as many as 1 million recipients.
  • Send across channels: Send messages across SMS, MMS, RCS, or WhatsApp.
  • Content personalization: Personalize individual messages inline with your API request to Twilio. You can use and reuse details you've stored about your users to personalize messages across channels.
  • Send rich content across channels: Continue to use Twilio's content templates for WhatsApp, RCS and SMS. For channels that don't require template approvals, you can also send rich content, such as cards, directly in your API request without first creating a template.

Requests to the Bulk Messaging API use the same basic structure as your existing Messaging API requests. Include the to, from, and content (message body) parameters in the request. The key difference is that the Twilio Bulk Messaging API expects a JSON payload instead of form-encoded data.

1
{
2
"to": [{...}],
3
"from": {...},
4
"content": {...}
5
}

When you make a request that could create multiple resources, such as sending messages, the API responds with a 202 Accepted status code and an empty response body. These requests are processed asynchronously: the API validates your input and completes the operation in the background. The response headers include an operationId, which you can use to check the status of your request.


  • Requests payload are limited to 10MB.
  • The to array in the Messages endpoint accepts a maximum of 10,000 recipients.
  • Your existing messages per second (MPS) limits still apply.