Rate Limits
Understand API request quotas, throttling behavior, and how to handle rate-limit errors.
All API requests are rate-limited based on your plan. Limits protect the service and ensure fair usage across all users.
Conversion limits
| Plan | Documents / day | Documents / month |
|---|---|---|
| Free | 5 | Unlimited |
| Pro | 100 | 3,000 |
| Business | 1,000 | Unlimited |
| Enterprise | Unlimited | Unlimited |
Each file processed counts as one document. A ZIP archive with 10 HTML files counts as 10 documents.
Google Docs export limits
| Plan | Exports / day | Concurrent exports |
|---|---|---|
| Free | 0 | 0 |
| Pro | 50 | 1 |
| Business | 500 | 3 |
| Enterprise | Unlimited | 10 |
Reset schedule
All daily limits reset at midnight UTC (00:00 UTC). Monthly limits reset on the first day of each calendar month.
Rate-limit headers
When you approach or exceed your limit, the API includes these response headers:
| Header | Description |
|---|---|
X-RateLimit-Limit | Your plan's daily document quota |
X-RateLimit-Remaining | Documents remaining for the current day |
X-RateLimit-Reset | UTC timestamp when the limit resets |
Handling 429 errors
When you exceed your rate limit, the API returns a 429 Too Many Requests response:
json
{
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Daily conversion limit reached (5 for Free plan)"
}
}Best practices
- Check headers before each request to avoid hitting the limit
- Implement backoff — wait until the
X-RateLimit-Resettimestamp before retrying - Batch wisely — upload ZIP archives instead of individual files to reduce request count (each file in the ZIP still counts as a document, but you only need one API call)
- Upgrade your plan if you consistently hit limits
Anonymous limits
Without authentication, you can convert up to 3 single HTML files per day (1 MB max each). Sign in and use an API token for higher quotas.
Next steps
- File Conversion — API endpoint reference
- Plans & Limits — compare plans and upgrade