Rate Limits
To ensure a fast and predictable experience for everyone, we limit the number of calls your integration can make to a specific environment.
Rate Limit
1000 API calls per minute per application, per environment.
We use the sliding window principle: before allowing requests, we check how many requests your integration made in the last minute. If you would exceed the limit, the request is denied with:
HTTP 429 Too Many Requests
You will be able to make requests again once the oldest request falls outside the one-minute window.
Implementing Backoff
It is essential that your application implements a backoff mechanism. After receiving an HTTP 429 error:
- Wait at least one minute before retrying
- Implement exponential backoff for repeated failures
- Log rate limit errors for monitoring
Applications that do not implement backoff and persist with excessive API calls may face further limits or, in severe cases, temporary blocking to guarantee service continuity for all users.
Best Practices
When retrieving large datasets, follow these guidelines to stay within rate limits:
- Use
$selectto fetch only the fields you need - Use
$filterto narrow down results before retrieving them - Implement proper pagination with
$topand$skipinstead of making excessive calls - Combine multiple OData parameters in a single request for efficient queries
Pagination Limits
GET requests return a maximum of 100 records per call. For larger datasets, use pagination:
GET /v1/odata/Relation_Person?$top=100&$skip=0 # First 100
GET /v1/odata/Relation_Person?$top=100&$skip=100 # Next 100
Efficient Querying Example
Instead of fetching all records and filtering client-side, let the API do the work:
GET /v1/odata/Activity_SalesOpportunity?$filter=Amount gt 5000&$select=Subject,Amount,Probability&$top=25&$orderby=Amount desc
This retrieves only the data you need in a single call, keeping your API usage efficient.