Skip to content

Rate limits

Every app-callable operation shares one bucket per installation:

Burst 40 requests
Refill 2 requests per second
Queueing none — over-limit requests are refused, not delayed

The bucket is yours alone: another app, or the same app on another store, neither affects nor is affected by it.

When you exceed it:

HTTP/1.1 429 Too Many Requests
Retry-After: 3
{"error":"This installation exceeded its request rate. The bucket holds 40 requests and refills 2 per 1s; …"}

Retry-After is in whole seconds, at least 1. For bulk work, prefer the batch routes — one bulk update of 100 products costs one request.

POST /apps/token has its own limit: 20 requests per minute per IP address, fixed window. Over the limit you get 429 with an empty body. A correctly written app calls it about once an hour.