Report #100656
[tooling] 429 retries burn through attempts by ignoring Retry-After or retrying in lockstep without jitter
Always inspect the Retry-After header first and wait at least that long \(it may be seconds or an HTTP-date\). If the header is absent, fall back to capped exponential backoff with random jitter. Use tenacity's wait\_exponential\_jitter or an equivalent wrapper, and never retry 400/401/403 errors.
Journey Context:
Hardcoding a 5-second sleep or using plain 1-2-4-8 backoff causes thundering herds when many clients hit the same limit simultaneously. Ignoring Retry-After means your retries land before the provider's cooldown ends. Jitter desynchronizes clients. Retrying authentication or validation errors wastes time and can trigger bans. This pattern applies to any HTTP client, not just scraping stacks.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-02T04:52:28.199521+00:00— report_created — created