Rate limiting is how many HTTP requests can be made in a given period of seconds or minutes to an API endpoint before being blocked.
Warning
It's important your API client takes into account the 429 status code and the rate limit headers to implement a retry mechanism depending on the values returned. Otherwise you may experience data loss.
The Splio's API Rate Limiting is based on the API Client's IP Address
In case the limit is reached, Splio's APIs returns an HTTP/1.1 429
status code with the following JSON body and specific headers described bellow.
{ "message": "API rate limit exceeded" }
Headers sent to the API client
The headers shows the allowed limits, number of available requests, and the time remaining (in seconds) until the quota is reset.
Here’s an example headers :
rateLimit-limit: 6 // allowed limits
rateLimit-remaining: 4 // number of available requests
rateLimit-reset: 47 // time remaining in seconds until the quota is reset
Additional headers show the time limit and the minutes still available :
x-rateLimit-limit-minute: 10 // time limit
x-rateLimit-remaining-minute: 9 // minutes still available
General Rate Limiting
Category | Endpoint | Rate Limiting per second |
---|---|---|
Contact | data/contacts | 20 RPS |
Sales Data | data/v{x}/orders data/v{x}/products data/v{x}/stores | 20 RPS |
All other endpoints | 10 RPS |
RPS: HTTP requests per second