Advanced
Rate Limits & Quotas
Limits apply per account (user id), not per IP, which keeps NAT and multi-tenant apps safe. Each plan combines a per-minute rate limit with a monthly request quota; see the pricing page for current quotas.
Per-minute rate limits by plan
Free10 requests/minBasic200 requests/minCore500 requests/minPlus5,000 requests/min · response cachingEnterpriseCustom (negotiated)Rate-limit headers
Rate-limited (429) responses include headers you can use for client-side backoff.
Response headers
X-RateLimit-LimitYour plan’s per-minute request limitX-RateLimit-RemainingRequests remaining in the current windowX-RateLimit-ResetWhen the current window resetsAbuse protection & commercial use
- Commercial use requires Plus or Enterprise. Send X-API-Usage-Type: commercial only when your app is a commercial product.
- Plus and Enterprise GET search/food responses may be cached for 5 minutes per account (Redis).
Limit-related status codes
Status codes
429Per-minute rate limit exceeded. Back off and retry after X-RateLimit-Reset.402Monthly quota exceeded. Upgrade your plan or wait for the billing cycle reset.403Commercial use not allowed on your plan, the endpoint is not enabled for your plan, or a food-coverage limit was reached.423Account temporarily on a security hold due to unusual activity (distinct from a ban; self-heals on expiry). Not retryable; contact support to restore access.Frequently asked questions
Do rate limits apply per API key or per account?
Per account (user id). Creating multiple keys under one account does not increase your limits.
How do I raise my limits?
Upgrade your plan from the dashboard, rate limit and quota changes take effect immediately. Enterprise plans negotiate custom limits.
