Documentation Index
Fetch the complete documentation index at: https://docs.domshot.dev/llms.txt
Use this file to discover all available pages before exploring further.
Rate Limits
Rate limits control how many requests you can make within a time window. Each plan has a specific request limit per minute.
Limits by plan
| Plan | Requests per minute |
|---|
| Free | 10 |
| Starter | 30 |
| Growth | 100 |
| Scale | 250 |
How rate limiting works
Each API request checks your remaining allowance in the current 1-minute window:
- Request allowed → Process request and decrement remaining count
- Limit exceeded → Return
429 error with retry-after time
The 1-minute window slides continuously. Old requests drop out of the window after 1 minute, freeing up capacity for new requests.
Every API response includes headers indicating your rate limit status:
| Header | Description |
|---|
X-RateLimit-Limit | Requests per minute for your plan |
X-RateLimit-Remaining | Requests remaining in current window |
X-RateLimit-Reset | ISO timestamp when window resets |
Handling rate limits
When you exceed your rate limit, the API returns a 429 status code with the following response:
{
"error": "rate_limit_exceeded",
"errorDescription": "Rate limit exceeded. Try again at 2025-01-10T12:34:56Z",
"retryAfter": 45
}
| Field | Description |
|---|
error | Error code identifier |
errorDescription | Human-readable message with reset timestamp |
retryAfter | Seconds to wait before making another request |
Best practices
- Implement exponential backoff - Wait longer between retries when rate limited
- Respect retry-after - Use the
retry-after value to delay retries
- Monitor headers - Track
X-RateLimit-Remaining to anticipate limits
- Cache aggressively - Use cached results to avoid unnecessary requests
See also