v1.10.90-0e025b8
Skip to main content
← Back to Glossary

HTTP Status 429

Protocols

Definition

HTTP status code 429 (Too Many Requests) indicates the client has exceeded the allowed request rate and has been rate-limited by the server.

What is HTTP Status 429?

HTTP status code 429 (Too Many Requests) indicates that the client has sent too many requests in a given time window and has been rate-limited by the server. The response often includes a Retry-After header suggesting when to resume making requests.

Handling 429 Responses Correctly

When a server detects that a client (identified by IP, session, or API key) has exceeded the allowed request rate, it responds with 429 and may include a Retry-After header with a seconds value or timestamp. The client should implement exponential backoff, waiting progressively longer between retry attempts. Rate limits are typically implemented using token bucket or sliding window algorithms. The specific limits vary widely between websites and are rarely published.

If your scraper hitting a target through gate.hexproxies.com:8080 starts receiving 429 responses, it means the exit IP has exceeded the target's rate threshold. The correct response is to rotate to a new IP, respect the Retry-After header, and reduce your per-IP request rate. Hammering through 429s only escalates to a full IP ban.

Avoiding 429s Through Smart Rotation

Receiving 429 responses is a clear signal to slow down or improve your proxy rotation strategy. Continuing to send requests after receiving 429s can lead to longer blocks or permanent IP bans. Hex Proxies IP rotation distributes requests across many IPs, effectively multiplying your request budget. Combined with intelligent request pacing, this minimizes 429 encounters.

Why It Matters for Proxy Users

A 429 response is a warning, not a permanent block. Handled correctly, it is recoverable. Handled poorly, it escalates to IP bans or account-level blocks. Your scraping framework should treat 429s as a rotation trigger: immediately switch to a new IP and add a brief delay before retrying the failed URL. Never retry a 429 on the same IP without waiting.

**Practical example:** A scraping pipeline collects product reviews from an API that returns a Retry-After: 60 header with its 429 responses. The pipeline's error handler detects the 429, rotates to a fresh Hex Proxies IP, waits the specified 60 seconds, and retries the request on the new IP. The retry succeeds because the rate limit was per-IP and the new IP has a clean request history. The pipeline logs the 429 event for later analysis, allowing the team to fine-tune their per-IP request pacing to avoid hitting the limit in the first place.

Not all 429 responses include a Retry-After header. When the header is missing, implement exponential backoff starting at 5 seconds and doubling with each consecutive 429 on the same IP. If three consecutive retries on different IPs all return 429 for the same URL, the rate limit may be session-based or account-based rather than IP-based, requiring a different mitigation strategy such as reducing overall request frequency.

Put Your Knowledge Into Practice

Explore proxy plans optimized for your workflow.