# Rate Limit Exceeded

Too many requests have been sent in the current time window. The API enforces rate limits to ensure fair usage and platform stability.

**HTTP Status:** `429 Too Many Requests`

## Error Codes

| Code | Description |
|  --- | --- |
| `rate_limit_exceeded` | Request rate limit has been exceeded |


## Example Response


```json
{
  "type": "https://docs.dinie.com/errors/rate-limit-exceeded",
  "title": "Too Many Requests",
  "status": 429,
  "detail": "Rate limit exceeded. Try again in 30 seconds.",
  "code": "rate_limit_exceeded"
}
```

## Rate Limit Headers

Every API response includes these headers:

| Header | Description |
|  --- | --- |
| `X-RateLimit-Limit` | Maximum requests allowed in the current window |
| `X-RateLimit-Remaining` | Requests remaining in the current window |
| `X-RateLimit-Reset` | Unix timestamp when the window resets |


## How to Resolve

- Read the `X-RateLimit-Reset` header and wait until that time before retrying.
- Implement exponential backoff for retry logic.
- Batch operations where possible to reduce the number of individual requests.
- Monitor the `X-RateLimit-Remaining` header to proactively slow down before hitting the limit.


## See Also

- [Error Handling guide](/en-us/apis/concepts/errors) -- Full error handling patterns and code examples