Rate Limits
To ensure fair use and platform stability, the GraphQL Storefront API enforces rate limits based on a complexity score. Each request is assigned a complexity value depending on the type and amount of data requested. The default complexity limit is 1000 per client within a short time window.
Finqu aims to keep rate limits as high as possible to support normal and legitimate usage. These limits are primarily in place to prevent abuse or malicious activity, not to restrict typical application or storefront operations.
How Rate Limiting Works
- Each query is evaluated for its complexity. More complex or data-intensive queries consume more of your limit.
- If your requests exceed the allowed complexity threshold, you will receive a rate limit error response and must wait before making additional requests.
- If the rate limit is exceeded, the API responds with a 429 (Too Many Requests) status code.
- No rate limit headers are returned in the response. You will only be notified if you exceed the limit.
Example error response:
{
"errors": [
{
"message": "Rate limit exceeded. Please try again later.",
"locations": [],
"path": [],
"extensions": {
// Additional error details may be provided here
}
}
],
"_httpStatusCode": 429
}
Best Practices
- Optimize your queries to request only the data you need.
- Avoid making unnecessary or repetitive requests.
- If you encounter rate limit errors, reduce your request frequency or query complexity.
If you believe your application has legitimate needs that require higher limits, please contact support to discuss your use case.
Last updated on