This is the documentation for 2021-02-23 but the latest version is 2022-02-01. You can switch versions in the menu.

Rate Limit

The number of requests that can be made through the API is currently limited to 5000 requests per hour.

The rate limiting information is contained within the response headers of each request.

If the X-RateLimit-Remaining 0 is reached, subsequent requests receive a 429 error code until the X-RateLimit-Reset is reached.

Headers

Header Name Description
X-RateLimit-Limit The number of requests that can be made per hour.
X-RateLimit-Remaining The number of requests that remain before you hit your request limit.
X-RateLimit-Reset This represents the time when the oldest request will expire. The value is given in UTC epoch seconds.

If you exceed your rate limit, you can likely fix the issue by caching API responses and using Conditional Request.

Examples

Rate Limit not reached

Request

GET /orders HTTP/1.1

Response

X-RateLimit-Limit: 5000
X-RateLimit-Remaining: 4954

{
    "data": [
        {
            "id": 1,
            "is_test": true,
            "first_name": "John",
            "last_name": "Doe",
            "company": null,
            "addresses": [],
            "created_at": "2017-09-28T08:40:44+00:00",
            "updated_at": "2017-09-28T08:40:44+00:00",
            ....
        }
    ]
}

Rate Limit reached

Request

GET /orders HTTP/1.1

Response

GET /orders HTTP/1.1 429 Too Many Requests
X-RateLimit-Limit: 5000
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1377013266

{
    "message": "Too many attempts."
}