Bloomreach Catalog API resource endpoints may globally limit the number of requests received against that resource within a given time period. This is to ensure stability and prevent unnecessary load on our systems that is outside typical product usage. In addition to the global limits, the normal product usage limits still apply, based on your plan. Different API operations may have different rate limits applied.
When an API request has been rate limited, a response status code of 429 will be returned. The 429 response includes a Retry-After header that specifies how many seconds until the request is allowed again.
For API endpoints that modify a catalog or update its index, the Catalogs UI jobs listing panel may be used to see a list of previously submitted jobs. This can be used to help determine why a particular API was rate limited.
A common scenario when a rate limit may be applied is when two or more systems are interacting with a single resource endpoint and cause excessive usage. Each individual system may be interacting with the resource under the limit, but combined usage across the systems will cause a rate limit to occur.
When developing against our APIs, consider building in retry mechanisms that respond to 429 responses and their Retry-After values. We recommend implementing retries using an exponential backoff strategy to avoid causing additional excessive requests.
Certain limits may be modified to prevent abuse. Specific limits may be increased on an account basis to allow for higher usage. If you're unsure about why you are being rate-limited and receiving 429 status codes, or if you would like to see if a limit increase can be accommodated, please contact Bloomreach Support. Our support team can also provide specific rate limit information or expected product usage limits per account.