Skip to content

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/min
Basic200 requests/min
Core500 requests/min
Plus5,000 requests/min · response caching
EnterpriseCustom (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 limit
X-RateLimit-RemainingRequests remaining in the current window
X-RateLimit-ResetWhen the current window resets

Abuse 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.