Are you using a block explorer API to obtain the balance? Or do you have a DB with each address’ balance?
I would think you would hit your 5k request/month limit fairly quickly considering that each time this page is viewed, it is querying your site 6 times.
I was discussing creating an API for someone who wanted to be able to query the balance of any address a few months ago. He ended up ghosting me (and I strongly suspect creating additional accounts asking for help with various aspects of this project) before we could arrange for escrow to hold payment. I had created basic pseudo code for importing address balances into a DB. Querying a DB shouldn’t be difficult and it shouldn’t be difficult to monitor the bitcoin price on an ongoing basis.
The limit is only to grab the value in USD of an address or the amount in BTC worth of a certain amount (/price/ endpoint). All of these features use BitcoinAverage's API which is limited. I could easily cache the price, like Loyce said, which is what I will probably do soon.
For the balance, there is no limit. And no, I don't save any balance of the addresses. When the image is generated, my server pings Blockstream's explorer API and get the balance of the address (where there is no visible limit).