Bitcoind daemon get received notifications by public address
Instead of polling many addresses every 30 minutes, you probably want to import your addresses into bitcoind, using bitcoin-cli importaddress and then have bitcoind notify you automatically when a new transaction comes in, using the walletnotify option.

See for example: How do I use walletnotify?

There are a lot of details to get right: transactions might never confirm, the transaction ID might change. When bitcoind loses connection to the network, you want your script to be able to handle that. etc.