Rate Limits & Quotas
Bindery Press enforces both rate limits (requests per time window) and monthly quotas (total renders per billing period) based on your team’s plan.
| Plan | Monthly Renders | Rate (per min) | Rate (per hour) | Overage |
|---|---|---|---|---|
| Dev | 100 | 10 | 100 | Hard cap |
| Starter | 10,000 | 60 | 1,000 | Hard cap |
| Pro | 100,000 | 300 | 5,000 | Soft cap |
| Enterprise | Unlimited | 600 | 10,000 | Soft cap |
Rate Limiting
Section titled “Rate Limiting”Rate limits are enforced per team on the /v1/render endpoint. Every response includes rate limit headers:
X-RateLimit-Limit: 60X-RateLimit-Remaining: 58X-RateLimit-Reset: 1711843260When the rate limit is exceeded, the API returns:
{ "error": "Rate limit exceeded", "code": "RATE_LIMITED"}Status: 429 Too Many Requests
Header: Retry-After: <seconds>
Monthly Quotas
Section titled “Monthly Quotas”Each plan includes a monthly render allowance. Only live mode renders count against the quota. Test mode renders are unlimited.
Hard Cap vs. Soft Cap
Section titled “Hard Cap vs. Soft Cap”| Behavior | Plans | What Happens |
|---|---|---|
| Hard cap | Dev, Starter | Renders are rejected with 429 QUOTA_EXCEEDED once the limit is reached. |
| Soft cap | Pro, Enterprise | Renders continue to succeed after the limit, but usage is flagged for review. |
Quota Response
Section titled “Quota Response”When the quota is exceeded on a hard-capped plan:
{ "error": "Monthly render quota exceeded", "code": "QUOTA_EXCEEDED"}Status: 429 Too Many Requests
Checking Usage
Section titled “Checking Usage”Use the GET /v1/usage endpoint to check your current usage and remaining quota at any time.
Quota Reset
Section titled “Quota Reset”Quotas reset at the beginning of each calendar month (UTC). The reset is automatic — no action required.