Rate Limit
A rate limit restricts how many API requests a client may make within a defined period or according to another usage rule.
Rate limits help protect services from excessive load and misuse.
What It Means in Practice
An API might allow:
1,000 requests per hour
or apply different limits based on:
- Authentication
- Endpoint
- Account
- Subscription tier
- Type of operation
- Request cost
GitHub, for example, applies documented primary and secondary limits to its REST API. GitHub REST API rate-limit documentation
What Happens When the Limit Is Reached
An API may respond with an HTTP Status Code such as:
429 Too Many Requests
or another provider-specific response.
Some APIs return headers explaining:
- Limit
- Remaining requests
- Reset time
- Retry timing
GitHub's documentation recommends respecting these values rather than continuing to send requests after the limit has been reached. GitHub rate-limit guidance
Why It Matters
A small integration may never approach its rate limit.
A large synchronization job might.
Common high-volume situations include:
- Importing many records
- Polling
- Synchronizing catalogues
- Fetching analytics
- Processing large account lists
- Rebuilding external indexes
Common Problems
Common problems include:
- Ignoring rate-limit headers
- Retrying immediately
- Polling unnecessarily
- Sending many requests concurrently
- One integration consuming the quota for another
- Fetching records individually when batch operations exist
How to Improve
Design the integration around the documented limit.
Use:
- Webhooks instead of unnecessary polling
- Caching
- Pagination
- Batch operations
- Backoff and retry rules
- Conditional requests
Monitor usage when the integration is operationally important.