Skip to content
KlyoChat
ManyChat & CompetitorsMOFcommercial

ManyChat API & Integration Limits Explained

A fair explainer of ManyChat API limits: what needs Pro, External Request, webhook and rate considerations, Meta-platform caps, and how KlyoChat compares.

Flat illustration of a developer wiring chat bubbles to external servers with rate gauges, illustrating ManyChat API limits and integration constraints

KlyoChat Team

Updated June 2026 · 28 min read

The short answer

ManyChat API limits are mostly about plan gating and platform rules. The public API, the External Request action, and most integrations need Pro or higher. Underneath sit Meta's own rate limits and 24-hour messaging window. Verify current numbers on ManyChat docs, because vendors change them often.

On this page

ManyChat API limits are the constraints most builders discover only after they have wired up a flow and something quietly stops firing. There are really two layers here, and confusing them is the single most common mistake. The first layer is ManyChat's own plan gating: which API features are switched on for your subscription, what the External Request action can do, and how requests are throttled. The second layer sits underneath and belongs to Meta: the Messenger Platform and WhatsApp have their own rate limits, messaging windows, and policy rules that apply no matter which tool you use to talk to them.

This guide separates those two layers cleanly, because when a message fails to send you want to know whether the fix is upgrading your plan, slowing your request rate, or complying with a platform window. We will walk through the public API, the External Request action, webhook behavior, rate considerations, and the native and third-party integration story — then compare how KlyoChat approaches the same problems.

Full disclosure up front: we build KlyoChat, an alternative to ManyChat, so we have a point of view. We have kept the ManyChat descriptions to how the product actually behaves and flagged everything that changes over time. Where a specific number could be stale, we tell you to confirm it on ManyChat's own documentation rather than trusting a figure printed in a blog post — ours included.

What are ManyChat's API and integration limits, exactly?

When people say manychat api limits they usually mean one of four different things, and it helps to name them. There is access gating, which decides whether the public API and its token are available to your account at all. There is feature gating, which decides whether actions like External Request and Dynamic Content are usable inside your flows. There is rate limiting, which caps how many API calls you can make in a given window. And there is platform limiting, which is Meta's set of rules that ManyChat has to obey on your behalf.

Most of what frustrates builders lives in the first two categories and is a function of your ManyChat plan rather than any hard technical ceiling. The API exists, the actions exist, but they are switched on for paid tiers. The rate and platform limits, by contrast, are real technical and policy boundaries that would apply to any automation tool sending through Meta's channels.

Understanding which category a given wall belongs to tells you the fix. A plan wall is solved with money. A rate wall is solved with better request design. A platform wall is solved by respecting the window and the message categories. Throughout this piece we label which is which, because a builder who treats a platform limit as a plan problem will upgrade and still be stuck.

Numbers move — verify before you build

Every specific limit, tier name, and rate figure in this article reflects ManyChat's published behavior at the time of writing. Vendors adjust these regularly. Before you commit engineering time, confirm the current numbers on ManyChat's own developer documentation and pricing page. We never want you architecting around a stale figure.

Which ManyChat API features are gated behind Pro?

The short version: the parts of ManyChat that a developer cares about mostly live on the Pro plan. The free tier is a genuine on-ramp for building flows, but the moment you want to call an external service, expose an API token, or map a JSON response back into a contact field, you are looking at a paid plan. This is not hidden, but it is easy to miss when you are evaluating the tool on its flow builder alone.

The table below groups the API-adjacent capabilities by what they typically require. Treat the plan column as a category signal rather than a guarantee for your specific account, since ManyChat has changed which features sit on which tier over time.

  • The public API and its token are a Pro-and-up capability, not a free-tier one.
  • External Request — the action most developers actually want — is gated to Pro.
  • Dynamic Content, which lets your server decide what the flow shows, is also Pro.
  • This means a working integration on ManyChat almost always implies a Pro subscription per connected page, which factors into cost as much as into capability.
CapabilityTypically requiresWhat it does
Public API tokenProProgrammatic access to subscribers, tags, fields, and sending
External Request actionProOutbound HTTP call to any URL from inside a flow
Dynamic ContentProServer returns flow content at runtime via your endpoint
Native integrationsProGoogle Sheets, CRMs, Zapier/Make connectors
Basic flow buildingFree/EssentialKeyword triggers and standard blocks, no external calls

The plan gate is the first real limit

Before you hit a single rate cap, you hit the plan gate. If your automation needs to call an external API or receive structured data back, budget for Pro from the start. Teams evaluating ManyChat on its free flow builder frequently discover the integration layer they were counting on is a paid unlock.

What is the External Request action, and when do you need it?

The External Request action is ManyChat's bridge to the rest of the internet. Inside a flow, it lets you send an HTTP request — typically GET or POST — to a URL you specify, attach headers and a body, and then map fields from the JSON response back into a contact's custom fields. If you have ever wanted ManyChat to look up an order status, check inventory, create a CRM record, or ask your own AI endpoint for a reply, External Request is the block that does it.

Functionally, this is how ManyChat participates in a webhook-style exchange. You can think of it as an outbound webhook: an event in the flow triggers a call to your server, your server responds, and the flow continues with the returned data. If the concept of an HTTP callback is new to you, the general pattern is described well in this overview of a webhook, and the request-and-response mechanics are standard API behavior that External Request wraps in a no-code block.

The catch is the one we already flagged: External Request is a Pro feature. On free and Essential tiers the block is not available, so any architecture that depends on talking to your own backend implies Pro. It is also worth understanding what External Request is not — it is an outbound call initiated by your flow, not a general-purpose inbound endpoint that lets arbitrary external systems push events into ManyChat on demand. Inbound triggering is possible through the API and specific integrations, but the model is different, and conflating the two leads to designs that do not work.

Design your endpoint to answer fast

External Request waits on your server. If your endpoint is slow, the contact waits and the flow can time out. Keep the handler lean, return only the fields you will map, and push heavy work to a background job. A fast, small JSON response is the difference between a smooth flow and a stalled one.

A typical External Request in a flow

Trigger
Contact sends a keyword or reaches a flow step
Action
POST to https://your-app.com/lookup with the contact id in the body
Your server
Returns JSON such as order status and delivery date
Mapping
Response fields saved into ManyChat custom fields
Continue
Flow branches on the returned status and replies

Are there rate limits on the ManyChat API?

Yes. Like any well-run platform, ManyChat publishes rate limits on its public API so that a runaway script cannot degrade service for everyone. These are typically expressed as a maximum number of requests per second per account or per endpoint, with sending endpoints often held to a tighter ceiling than read endpoints because sending touches Meta's infrastructure downstream. The precise figures are the kind of thing that changes, so treat them as documented values to look up rather than constants to memorize.

The practical takeaway matters more than any single number. If you are pushing bulk operations — importing thousands of contacts, tagging a large segment, or firing a broadcast through the API — you need to pace your calls, honor the responses that tell you to slow down, and build in retry logic with backoff. A batch job that ignores rate limits will start receiving throttling responses, and a poorly written client that hammers on retry only makes the throttling worse.

There is a second, quieter rate reality underneath ManyChat's own: Meta's platforms have their own limits on how fast messages can be delivered. Even if you stay inside ManyChat's API rate, the Messenger Platform and WhatsApp will pace delivery on their side. So a broadcast that is technically within your API budget can still be metered by Meta as it goes out. This is one of the clearest cases where the plan-limit-versus-platform-limit distinction earns its keep.

  • Read the current per-endpoint rate limits in ManyChat's developer docs before building a bulk job.
  • Honor throttling responses — back off and retry rather than hammering.
  • Sending endpoints are usually capped tighter than read endpoints.
  • Meta paces delivery independently, so staying under ManyChat's rate does not guarantee instant delivery.

Two rate ceilings, not one

You are subject to ManyChat's API rate and, beneath it, Meta's delivery pacing. A job can satisfy the first and still be metered by the second. When planning throughput, model both, and remember that broadcasts to large audiences are shaped by the platform as much as by your client.

How do ManyChat webhook limits work?

ManyChat's webhook story is really the External Request story viewed from the other direction, plus a handful of integration-specific triggers. Outbound, your flow calls your server via External Request whenever a contact reaches that step — that is your reliable, first-class webhook. Inbound, ManyChat can be driven by its public API and by connectors, but there is no single generic endpoint where any external system can register an arbitrary event subscription the way a purpose-built developer platform might offer.

For most builders this is fine, because the common pattern is: something happens in the conversation, ManyChat calls out to you, you do work and respond. Where it becomes a limit is when your architecture wants the reverse to be the primary flow — an external system pushing many event types into ManyChat continuously and expecting rich, structured routing on arrival. That model is thinner, and you end up leaning on the API plus polling or on a middleware layer like a connector to bridge the gap.

The webhook-adjacent limits that catch people are therefore less about a hard cap and more about shape. You are limited to what the External Request block can send and map, to what the API endpoints expose, and to the plan gate that makes both Pro features in the first place. If your integration is conversation-triggered, ManyChat handles it cleanly. If it is externally-triggered and event-heavy, you will feel the edges. We go deeper on the platform-side constraints that interact with this in our companion pieces on ManyChat contact limits and ManyChat Instagram limitations.

Match the trigger direction to the tool

ManyChat shines when the conversation is the trigger and it calls out to you. If your real need is a firehose of external events pushed into the chat platform, design for that explicitly — via the API plus middleware — rather than assuming a generic inbound webhook subscription exists.

What Meta-platform limits sit underneath ManyChat?

This is the section that saves the most debugging time, because a large share of what gets blamed on ManyChat is actually Meta enforcing its own rules. ManyChat is a client of the Messenger Platform and the WhatsApp Business Platform. Whatever those platforms cap, meter, or forbid, ManyChat has to honor — and so would any competitor, including us. Reading Meta's own documentation for the Messenger Platform and for WhatsApp is genuinely worthwhile if you are building anything non-trivial.

The table below draws the line between the two layers. The left column is Meta's territory — it applies everywhere. The right column is ManyChat's territory — it is a function of your subscription and their API design. When a message fails, ask which column the cause lives in before you decide whether to upgrade your plan or change your code.

ConstraintOwned by Meta (platform)Owned by ManyChat (plan/API)
24-hour messaging windowYes — applies to all toolsNo
Message tags / template categoriesYes — Meta defines themNo
Delivery rate / pacingYes — platform meters sendsPartly — API rate on top
Public API token accessNoYes — Pro gate
External Request availabilityNoYes — Pro gate

Do not upgrade your plan to fix a platform rule

If a message is blocked because you are outside the 24-hour window or using the wrong message category, no ManyChat plan upgrade will fix it — the block is Meta's. Diagnose the layer first. Upgrading to solve a platform-policy problem is wasted money and wasted time.

How do the 24-hour window and message tags affect API-driven sends?

The 24-hour messaging window is the rule that shapes almost every messaging automation on Meta's channels. In broad terms, once a user messages your account you have a standard window in which you can reply freely; outside that window you can only send within specific approved categories, using message tags or templates that Meta permits for particular purposes. This is a platform rule, so it applies identically whether you send through ManyChat's flow builder, its API, or any other tool.

For a developer this means your API-driven sends are not unconditionally allowed. A programmatic broadcast to contacts who last engaged weeks ago is not a matter of your API rate limit — it is a matter of whether the send qualifies under Meta's outside-window rules and categories. If it does not, the platform rejects or restricts it, and no amount of plan or rate headroom changes that. The categories and tags themselves are defined by Meta and evolve, which is another reason to read the platform docs directly rather than a secondhand summary.

The reason this belongs in an article about API limits is that builders routinely mistake a category rejection for an API failure. The API call succeeds in the sense that ManyChat accepted it; the message is then constrained downstream by the window and category rules. Instrument your integration to distinguish these outcomes, because the fix for a window problem — re-engage the user so a new window opens, or use a permitted category — is completely different from the fix for a rate problem.

Same API send, three different outcomes

Inside 24h window
Standard reply — delivered normally
Outside window, valid category
Delivered under an approved message tag or template
Outside window, no valid category
Restricted by Meta regardless of plan or rate

What about WhatsApp API limits specifically?

WhatsApp adds its own layer on top of everything above, and it is worth calling out separately because the economics and the limits both differ from Messenger and Instagram. On WhatsApp, conversations are metered and billed by Meta, template messages go through an approval process, and accounts have messaging tiers that cap how many unique users you can start conversations with in a rolling window until your quality and volume earn a higher tier. These are WhatsApp Business Platform rules, and they apply to any provider that connects you to WhatsApp.

Through ManyChat, WhatsApp automation generally requires at least the Pro tier, and on top of ManyChat's subscription you pay Meta's per-conversation fees directly. So the WhatsApp cost picture is a stack: your ManyChat plan, plus Meta's conversation fees, plus the operational overhead of template approvals and tier progression. None of that is unique to ManyChat, but the plan gate on top of it is a ManyChat-specific consideration. We break the money side down in detail in our piece on the real cost of ManyChat at scale.

For a developer, the WhatsApp limits that most affect design are the template approval loop and the messaging tiers. If your integration fires outbound WhatsApp messages programmatically, you need approved templates for anything outside the customer-initiated window, and you need to design for the possibility that a brand-new number starts in a lower messaging tier. Building a WhatsApp integration as though you have unlimited outbound reach from day one is the classic mistake; the platform earns you that reach over time.

  • WhatsApp conversations are metered and billed by Meta on any platform, including ManyChat.
  • Template messages require Meta approval before they can be sent outside the open window.
  • New accounts begin in lower messaging tiers and progress as quality and volume prove out.
  • On ManyChat, WhatsApp typically requires Pro at minimum, layered on top of Meta's fees.

WhatsApp limits are mostly Meta's, the plan gate is ManyChat's

Keep the layers separate here too. Metering, templates, and messaging tiers come from the WhatsApp Business Platform and apply everywhere. The requirement to be on Pro to use WhatsApp automation is ManyChat's plan design. Budget and architect for both.

How do these limits affect builders and developers day to day?

In practice, the limits above translate into a handful of recurring realities for anyone building on ManyChat. The first is that a real integration implies a paid plan per connected page, because the API token and External Request are Pro features. For a single-brand creator that is one subscription; for an agency running many client pages it multiplies, and that multiplication is easy to underestimate when you scope a project.

The second reality is throughput planning. Bulk operations have to respect ManyChat's API rate and Meta's delivery pacing, so a broadcast or a large sync is a paced job, not an instant one. Developers who come from a background of hitting internal APIs at will are sometimes surprised that a chat platform meters this hard, but the metering protects both the platform and your account standing with Meta.

The third reality is the window-and-category discipline. Because so many sends are shaped by the 24-hour window and message categories, a well-built ManyChat integration is as much about re-engagement timing and category selection as it is about clean code. The teams that struggle are usually the ones treating the platform as a generic message bus; the teams that succeed design around the conversational model the platform actually enforces.

How the layers show up in one project

Plan limit
Every client page needs Pro for API and External Request
Rate limit
Contact import is paced to stay under the per-second cap
Platform limit
Outbound sends respect the 24h window and categories
WhatsApp limit
Templates pre-approved, messaging tier accounted for

What native and third-party integrations does ManyChat support?

ManyChat's integration surface is one of its genuine strengths, and being fair means saying so clearly. On the native side it connects to common tools like Google Sheets, popular CRMs, email and SMS providers, and payment flows, alongside the channel connections themselves. On the third-party side, the general-purpose connectors — the Zapier and Make style automation platforms — extend ManyChat into thousands of apps without anyone writing code, which is a large part of why the platform became so widely adopted.

The limit to keep in mind is that this breadth largely sits on Pro, and that connector-based integrations inherit the rate and window constraints we have already covered. A Zapier bridge does not exempt you from Meta's 24-hour window or from ManyChat's API rate; it just moves where the glue code lives. So the integration ecosystem is broad and real, but it is layered on the same plan gate and platform rules as everything else.

For most builders the decision is not whether ManyChat can integrate with a given tool — it usually can, directly or through a connector — but whether the plan cost, the rate ceilings, and the platform windows fit the workload. When you are comparing platforms feature-for-feature, our ManyChat comparison lays the integration and API story side by side so you are not reasoning from a marketing page alone.

Connectors move the glue, not the rules

A Zapier or Make bridge is a fine way to integrate without code, but it does not lift Meta's window rules or ManyChat's rate limits. Whatever the connector sends still obeys the same platform and plan constraints. Plan capacity around the underlying limits, not the connector's convenience.

How do you work around ManyChat's API limits?

Most of ManyChat's limits are workable if you design with them in mind rather than against them. The plan gate is the least negotiable — if you need the API and External Request, you need Pro, and the practical workaround is to scope that cost into the project from the outset rather than treating it as a surprise. For agencies, that means pricing the per-page Pro subscription into client engagements.

The rate limits are the most workable. Instead of firing bulk operations as fast as your code can loop, batch them, add deliberate pacing, and implement retry-with-backoff so throttling responses slow you down gracefully rather than triggering a cascade of failed retries. For large syncs, spread the work over time and prefer incremental updates over full re-imports. A well-paced job that finishes in ten minutes beats an aggressive one that gets throttled and half-fails.

The platform limits are worked around by respecting them, not evading them. Re-engage contacts to open fresh 24-hour windows, use the correct message categories and approved templates for outside-window sends, and design broadcasts around the platform's pacing. And for the External Request timeout risk, keep your endpoints fast and push heavy processing to background jobs so the flow never waits on slow work. None of this removes the limits, but it turns them from blockers into constraints you build around.

  1. Scope the plan cost firstConfirm that the API, External Request, and connectors you need are on Pro, and budget one Pro subscription per connected page before you build.
  2. Pace and batch bulk operationsAdd deliberate delays, batch requests, and implement retry-with-backoff so you honor rate limits instead of triggering throttling.
  3. Keep External Request endpoints fastReturn small JSON quickly and offload heavy work to background jobs so flows do not stall or time out waiting on your server.
  4. Design around the messaging windowTrack engagement so you send inside the 24-hour window when possible, and use approved categories or templates when you must send outside it.
  5. Instrument the layers separatelyLog whether a failure is a plan gate, a rate throttle, or a platform-window rejection so you apply the right fix instead of guessing.

How do you plan an integration on ManyChat without hitting a wall?

The best time to reason about API limits is before you build, not after a flow silently breaks in production. A short planning pass will surface almost every wall in advance, because the limits are predictable once you know they exist. Run through the questions below at the design stage and you will avoid the majority of mid-project surprises.

  1. List every external call the flow will makeEach call means External Request, which means Pro. Count them and confirm the plan requirement per connected page.
  2. Estimate peak request volumeModel your busiest hour, not your average, and check it against ManyChat's current API rate limits and Meta's delivery pacing.
  3. Map each outbound send to a window and categoryFor every programmatic send, decide whether it lands inside the 24-hour window or needs an approved category or template.
  4. Confirm WhatsApp specifics if you use itAccount for metered conversations, template approval, and messaging tiers before you assume unlimited outbound reach.
  5. Decide your trigger directionIf the conversation triggers the integration, ManyChat fits cleanly; if external events must drive it continuously, plan middleware early.

A design pass is cheaper than a rebuild

Every wall in this article is visible before you write code. Spend an hour mapping calls, volumes, windows, and trigger direction against the limits, and you convert a series of production surprises into a set of known constraints you have already designed around.

What questions should you ask before building on ManyChat's API?

If you distill this whole article into a checklist, it becomes a set of questions to answer before committing engineering time. Answering them honestly tells you not only whether ManyChat fits, but exactly which plan and which design your integration requires. Being fair, for many conversation-triggered use cases the answers all come back green and ManyChat is a solid choice.

The questions also double as a comparison framework. When you evaluate any chat automation platform — ManyChat, KlyoChat, or another — running the same questions against each makes the trade-offs concrete rather than rhetorical. The goal is a decision grounded in your actual workload, not in whichever marketing page you read last.

  • Does my integration need the public API, or can flows plus native blocks do the job?
  • How many external calls per conversation, and therefore what plan per page?
  • What is my peak request rate, and does it fit ManyChat's API limits and Meta's pacing?
  • Are my sends mostly inside the 24-hour window, or do I depend on outside-window categories?
  • Am I on WhatsApp, and have I accounted for metering, templates, and messaging tiers?
  • Is my integration conversation-triggered or externally event-driven, and does the tool fit that shape?

Green answers mean ManyChat is a reasonable fit

If your calls are modest, your rate is well under the caps, your sends live inside the window, and your triggers are conversational, ManyChat handles the job. The limits bite hardest on high-volume, externally-driven, outside-window designs. Match the tool to the shape of your workload.

How should you handle errors, retries, and timeouts on ManyChat?

A production integration is defined less by its happy path than by how it behaves when something goes wrong, and the ManyChat limits above all have failure modes worth designing for explicitly. Rate throttling returns a response telling you to slow down; the correct behavior is exponential backoff, where each retry waits progressively longer, rather than an immediate retry loop that only deepens the throttle. A client that retries aggressively on a rate error turns a brief slowdown into a sustained one and can put your account standing at risk.

External Request has its own failure surface. Because the flow waits on your server, a slow or unavailable endpoint can cause the request to time out, and the contact experiences a stalled conversation. Guard against this by keeping handlers fast, returning a small response, and building your flow so that a failed or empty External Request routes to a graceful fallback message rather than a dead end. Decide in advance what the contact should see if your backend is momentarily down, and encode that branch into the flow.

Platform rejections are the third failure class and the one most often misread. When a send is blocked because it falls outside the 24-hour window or uses a disallowed category, that is not an error in your code or a rate problem — it is Meta enforcing policy. Log these distinctly so your dashboards do not lump a policy rejection together with a network timeout. The three classes demand three different responses, and an integration that treats them as one undifferentiated error bucket makes debugging far harder than it needs to be.

The unifying principle is observability. Instrument each call so you can answer, at a glance, whether a failure was a plan gate, a rate throttle, an endpoint timeout, or a platform rejection. With that visibility, every limit in this article becomes a known, handled condition rather than a mysterious intermittent bug — and your on-call future self will thank you.

  • Use exponential backoff on rate errors — never a tight immediate retry loop.
  • Give every External Request a graceful fallback branch for timeouts and empty responses.
  • Log platform-policy rejections separately from code and network errors.
  • Instrument by failure class so you can diagnose plan, rate, endpoint, and platform issues distinctly.

Design the failure path before the happy path

Every limit here has a failure mode: throttling, timeouts, and policy rejections. Decide what the contact sees and what your logs record for each, up front. A conversation that degrades gracefully when your backend blips is the mark of a well-built integration.

How does KlyoChat compare on API and webhooks?

We built KlyoChat as an AI-native unified inbox, and our approach to the API question is different from ManyChat's in a few specific ways — some of which favor us and one honest one that does not. The headline difference is that KlyoChat exposes a public API and webhooks as a defined capability on our Business plan, and our AI agents are included in every plan rather than sold as a separate add-on. If your reason for reaching for an API is to wire AI into your conversations, that logic is built in, and you can read how it works on our AI agents page.

Where ManyChat gates API access, External Request, and connectors on Pro, KlyoChat concentrates the developer-facing API and webhooks on Business ($129/mo). That is a real gate too — we are not pretending otherwise. The difference is mostly in what comes bundled around it: AI agents, all channels, and a flat contact allowance rather than a metered one. For teams whose need is conversation-triggered AI plus a unified inbox, the AI is included from the entry tier; for teams that specifically need programmatic API and webhooks, that lives on Business, and you should price accordingly on our pricing page.

It is worth restating the platform-limit point one more time, because fairness demands it: the 24-hour window, WhatsApp metering, message categories, and Meta's delivery pacing apply to KlyoChat exactly as they apply to ManyChat. No tool can lift Meta's rules. What a tool can change is the subscription shape around them — whether AI is bundled or billed separately, whether contacts are flat or metered, and which plan the API sits on. That is the honest comparison surface.

  • KlyoChat includes AI agents in every plan rather than charging a separate AI step.
  • Public API and webhooks are a Business-plan capability — that is our honest gate.
  • Contacts are bundled per plan, so audience growth does not silently push your bill up.
  • Honest limits: KlyoChat has no native SMS or email, and we are a newer product with a smaller community than ManyChat's large, mature ecosystem.
CapabilityManyChatKlyoChat
Public API accessPro and upBusiness plan
Webhooks / outbound HTTPExternal Request on ProWebhooks on Business
AI in conversationsAI Step add-on (+fee)AI agents included in every plan
ContactsMetered by tierBundled allowance per plan
Meta platform limitsApply (Meta-owned)Apply (Meta-owned)

Where KlyoChat is not the right call

If you need native SMS and email in the same tool, or you rely on the depth of ManyChat's marketplace and years-old community, ManyChat's breadth is a genuine advantage. KlyoChat is the better fit when AI-in-conversation and a unified inbox are the core need and you want that bundled rather than bolted on.

KlyoChat plans at a glance

Basic
$19/mo — unified inbox and AI agents included, entry channels
Pro
$49/mo ($39 yearly) — all channels, custom AI agents included
Business
$129/mo — public API and webhooks, higher limits
Trial
7-day free trial, no credit card required

The honest bottom line on ManyChat API limits: most of what people call a limit is either a plan gate you can budget for or a Meta platform rule that applies to every tool on the market. The public API, External Request, and the connectors that make ManyChat a real integration platform live on Pro. Underneath them sit the 24-hour window, message categories, WhatsApp metering, and rate pacing — all owned by Meta, none of them movable by any vendor. Diagnose which layer a wall belongs to and the fix becomes obvious.

If you are choosing a platform, run the pre-build questions against your actual workload, verify the current numbers on ManyChat's own developer docs, and compare fully-loaded setups rather than headline features. When AI-in-conversation and a unified inbox are the core of what you need, weigh a bundled approach against the add-on math — and if you want to go deeper on the surrounding constraints, our pieces on ManyChat contact limits and Instagram limitations cover the platform edges that interact with the API story.

Frequently asked questions

What are ManyChat's API limits?

ManyChat's API limits fall into two groups. Plan limits gate access: the public API token, the External Request action, and most integrations require Pro or higher. Rate limits cap how many API calls you can make per second, with sending endpoints usually tighter than read endpoints.

Beneath both sit Meta's platform limits — the 24-hour window, message categories, and delivery pacing — which apply to any tool. Always confirm the current figures on ManyChat's own developer documentation, since vendors change them regularly.

Does ManyChat have a public API?

Yes. ManyChat offers a public API with a token that gives programmatic access to subscribers, tags, custom fields, and sending. The key limit is that API access is a Pro-and-up capability rather than a free-tier feature, so a real programmatic integration implies a paid plan per connected page.

What is the ManyChat External Request action?

External Request is a flow block that sends an HTTP request — usually GET or POST — to a URL you choose, then maps fields from the JSON response back into a contact's custom fields. It is how ManyChat calls your backend, a CRM, or an AI endpoint. It is a Pro feature, so it is not available on free or Essential tiers.

Are there rate limits on the ManyChat API?

Yes. ManyChat publishes per-endpoint rate limits, typically expressed as requests per second, with sending endpoints held tighter than read endpoints. Beneath ManyChat's own rate, Meta paces delivery independently, so staying under the API rate does not guarantee instant delivery. Batch your calls and use retry-with-backoff for bulk jobs.

How do ManyChat webhooks work?

ManyChat's primary webhook mechanism is outbound: the External Request action calls your server when a contact reaches a flow step, and you respond. Inbound triggering is possible through the public API and connectors, but there is no generic subscription endpoint for arbitrary external events. This suits conversation-triggered integrations well and is thinner for externally event-driven ones.

Which ManyChat features need the Pro plan?

The developer-facing features generally require Pro: the public API token, the External Request action, Dynamic Content, and most native and third-party connectors. Basic flow building with keyword triggers is available on lower tiers, but anything that calls an external service or exposes an API implies Pro per connected page.

Are ManyChat's limits the same as Meta's platform limits?

No, and separating them is important. ManyChat owns plan gates and its API rate limits. Meta owns the 24-hour messaging window, message categories and templates, WhatsApp metering and messaging tiers, and delivery pacing. Meta's limits apply to every tool, so upgrading a ManyChat plan will not fix a platform-window or category rejection.

What are the WhatsApp API limits on ManyChat?

WhatsApp on ManyChat generally requires Pro, and on top of the subscription you pay Meta's per-conversation fees directly. WhatsApp also enforces template approval and messaging tiers that cap outbound reach for newer accounts. Those template and tier rules come from the WhatsApp Business Platform and apply on any provider, not just ManyChat.

How do I avoid hitting ManyChat's API limits?

Scope the Pro plan cost up front, batch and pace bulk operations with retry-with-backoff, keep External Request endpoints fast so flows do not time out, and design sends around the 24-hour window and message categories. Instrument your integration so you can tell a plan gate, a rate throttle, and a platform rejection apart and apply the right fix.

Does KlyoChat offer an API and webhooks?

Yes. KlyoChat exposes a public API and webhooks on the Business plan ($129/mo), and AI agents are included in every plan rather than sold as a separate add-on. Meta's platform limits apply to KlyoChat exactly as they do to ManyChat. Honest caveats: the API and webhooks are a Business-tier feature, and KlyoChat has no native SMS or email.

Is ManyChat's API good enough for developers?

For conversation-triggered integrations with modest call volumes and sends inside the messaging window, ManyChat's API is capable and its connector ecosystem is broad. It feels limiting mainly for high-volume, externally event-driven, or outside-window designs, and it implies a Pro subscription per page. Match the tool to the shape of your workload rather than to headline features.

manychat api limitsmanychat apimanychat integrationsmanychat webhook limitsmanychat external requestmanychat developer

Build on an inbox with API, webhooks, and AI built in

Start a free 7-day KlyoChat trial — no credit card. AI agents in every plan; public API and webhooks on Business. https://app.klyochat.com/signup