Docs
Dashboard
View as Markdown

Rate limits

Fixed windows per key, shared by every API server, with Retry-After on every 429.

What Limit Window
Requests per API key 600 1 minute
Requests per OAuth connection 600 1 minute
OAuth token endpoint, per IP 60 1 minute
Checkouts per IP 30 1 minute
Checkouts per buyer email 30 1 hour
Plugin test runs per store 120 1 minute
Callbacks per payment plugin 300 1 minute

Limits are counted in Postgres, so every API server shares one window: spreading requests across servers does not reset them.

A limited request answers:

HTTP/1.1 429 Too Many Requests
Retry-After: 17
Content-Type: application/problem+json

{"type":"https://shopfa.st/problems/rate-limited","title":"Too many requests","status":429,"detail":"This API key sent too many requests. Slow down and retry after the delay.","fields":[]}

Wait Retry-After seconds, then retry. For bulk work, pace yourself at about 8 requests per second per key and page with limit=100. Limited requests appear in the key’s request log with status 429.

Was this page helpful?