There are limits to how quickly messages can be sent to wireless carrier networks. This guide explains how Twilio processes your message requests, and limitations for each phone number type.
Notice: You can send messages to Twilio at a rapid rate, as long as the requests do not max out Twilio's REST API concurrency limit. When this concurrency limit is reached, Twilio will begin responding to your requests with
HTTP 429, or Error code 20429. For more information, see Twilio API response Error 429 "Too Many Requests".
- API request queuing
- Twilio message request processing - SMS
- Twilio message request processing - MMS
- Inbound messages
API request queuing
Inbound messages When Twilio receives message requests from your application, these requests are queued for delivery in the order we receive them. Each of your Twilio phone numbers has a separate queue, and each queue can hold up to 4 hours' worth of message segments based on the sending rate for a phone number type. For example, a local phone number from the US or Canada has a full queue of 14,400 message segments.
Twilio message request processing - SMS
The rate at which Twilio dequeues messages varies depending on the origination and destination in the message requests. Below is a quick summary of the default dequeue rate.
|Origination||Termination||Message Segments per Second (MPS)||Maximum Queue Length (Message Segments)|
|Twilio SMS-capable local, mobile or Hosted SMS number||US and Canada||1||14,400|
|Twilio US & CA Toll Free number (excluding Hosted SMS)||US and Canada||3||43,200|
|Any Twilio SMS-capable number or Alphanumeric sender ID||Other international countries||10||144,000|
|Twilio Short Code||US, Canada or UK||100*||1,440,000*|
*Contact Sales for more.
For example, consider the first row above when you are sending messages from a Twilio number from your project to a list of US recipients. We will process your requests and send them to the carrier networks for delivery at the rate of 1 message segment per second per Twilio phone number. This means that if you send Twilio 90 messages at the same time from the same Twilio number, it will take roughly 90 seconds for the last message to be delivered. Therefore, for time-sensitive messages, we recommend that you keep a close eye on the queue length and use additional Twilio numbers for sending when needed. Twilio highly recommends using Messaging Services to help manage multiple phone numbers.
Notice: the dequeue rate mentioned above is a rough estimate, and not an SLA for delivery speed. Multiple factors, such as traffic congestion or carrier issues may impact the actual delivery rate.
Twilio message request processing - MMS
Note: Twilio supports MMS messaging in the United States and Canada only.
|Sender type||MMS MPS Limit||Notes|
|Long code (10DLC)||1 MPS per number; 25 MMS/sec per Twilio Account SID||This limit is fixed and cannot be increased. The per-number limit of 1 MPS may change with the upcoming A2P 10DLC system from US carriers.|
|Toll-Free||25 MMS/sec per Twilio Account SID||Separate account-level limit from long code MMS. Cannot be increased.|
|Short code||40 MMS/second||Cannot be increased.|
For further details, see Twilio Multimedia Messaging (MMS) Account Rate Limits.
Why is MMS throughput lower than SMS?
MMS throughput is lower than SMS, due to reduced capacity in the carrier ecosystem for MMS compared to SMS.
Carriers have had an incentive to increase the reliability of SMS messages as these are often business critical. MMS, however, lends itself more towards marketing, and as such they haven’t made the same investments in it.
This may begin to change with wider support of Toll-Free MMS and the advent of A2P 10DLC. Twilio will keep this article updated with changes to MPS handling for MMS as new information becomes available.
Twilio message request processing - WhatsApp
WhatsApp senders on Twilio have a fixed sending rate of 25 WhatsApp messages per second.
For more information about WhatsApp on Twilio, see Getting Started with Twilio for WhatsApp.
Inbound messages are queued at 500 messages per second for each Twilio destination. Twilio will make an HTTP request to the request URL for each message received at your number. Therefore, please make sure your server is capable of handling the load if you are expecting a large amount of concurrent inbound traffic.
If you have further questions regarding message queue lengths and latency, please Contact Twilio Support.