- Two meters run at once on every HubSpot call
- Request allowances by app type and account tier
- Reading the 429 and the rate limit headers
- A second integration can eat the first one's allowance
- Ways to stay under the ceiling
- How three other work apps cap their APIs
- My verdict for anyone running several integrations
- Frequently asked questions
HubSpot limits private apps to 100 requests per 10 seconds per app on Free and Starter, and 190 on Professional and Enterprise, with daily caps of 250,000, 625,000 and 1,000,000 per account. Public OAuth apps get 110 requests per 10 seconds per installing account. Go over either limit and HubSpot returns a 429 error.
Two meters run at once on every HubSpot call
If your sync suddenly starts failing halfway through a big import, the cause is usually one of two limits. HubSpot counts a short burst window of 10 seconds and a daily total, and they're counted differently. The burst limit applies to each app on its own. The daily limit is shared across every app in the same HubSpot account. These are the limits on HubSpot's usage details page as of Nov 2026, and they do change, so check that page before you plan a big job.
Request allowances by app type and account tier
| Item | Limit | Applies to |
|---|---|---|
| Public OAuth app | 110 requests per 10 seconds per installing account (excludes CRM Search API) | Legacy public apps and listed OAuth apps |
| Private app burst | 100 per 10 seconds per app | Free and Starter |
| Private app burst | 190 per 10 seconds per app | Professional and Enterprise |
| Private app daily | 250,000 / 625,000 / 1,000,000 per account | Free and Starter / Professional / Enterprise |
| Private app with API limit increase | 250 per 10 seconds per app, plus 1,000,000 a day per account on top of the base | All tiers, up to two increases |
| Custom event completions endpoint | 1250 requests per second | Custom events |
Some APIs play by their own rules. The Associations API, the CRM Search API and the GraphQL API have limits that are separate from, or stricter than, the general ones above. If your integration leans on search, read the CRM Search API section on its own.
Reading the 429 and the rate limit headers
When an app goes over a limit, HubSpot returns a 429 response for every call after that. The message and the policyName in the response tell you whether you hit the daily limit or the per-second one, which decides what to do next.
- Burst limit hit: slow down and retry after a short pause. The window is only 10 seconds.
- Daily limit hit: waiting a few seconds won't help. The daily limit resets at midnight, based on the time zone setting in your account.
You don't have to wait for the error to find out where you stand. Responses include headers such as X-HubSpot-RateLimit-Max, X-HubSpot-RateLimit-Remaining and X-HubSpot-RateLimit-Interval-Milliseconds, so your code can slow itself down before it hits the wall. The daily headers aren't included on OAuth-authorised requests, so public apps need to track their daily use another way.
HubSpot also asks that error responses stay under 5% of total daily requests. For apps listed in HubSpot's app directory, staying under that is a condition of certification.
A second integration can eat the first one's allowance
The HubSpot developer docs set this out plainly, and it's the thing that bites small businesses. Because the daily limit is shared across every private app in an account while the burst limit is per app, a second integration can use up the daily allowance of the first. You add a new reporting tool, it pulls everything every hour, and suddenly your form sync stops in the afternoon.
The API limit increase doesn't help everyone either. It raises limits for private apps, but it does nothing for legacy public apps or listed OAuth apps on the latest developer platform versions.
Ways to stay under the ceiling
- List every private app in the account and roughly how many calls each one makes a day, because they all share one daily pot.
- Read the rate limit headers on every response and pause when Remaining gets low.
- Move work that doesn't need the API into workflows. Webhook calls made through workflows don't count towards the API rate limit, and my collection of HubSpot workflow recipes has ideas.
- Treat search, associations and GraphQL as separate allowances of their own, given their stricter limits.
- If a private app still runs short, consider the API limit increase, which allows up to two increases.
How three other work apps cap their APIs
Intercom sets a default private-app limit of 10,000 API calls per minute per workspace, shared by all private apps.
Trello allows 300 requests per 10 seconds per API key and 100 per 10 seconds per token.
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.
Asana measures its limit over minute-long windows: 150 requests per minute on free domains and 1,500 on upgraded domains.
My verdict for anyone running several integrations
Think of the daily cap as one shared allowance for the whole account, not one per app. Before you add another integration, check what's already drawing on it, build your code to read the headers, and push anything you can into workflows. If you're setting up the account from scratch, my HubSpot setup checklist is a sensible place to start.
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 is the HubSpot API rate limit?
For private apps it's 100 requests per 10 seconds on Free and Starter and 190 on Professional and Enterprise, plus a daily account cap. Public OAuth apps get 110 per 10 seconds per installing account.
What happens if I exceed it?
HubSpot returns a 429 for all subsequent calls, naming whether the daily or the secondly limit was hit.
When does the daily limit reset?
At midnight, based on your account's time zone setting.
Can I raise the limit?
Private apps can add the API limit increase, up to two times. It doesn't raise limits for listed OAuth apps.
How do I check my usage?
Super Admins can review API call usage, and response headers show the remaining requests in the current window.

