Product guide
Rate limits & sending caps
Whether a number’s messages arrive as iMessage depends on how Apple sees it. A number that messages a lot of new people in a short time — especially people who are not on iMessage — starts to look like a broadcaster, and Apple stops delivering its messages as iMessage for a while. Nobody can appeal that, so every number keeps to the limits below, on every way of sending: conversations, the API, automations, announcements, scheduled messages and GoHighLevel.
The limits belong to each number, not your organization: three numbers get three times the room.
50 new people a day
Only people the number writes to first count. Replying, following up, and messaging somebody who wrote to you first never do.
Seven an hour to people who have not replied
First messages and unanswered follow-ups go about eight minutes apart, never more than two in ten minutes, by iMessage, SMS or RCS alike. Fifty new people take about seven hours rather than one.
150 messages a day
Every message counts, replies included. It is well above what a number in ordinary two-way conversation reaches.
Nothing is dropped
A message past a limit waits and goes out by itself when there is room. You can see it waiting, and cancel it.
The limits
| Limit | Default | What counts | Over |
|---|---|---|---|
| New people a day | 50 | First messages to people this number has not messaged before | Any 24 hours |
| Unanswered messages an hour | 7, and 2 in any ten minutes | First messages, and follow-ups to people who have not replied, about eight minutes apart | Any hour |
| Messages a day | 150 | Every message the number sends, replies included | Any 24 hours |
| Messages a minute | 15 | Every message; past it, one every four seconds | Any minute |
Every window rolls: “a day” is the last 24 hours, not since midnight, so room comes back a message at a time as the oldest turn a day old rather than all at once.
Who counts as a new person
- Somebody this number has never messaged, and who has never messaged it. The first message to them counts, once.
- An introduction and the follow-up you send right behind it are one person, not two.
- Somebody who wrote to the number first is not a new person: answering them never counts, however many times.
- A first message you cancel before it goes, or one we refuse, gives its place back. One that went but failed still counts: Apple saw it.
Follow-ups to people who have not replied
To Apple, a follow-up to somebody who never wrote back is the same one-way message as the first one. So every message to a person who has not replied keeps the hourly pace, the first and each follow-up, whether it goes as iMessage, SMS or RCS. Only the first spends a place in the day’s 50 new people. The moment they write back it is a conversation, and nothing to them is paced.
A second bubble sent straight after the first — “Hi Ana” and then the link, within two minutes — goes with it rather than waiting its own turn.
What happens at a limit
- It waits. The message is accepted, shows as waiting in the conversation, and goes out by itself at the first moment that keeps the number inside every limit. Through the API it comes back
pendingwith the time it is held to. - Conversations are not held behind the pace. A number out of room still answers everybody who has written to it straight away.
- Unless it could not go for days. A message that could not go within five days — a list of thousands on one number — is refused instead, so it does not quietly become a month of queue:
429new_contact_limitfor a first message to somebody new,daily_message_limitfor anything past the daily total, each with aRetry-After. More numbers is the answer to more reach. - Automations and announcements pace themselves. Each person is sent to when the number has room; an announcement to fifty new people takes about seven hours.
When a number goes green
If a number that normally delivers iMessage starts delivering everything as text messages (green bubbles), Apple has stopped trusting it for now. We notice, lower it to one new person a day, and email the people on your project. Its messages still go out, as texts, and replies are not affected. It usually recovers within about two days once it slows down.
When it is back on iMessage it does not go straight back to full speed: it climbs back over three weeks, because going straight back to the volume that lost it iMessage is how it loses it again.
| When | New people a day |
|---|---|
| While it is sending as texts | 1 |
| Week 1 after it recovers | 10 |
| Week 2 | 20 |
| Week 3 | 30 |
| Week 4 on | Its usual limit again, up to 50 |
Each week is never more than the number’s own limit, if that is lower. A number that had more than 50 comes back at 50; ask us when you are ready for more. While it warms up, spread first messages across the working day rather than sending a day’s worth at once.
Seeing where a number is
Open Numbers in your project. Each number shows the new people it has messaged and the messages it has sent in the last 24 hours against its limits, when the next new person can be messaged, how many are waiting, and its warm-up week if it has one. Through the API, GET /v1/projects/{id}/sending-stats returns the same: new_contacts_used, new_contacts_limit, next_new_contact_at, messages_used, messages_limit and warmup.
Raising a limit
The defaults fit a number used for real conversations. If your number has a long history of two-way conversation and you need more, write to support@missblue.dev with what you are sending: we can raise either daily limit for one number or for your whole organization. A higher limit does not make a number safe from Apple; it only stops us holding you back. For more reach, add numbers.
NextSending messagesHow a message is sent, and what its status means while it waits and after it goes.