REST API Overview

Rate limits and quotas

Bentley cloud services are used by many applications. We define rate limits and quotas for our APIs in order to make sure that they perform well for all applications. The limits indicate how many times an application can call an API or endpoint within a given time period. The limits are designed to be reasonable for normal operation while limiting abusive applications.

Rate limits - general

In most cases, rate limits are determined by the iTwin Platform subscription associated with the OAuth client that the client application is using. Please also note that in addition to a rate limit, Trial subscriptions also have a cap of 5000 calls per hour.

Rate limits by subscription:

Subscription tier
Number of requests
per time period
Trial
500
minute
Basic
5000
minute
Premium
5000
minute
Custom
5000
minute

Rate limits - API-specific

APIs may further restrict the number of requests allowed in a given time period. This will generally be done only on specific operations but can apply to an entire API. Please look for this information as part of the API's Reference documentation.

Programmatically determine rate limit information

In your application or service, you may want to be able to gracefully handle a request that is rejected due to exceeding a rate limit. There are a few different possibilities that one may encounter here. This guide should cover the majority of cases.

Rate limited by the iTwin Platform

When a rate limit is encountered, a HTTP 429 - Too Many Requests response will be returned. In addition to the standard Retry-After response header, some additional headers will be added to aid you in understanding why the rate limit occurred. You could, for example, use this information to provide custom messaging in your UI or use it in log messages.

Header name
Description
Retry-After
HTTP standard header. Value is the amount of seconds for the client to wait until making next request.
ITwinPlatform-RateLimited-Tier
The name of the application tier that caused the rate limiting
ITwinPlatform-RateLimited-API
The name of the API that caused the rate limiting
ITwinPlatform-RateLimited-Operation
The name of the API operation that caused the rate limiting
ITwinPlatform-RateLimited-Application
The client_id of the application was rate limited

Rate limited by a service on which the API depends

APIs may depend on additional services. Ideally, the API reference documentation should take this into account and document the strictest rate limit of any service upon which it depends. If you are reading this section of the documentation, you probably already know that services upon which one is dependent may change. We will always strive to keep documentation about rate limits up-to-date. However, we would encourage you to also rely on the standard Retry-After header in your application/service. If you encounter a rate limit and find that documentation about it is incorrect or missing, please let us know.