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
5000 read (GET) API calls per minute per per environment.
1000 write (POST/PUT/DELETE) API calls per minute per per environment.
We use the fixed window principle: before allowing requests, we check how many requests your integration made in a given 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 window is reset. We provide a standard Retry-After header in the response, indicating how long (in seconds) you should wait before retrying – when the rate limit is reset.
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:
Increase $skip by $top for each page (0, 100, 200, …):
/v1/odata/Relation_Person?$top={top}&$skip={skip}Efficient Querying Example
Instead of fetching all records and filtering client-side, let the API do the work:
/v1/odata/Activity_SalesOpportunity?$filter=Amount gt {amount}&$select=Subject,Amount,Probability&$top={top}&$orderby=Amount descThis retrieves only the data you need in a single call, keeping your API usage efficient.