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 your Twilio account'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
When Twilio receives message requests from your application, these requests are queued for delivery in the order we receive them.
Historically, all messaging through Twilio was queued at a per-sender level. As of October 2021, Twilio has begun transitioning toward different messaging throughput and queuing behaviors in some cases.
Per-sender vs. per-Account or Campaign queuing
As of October 2021, Twilio is beginning to transition toward account-level messaging throughput, and (in the case of A2P 10DLC messaging to the US) Campaign-level throughput. Some Twilio customers have already received email communications about being given early access to account-level throughput; please see our Account-Based Throughput Overview for details.
In general, 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.
For account- and Campaign-level queuing, those queues can also hold up to 4 hours' worth of message segments, based on the MPS sending rate allocated to that sender type or Campaign.
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|
|Registered A2P 10DLC Campaign||US mobile users||Varies||Campaign MPS * 4 hours (example: 40 MPS * 4 hours = 576,000)|
|Registered A2P 10DLC Special Campaign with per-number throughput (e.g. Agents/Franchise)||US mobile users||Varies||Campaign per-number MPS * number of phone numbers * 4 hours|
|Twilio Short Code||US, Canada or UK||100*||1,440,000*|
Note: 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.
What if I need higher message throughput (MPS)?
Sending to non-US countries with non-local numbers
When sending 1-way SMS to many non-US/Canada countries using a non-local number, it is usually acceptable to simply buy additional Twilio numbers to achieve higher throughput.
For example, imagine you are sending 1-way notification messages toward users in Germany using a single Twilio UK phone number. With that one UK Twilio number, you will be able to send 10 message segments per second (MPS) to your recipients. (You can see this sending rate in the third row of the table above). If your service began seeing heavy utilization and 10 MPS was not enough to deliver the messages in a timely manner, you could buy an additional Twilio number and double your throughput to 20 MPS.
Twilio highly recommends using Messaging Services to help manage multiple phone numbers.
Sending to non-US countries with local numbers
The rules may vary when using Twilio numbers from a specific country to send in-country messages. Please consult the SMS Guidelines page for the country in question for any specific compliance considerations.
Sending to the United States and Canada
US and Canada carrier rules discourage using additional phone numbers solely to achieve higher messaging throughput. This practice is referred to as "snowshoeing."
It is acceptable to use multiple numbers to send the same messaging traffic when there is a specific business justification (for example, a restaurant with 20 locations, or a car dealership where each sales and service agent has their own number).
Long Code (10DLC) Messaging
The new A2P 10DLC system introduced by US carriers in 2021 will soon make per-number MPS obsolete by enforcing MPS limits at a Campaign (use case) level, rather than at the level of individual phone numbers. See Message throughput (MPS) and Trust Scores for A2P 10DLC in the US for details.
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; 50 MMS/sec per Twilio Parent Account||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 Parent Account||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 Sender||Media Message MPS Limit||Text-Only MPS Limit|
|1.5 MPS||25 MPS|
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.