Rate Limits

To ensure high availability and fair service quality, HtmlToDoc enforces rate limits on public API endpoints.

Dynamic Rate Limiting

To ensure fair service quality, HtmlToDoc isolates API rate limits dynamically based on your account's subscription tier, request complexity, and resource footprint.

Limits by Subscription Tier

API conversions are constrained by both type-specific rates and a combined **Global Convert Cap** per minute, alongside hourly batch files generation quotas:

Subscription Tier Sync HTML/URL Sync Office Async HTML/URL Async Office Global Cap Hourly Batch Files
Free / Sandbox 10 / min 5 / min 15 / min 10 / min 20 / min 100 / hr
Starter 20 / min 10 / min 30 / min 20 / min 40 / min 300 / hr
Pro 50 / min 25 / min 75 / min 50 / min 80 / min 1,500 / hr
Business 150 / min 50 / min 200 / min 100 / min 120 / min 5,000 / hr

Quota & Limit Headers

Every successful API response includes custom headers to monitor your request limits and wallet credits balance programmatically:

Header Key Description Example Value
X-RateLimit-Limit Maximum API requests allowed in the rate limit window. 40
X-RateLimit-Remaining Remaining API requests in the current window before rate-limiting. 38
X-RateLimit-Reset UTC Unix epoch timestamp when the current rate limit window resets. 1783935293
X-Wallet-Credits Remaining prepaid credits in your wallet balance. 452
X-User-Tier The active account tier of the authenticated user. pro

Handling Rate Limit Exceptions

If your application exceeds the active rate limit or global cap of your account tier (e.g. 20 requests/minute for Free, 40 requests/minute for Starter), the server will block further requests and return a `429 Too Many Requests` HTTP response. Your application should capture this response status and implement retry-backoff algorithms.