APIError(code=0): Invalid JSON error message from Binance

Hello,
I’ve been running an API-based trading system with Binance for the past 3 years. However, for the last 2 months, I’ve been intermittently receiving the following error:

APIError(code=0): Invalid JSON error message from Binance: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>ERROR: The request could not be satisfied</TITLE>
</HEAD><BODY>
<H1>503 ERROR</H1>
<H2>The request could not be satisfied.</H2>
<HR noshade size="1px">
This distribution exceeded the limit on requests per second.
We can't connect to the server for this app or website at this time. There might be too much traffic or a configuration error. Try again later, or contact the app or website owner.
<BR clear="all">
If you provide content to customers through CloudFront, you can find steps to troubleshoot and help prevent this error by reviewing the CloudFront documentation.
<BR clear="all">
<HR noshade size="1px">
<PRE>
Generated by cloudfront (CloudFront)
Request ID: ZEwPpcOOSpddB8mPJ449Bybbl7FQe3NXzTUqy_VMm4gdojikVtexfA==
</PRE>
<ADDRESS>
</ADDRESS>
</BODY></HTML>

This happens only occasionally (once every few days), despite my system making regular hourly API requests. When the error occurs, simply retrying the request usually resolves the issue.
My questions are:
Is this related to rate limiting, or something else?
If it is rate limiting, shouldn’t the API respond with a standard JSON rate-limit error rather than HTML?
Is there a better way to handle this other than retrying?

Thanks in advance for any insights or suggestions.