DM Automation

Instagram DM Limits: What Meta Lets Social Media Automation Send

October 2, 2026 · By Sabrina Ramonov

Instagram DM limits for social media automation, from Meta's docs: send caps, 750 private replies an hour, the ad window, and why 200 is not Meta's.

Instagram DM limits for social media automation: an Instagram message thread and a limit gauge beside Sabrina Ramonov, with Instagram, Meta and Blotato tiles

Instagram DM limits come with no published daily cap. Meta’s developer documentation lists none for automation and no hourly cap on ordinary sends, and Instagram publishes no daily message limit for manual DMs. The often-quoted 200 automated DMs an hour is a pacing figure some tools chose, and Meta’s rate-limit pages do not set it.

What Meta does publish are call ceilings. An account gets 750 private replies per hour to comments on posts and reels, plus 100 or 300 Send API calls a second for text and 10 for audio or video, depending on which Meta rate-limit page your API path follows. On top of those sit the messaging windows, which decide who your automation may message at all.

This page covers what software sending through Meta’s API is allowed to do. On how many manual messages trigger a block, Instagram’s help center says only that if you keep going after a warning, “you may not be able to send more direct messages for a period of time.” The 20-to-200-a-day figures elsewhere are estimates by account age, and I won’t add another.

Instagram DM Limits at a Glance (2026)

This table collects seven limits from Meta’s documentation on Instagram DM automation through its API, and none of them is a daily DM cap. The Send API takes two rows because two Meta pages give different rates.

LimitMeta’s numberCounted perWhat it means for automation
Send API, per the Instagram Platform overview100 calls a second for text, links, reactions and stickers, 10 a second for audio or videoInstagram professional accountRarely the bottleneck unless a backlog or a loop floods it
Send API, per the Messenger rate limits page (Instagram section)300 calls a second for text, 10 a second for audio or videoInstagram professional accountThe same job on the Facebook Login route, so check which path your tool uses
Private replies to post and reel comments750 calls an hourInstagram professional accountThe one a viral post’s keyword comments can reach
Private replies to Live comments100 calls a second, only while the broadcast runsInstagram professional accountOnce the Live ends, those commenters can no longer get a private reply
Conversations API2 calls a secondInstagram professional accountPaces an agent that reads threads
High-volume inboxMore than 72,000 messages sent and received, with no time window statedInstagram professional accountInbox stops showing new messages and the account cannot send until the volume decreases
Single threadNo number publishedOne conversation”Too many messages” to one person can be rate limited
Message text1,000 bytes of UTF-8 (one Meta page also says under 1,000 characters)One messageEmoji and accented letters use more than one byte each, so fewer than 1,000 characters can fit

The verdict in plain English: in the three setups below, the per-second ceilings never bind. What stops automated DMs is eligibility, meaning who wrote first, plus the monthly allowance your tool bills on.

Start free week →

Free 7-day trial · Cancel anytime

The trial covers the web app. An agent reaching Blotato through the API or MCP needs a paid plan. Generating an API key ends the trial and starts the $29 Starter plan.

What Meta Changed on September 28, 2026

Meta’s Instagram Messaging changelog has an entry dated September 28, 2026, documenting that “the standard messaging window may extend up to 7 days for conversations that start from Click-to-Messenger or Click-to-Direct ads.”

Meta's Instagram Messaging changelog entry for September 28, 2026, documenting that the standard messaging window may extend up to 7 days for conversations that start from Click-to-Messenger or Click-to-Direct ads.
Meta's Instagram Messaging changelog entry for September 28, 2026, documenting that the standard messaging window may extend up to 7 days for conversations that start from Click-to-Messenger or Click-to-Direct ads.

The 7 days start “when the person sends their first message after clicking the ad,” and “conversations started through other entry points remain within a 24-hour window.” A comment on an organic reel keeps its old clock, and so do a story reply and any DM that did not come from an ad. Private replies keep their own rule too: one message per comment, within 7 days of the comment.

Where “200 DMs an Hour” Comes From

Search Google for Instagram DM limits and the AI Overview files “roughly 200 automated DMs per hour” under a heading called “Automated & API DM Limits.” It adds a “theoretical daily maximum” of 4,800 through approved automation, and cites CreatorFlow’s guide.

CreatorFlow’s page is clearer than the summary built from it. It says “Meta publishes no hourly DM cap,” calls 200 an hour “a tool-side pacing convention,” and reaches 4,800 by running 200 an hour for 24 hours. The AI Overview keeps the pacing label and CreatorFlow’s own “theoretical daily maximum” wording. It then files both under API limits, without the line saying Meta never set either.

Where 200 does appear in Meta’s rate-limit pages, it sits inside call budgets that scale with users. The Graph API’s platform rate limit is “Calls within one hour = 200 * Number of Users,” and the same page puts Instagram Platform requests under Business Use Case limits instead. The Messenger rate limits page budgets Facebook Page messaging at “Calls within 24 hours = 200 * Number of Engaged Users,” and its Instagram section carries no such formula.

The 4,800 in Instagram’s own formula is a coincidence. The Instagram Platform overview multiplies impressions by it and applies it to calls “excluding messaging.” Instagram’s messaging endpoints are counted per account, at the rates in the table above.

Meta's Instagram Platform documentation lists its messaging rate limits per second and per hour, with no daily DM cap.
Meta's Instagram Platform documentation lists its messaging rate limits per second and per hour, with no daily DM cap.

A pacing figure is a speed each tool picks for itself. If a vendor quotes you one, ask whether it is their throttle or Meta’s ceiling.

The Limit You Hit First Is Who You May Message

An automated DM through Meta’s API can only answer someone who acted first: they messaged you, or they commented on your content. The API offers no cold outreach path, so the volume you can send is the number of people who acted inside a window.

Instagram DM limits for automation work like a funnel: only people who wrote first, are still inside Meta's reply window and fit your tool's plan limit can get a DM, while Meta's rate limits set how fast those DMs go out.
Instagram DM limits for automation work like a funnel: only people who wrote first, are still inside Meta's reply window and fit your tool's plan limit can get a DM, while Meta's rate limits set how fast those DMs go out.

Each trigger has its own clock. After a comment’s one private reply, Meta’s private replies documentation adds that follow-up messages “can only be sent if the recipient responds, and must be sent within 24 hours of the response.” An ordinary DM that did not come from an ad opens the standard 24-hour window. I walk through how those two clocks shape an inbox build in my Instagram messaging API breakdown.

An Instagram account that “sends and receives more than 72,000 messages” stops displaying new messages and “cannot send new messages until the volume decreases,” and a banner in the conversation says a message may be delayed or was not delivered. Meta does not say over what period those messages are counted.

Meta's high-volume messaging rule for Instagram professional accounts, with no time period stated for the 72,000-message threshold.
Meta's high-volume messaging rule for Instagram professional accounts, with no time period stated for the 72,000-message threshold.

Your app also “may be rate limited if too many messages are sent to a single thread,” which is the rule a looping automation trips. And Meta’s Developer Policies add the limit nobody can calculate: messaging experiences “that receive excessive negative feedback, may be feature limited, paused, rate-limited or removed from Platform.” A DM people report as spam costs you more than any rate limit.

Three Accounts, Three Different Ceilings

The same rules bind differently depending on what triggers the DMs. Swap your own numbers into these three.

The reel that takes off

A creator posts a reel with “comment GUIDE for the link,” and 3,000 people comment the keyword in the first hour.

  • Meta: 3,000 replies ÷ 750 per hour = 4 hours of private-reply allowance if no other replies use it, well inside the 7-day window
  • Blotato Starter: at the default 1,000 contacts with none used this month, the run for new person 1,001 fails with error 20101
  • Blotato Creator: the default 6,000 covers all 3,000, but its docs do not say whether replies past 750 an hour wait for the next hour, so filter the runs for failed and expired after a spike
  • Binds first: contacts on Starter if all 3,000 are new. On Creator, Meta’s 750 an hour, if the automation tries to reply faster than that

The ad that drives DMs

A Click-to-Direct ad brings 2,000 new conversations over a weekend, and the business wants to send each person a second message on Monday.

  • Meta window: may run up to 7 days from each person’s first message after the ad click, so a Monday follow-up can still qualify
  • Meta send rate: 2,000 messages ÷ 100 calls a second = 20 seconds of capacity
  • Blotato: 2,000 contacts, double Starter’s default 1,000. Its messaging docs list the 24-hour, private-reply and message-tag windows but not the ad window, so confirm it works before you schedule the follow-up
  • Binds first: contacts on Starter. On Creator, whether your tool can send inside the ad window

The agent clearing the inbox

Each morning, an agent answers the 450 DMs that arrived overnight through Blotato’s REST send endpoint.

  • Blotato endpoint: 450 requests ÷ 30 a minute = 15 minutes to submit, with delivery confirmed per message afterward
  • Meta window: everyone wrote within 24 hours when the run starts, so check each last-message time before sending
  • Blotato contacts, if all 450 are new each morning: 1,000 ÷ 450 = 2 full mornings on Starter, 6,000 ÷ 450 = 13 on Creator
  • Binds first: contacts, after 2 mornings on Starter or 13 on Creator if everyone is new. A skipped morning also lets the older overnight messages age past the 24-hour window

The Honest Pitch: Blotato Adds a Monthly Limit of Its Own

Blotato is my company, and I’d be a bad founder if I hid this part. Using it raises none of the numbers in that table. Its DM automation covers Instagram and Facebook only, replies only to people who wrote first, and adds a ceiling of its own.

That ceiling is monthly active contacts across the plan, by default 1,000 on Starter, 6,000 on Creator and 15,000 on Agency. Some accounts carry a custom limit, so contactsLimit from the usage call below, a number or “unlimited”, is the one that counts for yours. A contact is anyone you reach in a month by DM or by replying to their comment.

Each person counts once per connected account, so the same person on two of your accounts counts twice, and messaging someone already counted through the same account adds nothing. Past the limit, an automation’s send to someone new fails with error code 20101 and that run ends as failed. A REST send gets a 422 carrying the same code.

Two more Blotato numbers belong in your plan. Its REST send endpoint, POST /v2/messages, answers 429 above 30 requests a minute. The Instagram cap of 50 posts a day applies to publishing, which I cover alongside the posting caps for every platform.

One API. Every social platform. The key that runs your Instagram and Facebook DM automations also publishes to 9 platforms and reads analytics. Generate it under Settings > API, and one request tells your agent how close the month is to the cap:

curl https://backend.blotato.com/v2/users/me/usage \
  -H "blotato-api-key: YOUR_API_KEY"

It returns accounts, contacts and contactsLimit, so an agent can check headroom before it switches on a big automation. Blotato’s plan and request limits page lists the plan caps behind those numbers.

Blotato also runs an MCP server at https://mcp.blotato.com/mcp. Claude Code, Claude Desktop or any MCP-compatible agent connects with OAuth or a blotato-api-key header, then calls blotato_list_accounts for the account IDs the other tools need. Sixteen of its tools handle Instagram and Facebook comments, conversations and DM automations:

  • Conversations: blotato_list_conversations, blotato_get_conversation, blotato_list_messages, blotato_get_message, blotato_send_message
  • Automations: blotato_create_automation, blotato_list_automations, blotato_update_automation, blotato_update_automation_trigger, blotato_delete_automation
  • Results: blotato_list_automation_runs, blotato_list_automation_logs, blotato_get_automation_analytics
  • Comments: blotato_list_comments, blotato_get_comment, blotato_post_comment

None of them returns the contact count, so an agent watching the cap uses the usage call above. When a run fails, blotato_list_automation_runs returns its error code, which is where a 20101 shows up. My comparison of DM automation routes weighs building on Meta yourself against a hosted layer. Starter is $29 a month, Creator $97 and Agency $499, and the plans page shows what each includes.

The Three Numbers I Would Watch

I built Blotato, so weigh this with that bias in mind. Plan around three numbers: how many people are still eligible for the message you want to send, your plan’s remaining contacts, and your runs marked failed or expired. The first lives in your comments and inbox, the second in the usage call, and the third in blotato_list_automation_runs.

Instagram DM Limits FAQs

How many DMs can I send on Instagram per day?

Neither Meta’s developer docs nor Instagram’s help center gives a daily DM number, for manual messages or for the API. Through the API, the per-account ceilings are 100 or 300 Send API calls a second for text depending on the API path, plus 750 private replies an hour to post and reel comments. Every automated DM also has to answer someone who messaged or commented first.

Is 200 DMs an hour Instagram’s official limit?

No, 200 an hour is a pacing figure some automation tools choose for themselves, and Meta’s rate-limit pages give no such cap for Instagram messaging. Meta’s Instagram numbers are per second for sending and 750 an hour for private replies to post and reel comments.

Does the new 7-day window apply to comment-to-DM automations?

No, the window of up to 7 days that Meta documented on September 28, 2026 covers only conversations that start from Click-to-Messenger or Click-to-Direct ads. Comment-to-DM keeps its own rule, one private reply within 7 days of the comment, and ordinary DM conversations that did not start from an ad keep the standard 24-hour window.

How do I get rid of the Instagram message limit?

If Instagram blocked you from DMing by hand, the block lasts “for a period of time,” so stop sending until it lifts. For automation, find which limit you hit: the person’s window, Meta’s rate limits, Meta’s high-volume threshold, which clears as volume drops, or your tool’s monthly allowance. On Blotato, that allowance renews each month or grows with an upgrade, and neither reopens a closed Meta window.

Does Blotato limit how many Instagram DMs an automation sends?

Yes, by month: by default Blotato’s plans cover 1,000 active contacts on Starter, 6,000 on Creator and 15,000 on Agency, and each person counts once per connected account. Past the limit, a send to a new person fails with error code 20101 and that run ends as failed.