Documentation

Fix Shopify 429 Errors

Admin REST and GraphQL storefront APIs

Why Shopify returns 429

Shopify enforces strict upstream quotas. When your integration exceeds permitted throughput, the API responds with HTTP 429 and rate-limit headers that signal how long to wait before retrying.

  • Inventory sync jobs exceed the leaky-bucket REST quota.
  • Webhook processors replay orders without respecting Retry-After.
  • Multi-store integrations share one app credential and collide on the same bucket.

Shopify rate-limit headers

Monitor these response headers to detect quota exhaustion before users see failures. Official reference: Shopify rate limit documentation.

HeaderMeaning
X-Shopify-Shop-Api-Call-LimitBucket usage in the form current/limit (e.g., 32/40) for REST Admin API calls.
Retry-AfterRecommended wait time in seconds before the next request.
X-Request-IdUnique request identifier useful for correlating throttled calls in logs.

Default Shopify limits

Requests per minute
40
Throttle status code
429

Drop-in fix with ThrottleProxy

ThrottleProxy serializes Shopify Admin API traffic per workspace, respects Retry-After semantics, and prevents sync workers from draining your shared bucket during flash sales.

curl "https://proxy.throttleproxy.com/proxy?target=https://api.example.com/v1/resource" \
  -H "Authorization: Bearer YOUR_API_KEY"

ThrottleProxy queues eligible bursts, enforces workspace RPM ceilings, and surfaces privacy-safe request activity so teams can understand pressure before increasing traffic to Shopify.

Start Setup →

More rate-limit guides