Rate Limits and Message Queues
API Rate limits | iMessage for Business
Introduction
Section titled “Introduction”Sendblue has safeguards in place to reduce spam, increase uptime, and comply with Apple’s rate limits. These are:
- Account-level quotas
- Dynamic rate limits
- Sender Pools
Account-level quotas
Section titled “Account-level quotas”Free plans
Section titled “Free plans”Free shared-line plans are intended for prototyping and personal projects. A recipient must be verified as a contact on your account before you can message them; see Sending Messages for setup details.
Blue Ocean plans
Section titled “Blue Ocean plans”Blue Ocean plans allow for infinite scalability on Sendblue. It is important that we understand your use case to ensure the highest possible deliverability. Please book a demo to find out more information.
Rate Limits
Section titled “Rate Limits”The rate limits per line differ depending on whether you send the first message to a contact (outbound-initiated) or they send you a message first (inbound-initiated). Unless noted otherwise, limits apply across all messaging channels, including iMessage, SMS and RCS.
Blue Ocean Limits
Section titled “Blue Ocean Limits”Blue Ocean limits are designed for outbound-initiated messaging and are based on unique contacts per line.
| Limit | Value | Window | Scope |
|---|---|---|---|
| New contacts / line / day | 50 | 3 AM ET -> 3 AM ET | All channels |
| New contacts / line / hour | 15 | Rolling 60 min | All channels |
| Burst | 10 / sec | Per second | All channels |
How these limits work:
- New contacts — contacts you’ve had no conversation with (inbound or outbound) in the last 30 days. Messaging a new contact is capped at 50 per line per day (resetting at 3 AM ET) and 15 per line in any rolling 60-minute window. A contact you’ve exchanged messages with in the last 30 days is not counted as new.
- Burst — each line accepts up to 10 messages per second; requests beyond that rate are rejected, so keep your request rate at or below 10 per second per line.
Inbound-initiated conversations (a contact texts you first) do not count against your new-contact limits — their inbound message already counts as a conversation, so they are no longer “new.” You can reply without limit while their 24-hour window is open.
Additional dynamic safeguards may apply depending on your traffic patterns and engagement.
Please reach out to the Sendblue team if you have questions about best practices, how to maximize your response rate, or raising these limits on a Blue Ocean plan.
AI Agent Plan Limits
Section titled “AI Agent Plan Limits”AI Agent plans are inbound-first. These limits are based on unique inbound contacts per line in a rolling 24-hour window.
| Scenario | Counts Against | Limit |
|---|---|---|
| A contact texts you (inbound message) | Inbound limit | 1,000 contacts/day/line* |
| You reply within 24 hours of their last message | No limit | Unlimited messages |
| You message first after 24 hours since their last message | Follow-up limit | 200 contacts/day/line |
*We recommend load balancing on your end across multiple numbers if you need more capacity. If you cannot control load balancing on your end (billboard campaign for example) the limit can be removed by texting or emailing us to upgrade to the Blue Ocean plan.
Group chats: AI Agent plan numbers cannot create new group chats. They can only respond to group chats that the number has been added to. To create outbound group chats, upgrade to the Blue Ocean plan.
How the 24-Hour Window Works
Section titled “How the 24-Hour Window Works”The 24-hour window opens when a contact messages you inbound, and it resets each time they message again. While the window is open, you can send unlimited replies to that contact.
Once the window expires, messaging that contact first counts against your follow-up limit — until they text you again (which reopens the window).
Number Pooling
Section titled “Number Pooling”In order to send more messages than is possible using a single number, we can pool multiple numbers together to achieve the desired rate. If you need to send 100 messages per second, you will need to have 10 numbers to do so. With number pooling, your business has many numbers that it could potentially send a message from.
Although you can send from any of the phone numbers in the pool, each of your recipients by default will only receive messages from the initial number that you use to text them (sticky sending).
Message Queueing
Section titled “Message Queueing”The Sendblue API queues accepted messages for delivery once they reach our API. Each line accepts up to 10 messages per second; requests beyond that rate are rejected rather than queued, so throttle your request rate on the client side.
Any rate limit violation returns a 429 - “Too Many Requests” response code. If you receive a 429, slow down your request rate, wait for the relevant window to clear, or spread traffic across additional lines before retrying.
Is the rate limit hourly or daily?
Section titled “Is the rate limit hourly or daily?”Both. Blue Ocean new-contact limits are enforced on both an hourly basis (15 per line in a rolling 60 minutes) and a daily basis (50 per line, resetting at 3 AM ET). AI Agent inbound-contact limits are enforced in a rolling 24-hour window.
Does using the Lookup API count against message usage?
Section titled “Does using the Lookup API count against message usage?”No. Lookups have their own separate rate limits (30 per hour, 100 per day per line by default, up to 200/line/day upon request) and do not count against your message sending limits.
What is the follow-up limit? Can it be disabled?
Section titled “What is the follow-up limit? Can it be disabled?”Sendblue enforces a follow-up limit of 150 consecutive outbound messages per line without a reply. This limit cannot be disabled. It exists for line safety and spam prevention — exceeding it risks carrier-level penalties or number deactivation.
Can we text hundreds of thousands of users? How many lines would that require?
Section titled “Can we text hundreds of thousands of users? How many lines would that require?”Yes, high-volume messaging is supported. The number of lines you need depends on your throughput requirements. Calculate based on the Blue Ocean per-line limits above (50 new contacts/day, 10 messages/second). For example, to reach 10,000 new contacts per day, you would need a minimum of 200 lines. Contact your account manager to plan provisioning for high-volume use cases.
What does “hourly rate limit reached” mean and what should I do?
Section titled “What does “hourly rate limit reached” mean and what should I do?”This means you have exceeded an hourly limit — most commonly the Blue Ocean limit of 15 new contacts per line per rolling 60 minutes. To resolve this, either wait for the rolling window to clear, or add more lines to your account to increase overall throughput.