Rate Limits
To ensure stability and accessibility for all users of our GraphQL API, we have implemented protective measures in the form of Rate Limits on incoming requests.
Rate Limits
Access to our GraphQL API is managed through a rate-limiting mechanism based on a calculated point value. This value is assigned to each request and adjusts dynamically based on the complexity of the query it contains. For example, requests that perform intricate operations such as aggregations or fetch extensive amounts of data are assigned a higher cost. Therefore, it’s crucial to limit your queries to only the specific data you need to use. A maximum limit has also been put in place for the total number of points that can be consumed by an application or a single request within a one-minute timeframe.
Important:
- The standard rate limit for application requests is set to 6000 points per minute. If you need a higher rate limit, please get in touch with our support team.
- Each individual request is limited to 1000 points per query. Any queries that exceed this limit will not be processed. Please ensure your requests are within these specified limits.
How to calculate the Point Value of a query
The point associated with a query is calculated by adding up the points of each field within the query. This calculation is dependent on the type of the field returned. The following points are the default values allocated to each type. However, it’s important to note that the point values for specific individual fields may vary, being either higher or lower.
Default values:
Following are the default point values. Specific individual fields can be more or less expensive.
Field Returns | Point Value |
---|---|
Query | 10 |
Object | 1 |
Scalar | 0 |
Enum | 0 |
Interface | Maximum point value of all implementations |
Union | Maximum point value of all implementations |
Results | Sized according to the returned pagesize |
Mutation | 10 |
Exceeding the Rate Limit
If you exceed the maximum permitted rate limit, the API will not return data. Instead, it will return an error. This error will be returned in a 429 HTTPS Response, with the following content:
Exceeding the rate limit example:
{
"errors": [{
"message": "Query point value per minute quota exceeded with point value 231 and remaining quota 69. Please try again later.",
"extensions": {
"code":"GRAPHQL_VALIDATION_FAILED"
}
}]
}
Exceeding the Maximum Allowed Query Point Value
If you exceed the maximum permitted query point value, the API will not return data. Instead, it will return an error. This error will be returned in a 400 HTTPS Response, with the following content:
Exceeding the query point value example:
{
"errors": [{
"message": "Query point value 1231 exceeds maximum allowed query point value 1000. To reduce point value, consider setting a lower pagination limit or reducing the number of fields requested.",
"extensions": {
"code":"GRAPHQL_VALIDATION_FAILED"
}
}]
}
Knowing the point value of a query
We are planning to include this information in the response in the near future. Therefore, we recommend revisiting this section periodically for updates.