429 Too Many Requests

The client has sent too many requests in a given period and is being rate limited.

Status

HTTP/1.1 429 Too Many Requests

Details

429 is the polite form of a block. The server is telling you the rate is too high and, through Retry-After, roughly when to come back. Limits are usually applied per API key, per IP address, or per session, and often several limits apply at once.

Ignoring it escalates. Clients that keep hammering through 429s frequently graduate to a sticky 403 or an outright IP ban, which is far harder to recover from than waiting out a window.

Headers

Common causes

How to fix it

As the client

As the server

Examples

GET /api/v2/order HTTP/1.1
Host: api.example.com
Authorization: Bearer sk_live_example

HTTP/1.1 429 Too Many Requests
Retry-After: 30
RateLimit-Limit: 600
RateLimit-Remaining: 0

Notes for proxy users

When a rate limit is applied per IP, concurrency is bounded by how many distinct addresses you have. Splitting a crawl across a pool of static residential ISP addresses keeps each address under the threshold, while a single address running the same total volume collects 429s and then blocks. Pacing per address matters more than raw pool size.

Specifications

RFC 6585 §4

See also