HTTP 429 means a client has sent too many requests under the server's current policy. Sending the same request immediately in a tight loop usually adds load and delays recovery.

Read the server's guidance

  • Check for Retry-After and wait for its stated delay before another attempt.
  • If the header is absent, use a bounded backoff with jitter and a maximum number of attempts.
  • Stop retrying when the user cancels or the operation is no longer relevant.

Make limits visible to the caller

Surface a clear temporary status when an interactive action must wait, and preserve the user's input. For background jobs, schedule the next attempt instead of keeping a worker busy in a sleep loop.

Different APIs apply limits by account, resource, or endpoint. Follow the provider's documentation and monitor the response rate so your client can reduce demand before it creates a retry storm.