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

Last updated: March 6, 2026