All articlesInstagram

Instagram DM Limits Per Hour (2026): Every Meta Cap, Explained

Meta's docs contain no '200 DMs an hour' rule. Here is every limit that really applies to Instagram DMs, private replies, publishing and the API, which are official, and how to stay inside them.

The knit.bio Team
The knit.bio Team
Guides and playbooks from the team building knit.bio.
10 min read
Instagram DM Limits Per Hour (2026): Every Meta Cap, Explained

"Instagram only lets you send 200 DMs an hour." You've read it in a tool's help page, a forum thread or a competitor's FAQ, and it sounds official. It isn't. Meta's developer documentation contains no such rule. The limits it does publish are different, mostly higher, and split across several separate buckets, and the ones that actually cost creators messages are not about speed at all.

Short answer: for automated messages, Meta's published ceilings (per Instagram professional account) are 750 private replies an hour to comments on posts and Reels and 100 calls a second for text and link messages. "200 an hour" is a pacing habit many tools adopted to stay far under those numbers. The limits that really bite are the 24-hour messaging window, one private reply per comment, a seven-day clock on comments, and a message-size cap measured in bytes, not characters.

This guide lists every limit we know of that affects DMs, private replies, publishing and the API. It separates what Meta publishes from what tools do by convention, explains the error you see when you hit each one, and shows how to stay inside all of them. The numbers were checked against Meta's developer documentation on September 26, 2026. Meta changes them without notice, so the sources are linked at the bottom.

Where the "200 messages an hour" number comes from

The closest thing to it in Meta's documentation is the general Graph API platform limit: calls within one hour = 200 × the number of people who have authorized the app. That is an app-wide allowance for ordinary API calls, and it grows with the number of users. It is not a per-account DM cap: Meta's page lists Instagram's messaging endpoints separately, each with its own specific limit.

Tool makers turned it into a rule of thumb: keep automated DMs to about 200 an hour per account, comfortably below every real ceiling. That is sensible pacing, and it's why so many tools quote it. But it is a convention, not a Meta rule, and it isn't the ceiling. Instagram also publishes no daily figure for DMs you type by hand in the app. Any daily numbers you see for that are user reports, not documentation.

1. How fast you can send

These come straight from Meta's rate-limit documentation, and each is counted per Instagram professional account:

  • Private replies to comments on posts and Reels: 750 calls per hour.
  • Private replies to comments on a Live: 100 calls per second, but only while the broadcast is running.
  • Send API, text, links, reactions and stickers: 100 calls per second. Audio and video: 10 per second.
  • Conversations API (reading your inbox): 2 calls per second.
  • Every other Instagram call (media lists, comments, insights): a Business Use Case limit of 4,800 × your impressions over 24 hours, so the allowance scales with how many people see your content.

Notice how far these sit from 200 an hour. A tool that paces at a few hundred an hour is using a fraction of the private-reply ceiling, on purpose.

2. Who you can message, and when

  • The 24-hour window. Your app has 24 hours to respond to a message an Instagram user sent to your account. Every new message from them restarts the clock. Following, liking or commenting does not open it. The 24-hour window, explained covers what opens and resets it.
  • Private replies to comments. One message per comment, sent within seven days of the comment. For a Live, only while the broadcast is on. The message lands in the person's Inbox if they follow you and in Requests if they don't, with a link to the post. Follow-ups are only allowed if they reply, and within 24 hours of that reply.
  • The Human Agent tag. Meta lets apps that use human agents tag a reply so it can go outside the 24-hour window (widely documented as up to seven days). It exists for a person typing a reply, not for automation, and using it to stretch a bot's window goes against what the tag is for.
  • One person per conversation. Group messaging is not supported through the API.
  • Old requests disappear. Messages in your Requests folder that have not been active for 30 days are not returned by API calls.
  • No cold outreach. The messaging API is for responding. There is no official way to DM a follower who has not messaged you or commented, which is why mass DMs come with strict conditions.

3. What a single message can contain

This is the section that surprises people, because the limits are not in the units you'd expect.

  • Text: 1,000 bytes, not 1,000 characters. Message text must be UTF-8 and 1,000 bytes or fewer. That is about 1,000 English letters, but only around 333 Hindi or Chinese characters (3 bytes each), about 500 Arabic or Russian ones (2 bytes each), or 250 emoji (4 bytes each). If you write in one of those scripts, or you love emoji, you'll hit the ceiling long before an English writer.
  • A message with buttons: 640 characters. The text of a button template is capped at 640 characters, tighter than a plain message, with one to three buttons (a web link or a postback).
  • Carousels (generic template): up to 10 tiles, with the title and subtitle of each limited to 80 characters and up to three buttons per tile. A long product name is a common way to break a product carousel.
  • Quick replies: up to 13, with titles of 20 characters (longer ones are truncated).
  • Attachments: up to 10 images per message, images up to 8 MB, and audio, video or PDFs up to 25 MB. You must own any media or post you attach.

Expect Instagram to refuse a message that breaks these rules rather than trim it, so an over-long DM is a DM that never arrives. Keep the first message short and give it one clear next step.

4. Publishing limits (posts, Reels, Stories, carousels)

  • 100 API-published posts per rolling 24 hours (a carousel counts once), and an account can create 400 media containers in a rolling 24 hours.
  • Carousels: up to 10 images or videos.
  • Captions: up to 2,200 characters, 30 hashtags and 20 tagged accounts, with up to three collaborators. Alt text is capped at 1,000 characters.
  • Images: JPEG is the only supported format, up to 8 MB, and feed images need an aspect ratio between 4:5 and 1.91:1.
  • Reels: 3 seconds to 15 minutes, up to 300 MB, 23 to 60 frames per second, 9:16 recommended.
  • Story video: 3 to 60 seconds, up to 100 MB.
  • Containers expire. A media container that is not published within 24 hours is gone, and video containers pass through IN_PROGRESS before they are ready.
  • Not supported by the API: shopping tags and filters. The file also has to sit on a publicly reachable server when Instagram fetches it.

Most creators never come near the 100-a-day ceiling. The limits that catch people are file format, Reel length and file size. See how to schedule posts, Reels and Stories for a checklist.

5. Access, tokens and permissions

  • Professional accounts only. Creator and Business accounts can use the API. Personal accounts can't.
  • Tokens expire. A token from the business login flow is short-lived and valid for one hour, and a long-lived token is valid for 60 days. A long-lived token has to be refreshed before it lapses, or every automation, scheduled post and analytics read using it stops.
  • Permissions. Messaging needs the basic and manage-messages permissions. An app that works with accounts it doesn't own needs Advanced Access, which requires App Review.

6. Webhooks

  • Your endpoint should answer every notification with 200 OK. If it doesn't, Meta retries immediately and then with decreasing frequency for up to 36 hours.
  • Every payload is signed with SHA-256 in the X-Hub-Signature-256 header, and you should verify it.
  • The same event can be delivered more than once, so your server has to handle duplicates.

What it looks like when you hit a limit

Instagram rarely tells you "you went too fast" in plain words. You get an error code:

  • A throttle usually comes back as an HTTP 400, not a 429, with code 4, 17, 32 or 613, and code 80002 for Instagram's own limit. The response headers include X-Business-Use-Case-Usage, which reports how much of your allowance is used and an estimated number of minutes until access returns. A tool that ignores it and retries in seconds only extends the wait.
  • Outside the 24-hour window is reported as error 10 with subcode 2534022 ("This message is sent outside of allowed window"). It is permanent for that message. Retrying can't fix it.
  • A refused private reply is reported as error 100 with subcode 2534025: the comment is older than seven days, has already had a private reply, was deleted, or the person doesn't accept message requests.
  • An invalid token is error 190, usually after a password change or when the account owner removes the app. Nothing sends until the account is reconnected.
  • A temporary block (error 368) means Instagram's anti-spam system has paused the account. The reported cure is to stop, wait a day or two, and resume at a slower pace.

Meta's public reference doesn't list every code and subcode, so the details for the last four items come from developer reports as well as Meta's documentation. Treat the exact subcode numbers as likely to change.

How to stay inside every limit, whatever tool you use

  • Spread sends out. A burst of hundreds in a minute is what triggers throttles. The same volume across an hour rarely does.
  • Back off properly. When you're throttled, pause the whole account for the time Meta gives you, don't retry each message on its own timer.
  • One message per comment. Make sure only one system answers a given comment. Two tools on one post means one of them fails.
  • Deliver the value first. Put what you promised in the first message, because you may not be allowed to send a second.
  • Count bytes if you write in a non-Latin script or use lots of emoji, and keep messages with buttons under 640 characters.
  • Don't use the Human Agent tag for a bot.
  • Refresh tokens early, and tell people when a connection needs attention instead of failing silently.
  • Acknowledge webhooks fast and de-duplicate.
  • Get an email address while you have them. The window always closes, and an email list is the channel that has no window.

How IG Suite handles them

knit.bio's IG Suite is built on Meta's official API, so these limits are part of how it works, not something you manage by hand:

  • Pacing. Every account has an hourly send ceiling set by plan, well under Meta's, and slow-down mode spreads sends across the hour. Private replies and DMs are counted together, which is stricter than Meta's own accounting. Hiding, deleting and public replies don't use the DM allowance. Bulk sends (Broadcast and Superfans) queue behind live comment-to-DM automations, so a big broadcast never makes someone who just commented wait for their link.
  • Throttles. If Instagram throttles an account, IG Suite pauses that account for a cooldown (at least 15 minutes, longer when Meta says so) and holds the queue, instead of retrying into the wall. Queued messages keep trying for hours before they are given up on.
  • The 24-hour window. Comment triggers use Private Replies, which are exempt from the window. Story, mention and incoming-DM triggers answer inside it. Broadcast only DMs people who messaged in the last 22 hours, and only as many as your account's send queue can reach before their window closes (anyone left out is counted, with a note to send in smaller batches). Superfans shows who is reachable right now, and a Money Inbox reply that missed the window comes back marked "Reply did not send". IG Suite never uses the Human Agent tag to stretch it.
  • The seven-day clock. Rewind (Pro) looks back seven days, and a queued reply that would land after day seven is dropped without spending any of your hourly allowance.
  • One reply per comment. When a keyword automation, a comment FAQ answer and an intent playbook could all answer the same comment, only one does.
  • Message size. Inbox replies and automations are checked in bytes as you write them. Each message box has a live counter that includes the footer we add, and switches to 640 characters when you attach a link, and a message that is over the limit is refused with the reason instead of being cut short later. Carousel titles are trimmed to 80 characters, and anything that still slips through is shortened rather than rejected by Instagram.
  • Publishing. Before it creates a post, IG Suite checks how much of Instagram's 100-posts-a-day allowance is left. If it's used up, the post is held and goes out when there's room instead of failing hours later. Photos are converted to JPEG (on a white background, so a transparent PNG doesn't turn black) and compressed under 8 MB, and Reels and Story videos are checked for length before they upload.
  • Tokens. Connections refresh automatically before they expire. If Instagram revokes one, queued messages are held rather than lost, and you're told to reconnect.
  • Webhooks. Each delivery is signature-checked, stored, and acknowledged immediately, with a background job as the safety net.

If you're moving from another tool, this comparison covers what to check. And if a DM didn't arrive, the auto-DM troubleshooting checklist walks through the usual causes in order, with the limits above as the first suspects. For the wider question of what Meta allows, see what Meta actually allows in 2026.

Frequently asked questions

Is 200 DMs an hour a Meta rule?

No. It's a pacing convention many tools use. Meta's published private-reply ceiling is 750 an hour per account, and the Send API allows 100 calls a second for text.

How many DMs can I send per day?

Meta publishes no single daily number for automated DMs. It publishes per-second and per-hour ceilings, plus the rules about who you may message. For DMs you type yourself in the app, Instagram applies its own unpublished limits.

Can I message someone who hasn't messaged me?

Not through the official API, with one exception: a single private reply to a comment they left on your post or Reel, within seven days.

What happens if I go over a limit?

Instagram returns an error and the message is not sent. For throttles, it's safe to try again after the wait. For a closed window or a refused private reply, it is not: those are permanent for that message.

Are the limits per account or per app?

Meta states the messaging limits per Instagram professional account. Some app-wide limits also grow with the number of connected users.

Will these numbers change?

Yes. Meta has changed message formats, windows and limits several times, usually without an announcement. Treat any list, including this one, as a snapshot and check the sources before you build on a number.

Sources

Everything above marked as a Meta limit comes from these pages, read on September 26, 2026:

Build inside the limits, not against them

The creators who never hit these walls aren't sending less. They deliver the value in the first message, pace their sends, and keep a channel that has no window. See how IG Suite handles it, or start free and connect your account.

Automate this with comment-to-DM

Send a DM to everyone who comments your keyword, through Instagram’s official API. Free plan included, no card needed.

Keep reading

Browse all guides