ShelfBase

Rate limits & quotas

Two limits run in parallel: a monthly request quota tied to your plan, and a per-minute rate ceiling. Hitting either returns 429.

Tier limits

TierPer monthPer minutePrice
FREE1,00010€0
STARTER50,00060€9.99
GROWTH500,000300€49.99
SCALE5,000,0001,000€149.99

Counting

  • Each authenticated call to /v1/products/* increments the counter by 1.
  • 404 responses consume quota because quota is incremented after valid authentication and before the endpoint handler runs.
  • Missing or invalid keys do not consume monthly quota. Per-minute 429 responses increment only the burst counter; monthly-quota 429s do not increase monthly usage further.
  • Public /v1/stats calls do not consume quota.
  • Counters are per-key. Your total monthly usage is the sum across all your keys.
  • Monthly counter resets at the start of each calendar month (UTC).
  • Per-minute counter resets every wall-clock minute (UTC).

Response headers

Every authenticated response includes:

X-RateLimit-Limit:     50000
X-RateLimit-Remaining: 49873

These reflect your monthly quota under your current plan. There is no header for the per-minute counter — handle 429 with a back-off.

When you hit a limit

You will receive 429 Too Many Requests with a body like:

{
  "error": "Monthly quota exceeded.",
  "limit": 1000,
  "tier": "FREE"
}

For per-minute hits, a Retry-After: 60 header is included.

Upgrading mid-month

Upgrades take effect immediately. Your monthly counter is not reset — the new ceiling applies to the existing count. Example: you have 950 of 1,000 used on Free; upgrading to Starter immediately makes 49,050 available for the rest of the month.