429 Too Many Requests - HTTP | MDN

archived 20 Oct 2025 10:51:00 UTC

429 Too Many Requests

The HTTP 429 Too Many Requests client error response status code indicates the client has sent too many requests in a given amount of time. This mechanism of asking the client to slow down the rate of requests is commonly called "rate limiting".
A Retry-After header may be included to this response to indicate how long a client should wait before making the request again.
Implementations of rate limiting vary; restrictions may be server-wide or per resource. Typically, rate-limiting restrictions are based on a client's IP but can be specific to users or authorized applications if requests are authenticated or contain a cookie.

Status

http
429 Too Many Requests

Examples

Response containing Retry-After header

The following request is being sent repeatedly in a loop by a client that is misconfigured:
http
GET /reports/mdn HTTP/1.1
Host: example.com
In this example, server-wide rate limiting is active when a client exceeds a set threshold of requests per minute. A 429 response is returned with a Retry-After header that indicates that requests will be allowed for this client again in 60 minutes:
http
HTTP/1.1 429 Too Many Requests
Content-Type: text/html
Retry-After: 3600

<html lang="en-US">
  <head>
    <title>Too Many Requests</title>
  </head>
  <body>
    <h1>Too Many Requests</h1>
    <p>You're doing that too often! Try again later.</p>
  </body>
</html>

Specifications

Specification
RFC 6585
# section-4​ (external)

See also

Help improve MDN

Learn how to contribute
This page was last modified on by MDN contributors.
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%