Seems like
https://cryptocurrencyalerting.com might do the trick for me, but they've got a cap of 120 addresses
I believe this api does exactly that
https://www.blockchain.com/explorer/api/api_receiveReceive Payments API V2
Accept bitcoin payments seamlessly
You provide an extended public key (xPub) and we generate a unique, unused corresponding address for your customers to send payment to. We notify you of payments to that address instantly using a callback URL of your choosing.
Yup, it should work, but there seems to be an issue with their API keys. It's invalid every time
I've found the functionality on tatum.io
Thank you