CRM, marketing, and automation APIs
Why HubSpot returns 429
HubSpot enforces strict upstream quotas. When your integration exceeds permitted throughput, the API responds with HTTP 429 and rate-limit headers that signal how long to wait before retrying.
- CRM enrichment pipelines spike during business hours and hit secondly limits.
- Bulk contact imports ignore daily remaining headers.
- Multiple microservices share one private app token without central throttling.
HubSpot rate-limit headers
Monitor these response headers to detect quota exhaustion before users see failures. Official reference: HubSpot rate limit documentation.
| Header | Meaning |
|---|---|
X-HubSpot-RateLimit-Daily | Daily request ceiling for the portal (format: limit;remaining). |
X-HubSpot-RateLimit-Daily-Remaining | Remaining daily requests before HubSpot returns 429. |
X-HubSpot-RateLimit-Secondly | Per-second burst limit for the portal. |
X-HubSpot-RateLimit-Secondly-Remaining | Remaining requests in the current one-second window. |
Retry-After | Milliseconds or seconds to pause before retrying throttled calls. |
Default HubSpot limits
- Requests per minute
- 100
- Requests per day
- 250,000
- Throttle status code
- 429
Drop-in fix with ThrottleProxy
Centralize HubSpot API access through ThrottleProxy to cap secondly bursts, track daily consumption, and alert workspace admins before quotas are exhausted.
curl "https://proxy.throttleproxy.com/proxy?target=https://api.example.com/v1/resource" \ -H "Authorization: Bearer YOUR_API_KEY"
ThrottleProxy queues eligible bursts, enforces workspace RPM ceilings, and surfaces privacy-safe request activity so teams can understand pressure before increasing traffic to HubSpot.
Start Setup →