RateLimit-Reset
The HTTP RateLimit-Reset unofficial response header is a widely deployed header indicating the number of seconds until the current rate limit window resets.
Usage
RateLimit-Reset is one of three separate rate limit HTTP headers introduced in earlier IETF drafts. Together with RateLimit-Limit and RateLimit-Remaining, these headers provide clients with complete visibility into their rate limit status.
The value is a non-negative integer representing seconds
until the window resets. This is a deliberate design choice
in the IETF specification. The older, non-standard
X-RateLimit-Reset header often carried a Unix timestamp
(seconds since epoch), which caused confusion across time
zones and clock synchronization issues. The standardized
RateLimit-Reset uses a relative delta in seconds,
similar to the delta-seconds format in
Retry-After.
Note
RateLimit-Reset expresses time as seconds from
now, not as a Unix timestamp. Some legacy
implementations under the X-RateLimit-Reset name
send epoch timestamps. The standardized header
always uses a relative value.
Note
The current IETF draft
(draft-ietf-httpapi-ratelimit-headers) consolidates
these three separate headers into a single
RateLimit header paired with RateLimit-Policy.
The separate RateLimit-Limit,
RateLimit-Remaining, and RateLimit-Reset names
remain widely deployed but are not the direction
the draft is heading.
When the RateLimit-Remaining value reaches zero, the RateLimit-Reset value tells the client exactly how long to wait before the quota refreshes. This avoids unnecessary 429 responses.
Values
seconds
A non-negative integer indicating how many seconds remain
until the rate limit window expires and the quota resets.
A value of 0 means the window is about to reset. The
value decreases as time passes within the current window.
Example
A response from CircleCI showing the rate limit window resets in 1 second. The client has 49 requests remaining out of a 50-request quota.
RateLimit-Limit: 50
RateLimit-Remaining: 49
RateLimit-Reset: 1
A response where the quota is exhausted. The window resets in 60 seconds. The client needs to wait before sending additional requests to avoid a 429 response.
RateLimit-Limit: 10
RateLimit-Remaining: 0
RateLimit-Reset: 60
An API response showing the window resets in 306 seconds (roughly 5 minutes). The Date header provides the absolute timestamp for reference.
Date: Thu, 27 Feb 2026 12:00:00 GMT
RateLimit-Limit: 200
RateLimit-Remaining: 128
RateLimit-Reset: 306
Takeaway
The RateLimit-Reset header reports the number of seconds until the rate limit window resets, using a relative countdown rather than an absolute timestamp to help clients time their requests accurately.
See also
- RateLimit Fields for HTTP (draft-ietf-httpapi-ratelimit-headers)
- RateLimit-Limit
- RateLimit-Remaining
- Retry-After
- Date
- 429
- HTTP headers