Skip to content

Rate limits

Every call counts against a limit, per customer across all your keys, in calendar minutes. These are the limits in force now.

GET /account, GET /checkers, GET /orders, GET /orders/{id}
60 a minute
GET /orders/{id}/results
30 a minute
POST /uploads
10 a minute
POST /estimates
10 a minute
New orders with POST /orders
10 a minute
Task parts unfinished at once, from the API
20 at once
Requests with a wrong key, per IP address
20 a minute

What an answer can tell you

These can be absent, for example on a repeated order, so do not require them.

  • RateLimit-Limit: the limit for this kind of call.
  • RateLimit-Remaining: how many are left this minute.
  • RateLimit-Reset: the seconds until the count starts again.

When you go over

You get 429 rate_limited with Retry-After, the seconds to wait. This request did nothing and charged nothing. Wait that long and send it again, with the same Idempotency-Key if it is an order.

Retries

Repeating an order that is already placed, or one that passed these limits and lost its answer, does not count against the order limit, so a safe retry is not refused for being a retry. All requests to place an order are also held to six times the order limit, and at least 60 a minute.

Open orders

A large order is several task parts, one for each 1,000,000 entries. Over the limit on open parts you get 429 too_many_open_orders: wait until some have finished. A single large order can go over the limit when you have nothing else open.

Need more?

Contact us with what you are building.

On this page