Rate limits & quotas
Per-second rate limits
Each API key is limited per second based on its plan. Exceeding it returns 429 rate_limited with a Retry-After header.
| Plan | Requests/second | Included renders/month | Overage |
|---|---|---|---|
| Free | 1/s | 100 | Hard stop |
| Hobby | 3/s | 2,000 | $0.009/render |
| Startup | 5/s | 10,000 | $0.005/render |
| Growth | 10/s | 50,000 | $0.003/render |
| Scale | 20/s | 200,000 | $0.002/render |
Monthly quotas
- All three products share one pool. A screenshot, a PDF, and an OG image each cost 1 render.
- Cache hits are free — they don't touch the quota.
- Failed renders are not billed.
- The free plan stops hard at 100 renders (
402 quota_exceeded). - Paid plans run into metered overage. A spend cap (4× included renders by default) returns
429 spend_cap_reachedso a runaway loop can't surprise-bill you. Raise it from the dashboard if you need more headroom.
Check usage anytime: GET /v1/usage.