429 Too Many Requests
The server accepted you and is asking you to slow down. What matters is what it counts against: an address, an account or a fingerprint.
A 429 is the polite refusal. It means the request was legitimate and simply arrived too often, which is why it is usually accompanied by a Retry-After header telling you when to come back.
The useful question is never how to get around it but what the counter is attached to. If it counts per address, more addresses solve it. If it counts per account, no amount of proxy work changes anything. If it counts per fingerprint or cookie, the fix lives in the client rather than in the network.
The way to find out is cheap: keep the pace and change the address. If the limit follows you, it is not counting addresses. That single experiment saves more money than any amount of reading.
Ignoring a 429 is the one response that reliably makes things worse. Many platforms extend the window each time it is hit, so an aggressive retry loop converts a two-minute pause into an hour.
What the counter is attached to
Rate limits are implemented as a counter and a window. The counter can hang off an address, a session cookie, an account, an API key or a fingerprint, and the same site often runs several at once with different windows.
Retry-After is the honest form. Its absence does not mean there is no window; it means the site chose not to tell you, and the window still exists.
Silent throttling is the version nobody logs: responses keep arriving with a 200 while getting slower or thinner. It behaves like a rate limit and is invisible to any check that only looks at status codes.
Spreading load instead of forcing it
The practical answer is almost always more exits and a calmer rhythm, not a more expensive address:
Same volume, different shape
Wrong 200 threads on one sticky session -> 429 within minutes
Right 200 threads across 50 session ids -> load spread
Also drop the session suffix entirely -> a new exit per connection
# find out what the limit counts: keep the pace, change the address
curl -o /dev/null -s -w "%{http_code}\n" -x login_c_US_s_1_ttl_15m:password@proxy.sotaproxy.com:10000 https://target.example/
curl -o /dev/null -s -w "%{http_code}\n" -x login_c_US_s_2_ttl_15m:password@proxy.sotaproxy.com:10000 https://target.example/- We do not limit concurrent connections. A 429 you receive belongs to the target, and more parallelism on one address makes it arrive sooner.
- Honour Retry-After when it is sent. On many platforms ignoring it turns a short window into a long one.
- Add jitter. Perfectly even intervals are a signature in themselves, quite apart from the volume.
Common misreadings
A 429 is not a ban
It is a temporary refusal. Slowing down usually restores service; hammering usually does not.
Better addresses do not raise limits
A mobile address at $5.76 a day counts the same as a datacenter one at $1.15 when the counter is per address.
Account limits ignore your proxies
If the counter sits on the account, rotating addresses changes nothing at all.
A 200 can still be a limit
Slower or thinner responses with a success code are throttling that never announces itself.
Términos relacionados
Ver esto en práctica
¿Listo para usar 429 too many requests?
SotaProxy te da acceso a proxies residenciales rotativos, móviles, de centro de datos e ISP. Sin compromiso mínimo.
Empezar