Since it's not possible to get list of holders of specific ERC20 token using Solidity (due to non-iteratable mapping) I am looking for an API solution that would allow me to retrieve a list of holders (sorted by quantity and with limit parameter so I don't have to iterate through the whole list if I just need the largest holders) for a supplied ERC20 token address. I looked through some of the popular crypto API products in the market and could not find a solution but I know it's out there. I don't mind paying some reasonable pro subscription. I'd love for this solution to work across multiple EVM chains not just mainnet - Polygon, BSC, Avalanche, Optimism, Celo, Fantom, Arbitrum..
Is there an easy solution for this out there or I have to build my own by tracking past Transfer() events on each chain per token?
Thanks