Skip to content

Public API v2: Rate limits

Each store has a budget of 600 points that refills at 10 points a second, shared by all its keys. Each request spends its cost; when the budget is short, the request is refused at once with 429 and Retry-After.

Request Cost
Any GET 10
Create, replace, change or delete one rule 11
bulk-upsert, bulk-delete ceil(10 + 0.4 × rules)
Price List create / replace ceil(10.4 + 0.1 × items)
Price List item routes ceil(10 + 0.1 × items)
Upload 20
  • A request costing more than 600 points is refused with 422 and costs nothing.
  • At most 10 requests of a store run at the same time; the 11th gets 429 with details[0].field = "concurrency" and costs nothing.
  • Requests refused at the key, store or permission check cost nothing. A request that passes the budget and then fails still costs its points.
  • Headers on every response that spent points: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-RateLimit-Cost; the same numbers are in meta.rate_limit, with restore_rate.
  • To sync many rules, prefer bulk requests: 250 rules cost 110 points in one call instead of 2,750 in 250 calls.