Default limits
| Bucket | Endpoints | Default limit |
|---|---|---|
| Default | GET /leads, POST /leads, and the lead-webhooks management routes | 60 / minute and 1,000 / hour |
| Bulk | POST /leads/bulk | 10 / minute |
Response headers
Every response (success and error) carries:| Header | Meaning |
|---|---|
RateLimit-Limit | The limit for the reported window. |
RateLimit-Remaining | Requests remaining in that window. |
RateLimit-Reset | Seconds until the window fully refills. |
When you exceed a limit
You get429 Too Many Requests with a Retry-After header (seconds) plus the RateLimit-* headers and the standard error body:
Best practices
- Back off on 429 using
Retry-After(with jitter). Don’t hammer. - Poll incrementally with cursor pagination +
updated_sincerather than re-scanning everything. - Batch writes with the bulk endpoint (up to 500/request) instead of many single creates.