API rate limits explained
KoalaPic uses rate limiting to ensure fair access for all users.
Rate limit tiers
| Tier | Per Minute | Per Day |
|---|---|---|
| Authenticated (API key) | 30 | 500 |
| Anonymous (no key) | 10 | 50 |
How it works
Every API response includes rate limit headers:
X-RateLimit-Limit-Minute— Your per-minute quotaX-RateLimit-Remaining-Minute— Requests remaining this minuteX-RateLimit-Limit-Day— Your daily quotaX-RateLimit-Remaining-Day— Requests remaining todayRetry-After— Seconds to wait (only on 429 responses)
What happens when you exceed limits
- First offense: You get a
429 Too Many Requestsresponse with aRetry-Afterheader. - Repeated violations: Temporary blocks escalate from 1 minute to 5 minutes to 15 minutes.
- Persistent abuse: Automatic 24-hour ban.
Tips to avoid rate limits
- Use webhooks instead of polling — you’ll get notified when conversions complete.
- Batch your requests using the batch conversion endpoint, or the bulk converter for up to 50 URLs at a time.
- Cache results — don’t re-convert the same file.
- Use an API key — it gives you 3x the anonymous limit.
Download limits
Downloads have separate limits: 30 per minute per IP and 10 per token lifetime (2-hour TTL). These prevent abuse of the download endpoints specifically. Current quotas and the live headers are documented in the API reference, and the API status page shows whether limits are being applied unusually.
Thanks for your feedback!