API Rate Limit
Table of Contents
- What are the limits?
- How do I check my usage?
- What happens when I go over a limit?
- Have more questions?
The DNSimple API limits how many requests you can make per hour. By default, an account can make 2,400 requests per hour, and unauthenticated requests are limited to 30 per hour. A request over the limit returns HTTP 429 Too Many Requests. The hourly limit resets at the time given in the X-RateLimit-Reset header.
What are the limits?
| Request type | Limit | Counted per |
|---|---|---|
| Requests for an account, with any token | 2,400 requests per hour by default | Account |
Requests without an account, such as /v2/whoami with a user token |
2,400 requests per hour | User |
| Unauthenticated | 30 requests per hour | IP address |
| Domain availability checks | 60 requests per hour | Account |
Every token that calls the API for an account, whether an account token or a user token, draws from the same account limit. Creating more tokens does not raise it.
Domain availability checks have their own limit, in addition to the hourly limit, because DNSimple’s upstream registration providers limit availability checks. The drop catching policy explains why.
The Domain Research API has a separate monthly request cap. Those requests also count toward the hourly limit.
How do I check my usage?
The API Limits & Usage card on the API & Access page shows your account’s hourly limit, the requests remaining, and when the limit resets.
Every authenticated API response also includes these headers:
| Header | Value |
|---|---|
X-RateLimit-Limit |
Maximum requests per hour |
X-RateLimit-Remaining |
Requests remaining in the current window |
X-RateLimit-Reset |
Unix timestamp when the window resets |
What happens when I go over a limit?
The API responds with HTTP 429 Too Many Requests. The message in the response body says which limit you reached:
| Message | Limit reached | When to retry |
|---|---|---|
quota exceeded |
The hourly limit | After the time in X-RateLimit-Reset
|
endpoint checkDomain quota exceeded |
The domain availability check limit | After the hourly window resets |
Monthly request cap reached |
The Domain Research API monthly cap | After the time in the Retry-After header (the start of the next month) |
The X-RateLimit-* headers always describe the hourly limit, not the domain availability check limit. To stay under the limit, follow DNSimple API Best Practices: handle pagination and use webhooks instead of polling.
For the full reference, see Rate limiting in the developer documentation.
Have more questions?
If you have additional questions or need any assistance with API rate limits, contact support, and we will be happy to help. You can also read more about the DNSimple API.