Retry-After
A response header telling a client how long to wait before retrying, turning a rejection into actionable guidance.
A 429 or 503 without it leaves the client guessing, and a guessing client typically retries immediately — deepening the overload the rejection was meant to relieve.
The value may be seconds or an HTTP date. Well-behaved clients honour it, and it is worth honouring in your own client libraries because it removes the need to tune backoff against every provider.
Alongside it, the informational headers that let a client stay within the limit rather than discovering it: the limit, the remaining allowance, and the reset time. A client that can see it has five requests left can slow down voluntarily, which is better for both sides than a rejection.
And distinguish the codes: 429 means this client exceeded its limit; 503 means the service is overloaded generally. Clients and monitoring should treat them differently.