Rate Limits
NutrientAPI uses two types of limits: request rate limits (requests per second) and monthly recipe quotas.
Limits by Plan
| Plan | Requests/Second | Recipes/Month | Price |
|---|---|---|---|
| Free | 3 | 100 | $0 |
| Pay-as-you-go | 10 | Unlimited | $0.005/recipe |
| Max | 25 | 25,000 included | $99/mo + $0.003/recipe overage |
How Rate Limiting Works
Request Rate Limits
Request rate limits are enforced per API key using a sliding window. If you exceed your plan's requests-per-second limit, you'll receive a 429 Too Many Requests response.
{
"error": "rate_limit_exceeded",
"message": "Rate limit exceeded. Maximum 3 requests per second on Free plan.",
"retry_after": 1
}
The response includes a Retry-After header indicating how many seconds to wait before retrying.
Monthly Recipe Quotas
The Free plan has a 25 recipe/month quota. Pay-as-you-go and Max plans have no monthly quota — usage is unlimited. On the Free plan, exceeding the quota returns a 429 response:
{
"error": "quota_exceeded",
"message": "Monthly recipe quota exceeded. 25/25 recipes used.",
"quota_resets_at": "2026-05-01T00:00:00Z"
}
On pay-as-you-go plans, if you've set a spending cap in your dashboard, reaching that cap will also return a 429 response until the next billing cycle.
Response Headers
Every API response includes headers to help you track your usage:
| Header | Description |
|---|---|
X-RateLimit-Limit |
Maximum requests per second for your plan |
X-RateLimit-Remaining |
Requests remaining in current window |
X-Quota-Limit |
Monthly recipe quota for your plan |
X-Quota-Used |
Recipes used this month |
X-Quota-Remaining |
Recipes remaining this month |
Best Practices
Use Caching
Unlike some competitors, NutrientAPI allows you to cache all API responses with no restrictions. If you're analyzing the same recipes repeatedly, cache the results to reduce API calls and improve response times.
Handle 429 Responses
Implement exponential backoff when you receive rate limit errors. Start with the Retry-After header value and increase the delay on subsequent retries.
Batch Wisely
Each recipe can contain up to 50 ingredients in a single API call. Send all ingredients for a recipe in one request rather than making separate calls per ingredient.
Monitor Usage
Check the X-Quota-Remaining header to monitor your monthly usage and upgrade your plan before hitting limits.