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
| Tier | Per month | Per minute | Price |
|---|---|---|---|
| FREE | 1,000 | 10 | €0 |
| STARTER | 50,000 | 60 | €9.99 |
| GROWTH | 500,000 | 300 | €49.99 |
| SCALE | 5,000,000 | 1,000 | €149.99 |
Counting
- Each authenticated call to
/v1/products/*increments the counter by 1. 404responses 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
429responses increment only the burst counter; monthly-quota429s do not increase monthly usage further. - Public
/v1/statscalls 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: 49873These 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.