Instagram DM rate limits in 2026: every documented cap in one table

Meta documents 750 private replies per hour, per Instagram professional account, for comments on posts and reels. Almost every article on this subject says 200. That figure is real, but it is a different limit measuring a different thing, and mistaking one for the other will cost you about three quarters of your capacity on the night you most need it.
750 an hour is the private reply cap on posts and reels. The 200 you keep reading is a multiplier in Meta's app-level formula, not a per-account DM limit.
Every documented limit, in one place
These come from Meta's Graph API rate limiting page and the Instagram messaging documentation. They are separate limits that apply at the same time, which is part of why they get muddled.
| Call | Documented limit | Scope |
|---|---|---|
| Private reply to a post or reel comment | 750 per hour | Per Instagram professional account |
| Private reply to an Instagram Live comment | 100 per second | Per Instagram professional account |
| Conversations API | 2 per second | Per Instagram professional account |
| Platform rate limit | 200 x daily active users, per hour | Per app, across all its users |
Look at the last row and the myth explains itself. Meta calculates an app's hourly allowance as 200 multiplied by its number of unique daily active users. The 200 is a per-user coefficient in an app-wide budget. Somewhere that became "Instagram allows 200 DMs an hour", and the category has been repeating it since.
The time limits matter as much as the volume limits
Two windows govern when you are allowed to send at all, and they are routinely confused with each other because both are described as a messaging window.
| Window | Length | What it covers |
|---|---|---|
| Private reply window | 7 days | How long after a comment you may send the one DM that answers it |
| Standard messaging window | 24 hours | How long you may keep replying after the person messages you |
The seven day window is the one that changes how a tool should be built. A comment posted at nine in the evening can still be answered on Thursday. That means a spike does not have to be dropped, it can be spread, and any tool that discards comments once the hourly cap is reached is throwing away leads it had a week to deliver.
What 750 an hour actually looks like on a good night
A cap only matters when you reach it, so here is the arithmetic. A reel that collects 3,000 keyword comments in its first hour is a good night for most accounts and not an unusual one for a reel that travels.
| Hour | Delivered | Still queued |
|---|---|---|
| 1 | 750 | 2,250 |
| 2 | 1,500 | 1,500 |
| 3 | 2,250 | 750 |
| 4 | 3,000 | 0 |
Spread evenly, 750 an hour is one every 4.8 seconds. That is the spacing a queue should use, because sending in a burst and then idling is both closer to the ceiling and less like a human answering comments.
Past the cap, nothing needs to be dropped. Each DM takes the next place in a queue and waits, and a seven day window is long enough that its turn will come.
What happens when you go over
Meta throttles. Requests from a throttled app or user fail and the API returns an error until enough time has passed for the call count to fall back under the limit. Nothing dramatic happens on the first refusal.
The damage comes from what a badly built tool does next. Retrying a refused send immediately, in a loop, turns one throttle into a pattern, and a pattern is what draws app-level restrictions. The correct response to a rate limit error is to stop sending for a while, not to try harder.
- HookSend holds the whole queue for 15 minutes after Meta refuses a send as over the limit, rather than failing the individual DM and moving on to the next one.
- The cap is enforced locally at 750 an hour per account, so the refusal should not happen in the first place. The hold is there for the case where Meta throttles earlier than it documents.
- Queued DMs are spaced 4.8 seconds apart, which is the hour divided by the cap.
- A DM is only abandoned when its turn would fall after the seven day window closes, which on realistic volumes does not happen.
The limits nobody mentions until they hit one
Volume and timing get all the attention. These are the documented constraints that actually break a campaign the first time you build one.
| Constraint | Limit |
|---|---|
| Message text | 1,000 bytes, UTF-8 |
| Attachments per message | 10 |
| Image size | 8 MB |
| Video, audio and PDF size | 25 MB each |
| Requests folder retention | 30 days of inactivity |
The byte limit catches people writing in Hindi, Arabic or Japanese, where a message that looks half the length of an English one can be over the limit. Emoji are four bytes each. If your DM is truncating and you cannot see why, count bytes rather than characters.
The delivery detail is worth knowing too. A private reply lands in the recipient's Inbox if they follow the account and in their Requests folder if they do not, which is the single biggest reason a campaign's open rate looks lower than expected. It is not deliverability. It is a folder.
How to check any tool against these
- Ask what hourly cap it enforces per account. If the answer is 200, it is leaving three quarters of your capacity unused.
- Ask what it does at the cap. Queue is the right answer. Drop or skip means you lose the overflow from exactly the post that worked.
- Ask how long it will keep trying. Anything under seven days is throwing away a window Meta gave you.
- Ask what it does when Meta returns a rate limit error. A pause is right. An immediate retry is how a throttle becomes a restriction.
None of these need a demo to answer, and a vendor who cannot answer them has not read the documentation their product depends on.
Questions people ask about this
- How many DMs can Instagram automation send per hour?
- Meta documents 750 private replies per hour, per Instagram professional account, for comments on posts and reels. Private replies to Instagram Live comments are capped at 100 per second instead, and the Conversations API is limited to 2 calls per second. These are separate limits enforced at the same time.
- Is the Instagram DM limit 200 per hour?
- No. The 200 comes from Meta's platform rate limit formula, which calculates an app's hourly allowance as 200 multiplied by its number of unique daily active users. That is an app-wide budget with a per-user coefficient, not a cap on how many DMs one account can send. The documented private reply cap for post and reel comments is 750 an hour.
- Is the rate limit per Instagram account or per tool?
- The private reply cap of 750 an hour is per Instagram professional account, so being on a busy platform does not eat into your allowance. The separate platform rate limit is per app and scales with that app's daily active users, which means a healthy platform gets a larger budget rather than a smaller one.
- How long after a comment can an automated DM still be sent?
- Seven days, for comments on posts and reels. Instagram Live is the exception: a private reply to a Live comment can only be sent during the broadcast. The seven day window is why a well built tool queues a spike rather than dropping it, since there is a week to clear a backlog that took an hour to create.
- What happens if you exceed Instagram's messaging rate limit?
- Meta throttles the app or the user, and subsequent requests fail with an error until the call count falls back below the limit. A single throttle is not a penalty. The risk comes from a tool that retries a refused send in a loop, because a sustained pattern of rejected calls is what leads to app-level restrictions.