Skip to main content

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:

  1. Wait at least one minute before retrying
  2. Implement exponential backoff for repeated failures
  3. Log rate limit errors for monitoring
warning

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 $select to fetch only the fields you need
  • Use $filter to narrow down results before retrieving them
  • Implement proper pagination with $top and $skip instead 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, …):

GET/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:

GET/v1/odata/Activity_SalesOpportunity?$filter=Amount gt {amount}&$select=Subject,Amount,Probability&$top={top}&$orderby=Amount desc

This retrieves only the data you need in a single call, keeping your API usage efficient.