API Rate Limiting
Testiny uses a rate limiting system known as "base and burst-based" rate limiting.
This method permits a specific number of requests (referred to as the "base rate") over a defined period of time, in addition to an additional capacity (referred to as the "burst capacity") that can be utilized on a temporary basis on our API endpoints.
For reasons of simplicity, only the total rate limit values for the respective time windows are presented here.
Working with the Testiny rate limiting
The recommended procedure is to roughly follow the rate limit and wait for a short amount of time after receiving a 429
HTTP response code. Then resend the request and continue with a lower request rate. If you reach the rate limit again and receive another 429
response, wait again, reduce the request rate further and repeat these steps until you no longer receive a 429
response.
Testiny API Rate Limits
The rate limits are the same for all accounts by default.
Common API Calls
API Action | Rate Limit | Rate Limiting Time Window |
---|---|---|
Read data | 1100 req | 1 minute |
Write data | 270 req | 6 minutes |
Blob download | 3000 req | 10 minutes |
Blob upload | 3200 req | 30 minutes |
Export data | 350 req | 1 hour |
Bulk or Batch API Calls
These API calls allow you to modify or retrieve multiple entities at once. For better performance, please use these actions instead of the single-data actions above if you'd like to retrieve or send multiple entities at once.
API Action | Rate Limit | Rate Limiting Time Window |
---|---|---|
Bulk - Read data | 1100 req | 1 minute |
Bulk - Write data | 960 req | 12 minutes |
Data batch ops | 132 req | 1 minute |
How the Testiny Rate Limiting Operates
-
Base Rate: This is the steady-state limit that defines how many requests a client can make in a typical scenario within a time window (e.g., per minute, per hour, ...).
-
Burst Capacity: This allows clients to exceed the base rate for short periods. The burst capacity is a higher value than the base in a shorter burst time window.
-
Rate Limiting Algorithm: The server internally tracks the number of requests from your client. Once the base rate limit is reached, the burst capacity is used. When the burst capacity is exhausted, further requests are denied until the burst rate limit window resets.
When the rate limit is exceeded, HTTP status code429
is returned.
Please note: There are various other specific internal rate limits (such as importing a demo project) that are not disclosed to the public.
Increasing Rate Limits
Testiny can customize the rate limits to suit your individual needs. Customized rate limits are included in the Enterprise plan. Please contact us if you require higher rate limits.