I am trying to pull a list of token contracts held by a wallet address, similar to how bscscan does, except programmatically. bscscan.com/apis does not have an endpoint, and web3js seems to only report the ETH balance.

This is possible to achieve, since bscscan reports the list and many token trackers ( such as farmfol.io ) also seem to pull that information. I am just not finding the correct methodology