Intercom's default API rate limit is 10,000 calls per minute, with 25,000 per minute across all apps in a workspace (as of Nov 2026). Private apps share the 10,000 across the workspace, while each public app gets its own 10,000. The minute is split into 10-second windows, and going over returns a 429.
A per-minute number that's enforced every 10 seconds
The headline sounds generous, and for most small teams that's fair. But the detail that trips developers up is how it's counted. The one-minute limit is distributed evenly into 10-second windows, so you can't spend the whole minute's allowance in the first few seconds. Intercom's own worked example: a limit of 1,000 per minute means a maximum of 167 operations in any 10-second period.
Apply the same sum to the defaults and you get roughly one sixth of the per-minute number in each window. For a 10,000-per-minute pool, that's about 1,667 calls every 10 seconds. A bulk job that fires everything at once will be throttled even though, over the full minute, it's well inside the limit.
The default limits
| Who | Limit | Applies to |
|---|---|---|
| Private apps | 10,000 calls per minute per workspace, shared | All private apps in a workspace |
| Public apps | 10,000 calls per minute per app | Each public app |
| All apps combined | 25,000 calls per minute per workspace | Every workspace |
| Window size | 10 seconds, one sixth of the per-minute limit | All apps |
| Canvas Kit webhook requests | Not rate limited | Canvas Kit |
Rate limits apply only to REST API calls. Webhook requests sent as part of the Canvas Kit capabilities aren't counted.
Private apps share one pool
The Intercom Developer Hub makes a distinction that matters as soon as you run more than one integration. Private apps share a single 10,000-per-minute pool across the whole workspace, so adding a second private integration eats into the first one's allowance. Public apps each get their own separate 10,000. And everything together can't go past 25,000 a minute for the workspace.
In practice: if your developer builds a private sync for your CRM and another private app for reporting, they're splitting one allowance of calls. Give the heavy one a schedule that leaves room for the other.
Reading the headers, and when they're missing
Authenticated responses carry three headers:
- X-RateLimit-Limit: the per-minute limit divided by 6 and rounded to the nearest whole number, so it shows your 10-second allowance.
- X-RateLimit-Remaining: what's left in the window. It drops to 0 once either your app's limit or the workspace's limit is reached.
- X-RateLimit-Reset: when the window resets, as a UNIX timestamp.
Here's the catch. Not every 429 response includes these headers, and they aren't sent at all when a request has no valid credentials. So code that backs off only by reading X-RateLimit-Reset will crash or spin on a 429 without one. Always have a fallback wait for that case.
What a 429 from Intercom looks like
Going over returns 429 Too Many Requests with the error code rate_limit_exceeded and a message such as Exceeded rate limit of 167 in 10_seconds. That message tells you the window size you hit, which is useful when you're working out whether it was your app or the shared pool.
If the defaults aren't enough, Intercom says to contact them through the messenger to ask about higher limits. For monitoring your integrations before they fail, see my roundup of API monitoring tools, and if you're polling for changes, my explainer on APIs versus webhooks shows the lighter option.
How HubSpot and Trello compare
HubSpot limits private apps to 100 requests per 10 seconds per app on Free and Starter accounts, and 190 on Professional and Enterprise.
Want AI doing the heavy lifting in your marketing?
I build the systems that handle the boring 80 percent, so you get your week back. Done properly, with the human kept in.
Trello limits requests to 300 per 10 seconds per API key and 100 per 10 seconds per token.
If you're weighing support platforms more broadly, my list of Intercom alternatives covers the field.
My advice for teams building on Intercom
Spread work evenly across the minute rather than in bursts, and count every private app against the same shared pool. Read X-RateLimit-Remaining when it's there, but always handle a 429 that arrives without headers. For most small businesses the defaults are plenty; it's the way calls are bunched, not the total, that causes trouble.
Want your tool on this list? Featured spots and reviews here are paid partnerships. Here's how to partner with me.
Frequently asked questions
What's the Intercom API rate limit?
10,000 calls per minute for private apps per workspace and for each public app, with 25,000 per minute per workspace across all apps.
How is the limit measured?
Per minute, but distributed into 10-second windows, so about one sixth of the per-minute limit in each window.
What error do I get?
429 Too Many Requests with the code rate_limit_exceeded.
How can I see how many requests are left?
Read the X-RateLimit-Remaining header, though not every 429 includes headers.
Can the limit be raised?
Intercom says to contact them through the messenger if you need more than the defaults.


