How can i get price Erc20 tokens?

Hello, how can I get the price list ERC20 tokens with price in USD in a specific network by chain id?
I want to calculate the balance of the wallet in different networks. If sending by one request, the price in the USD by the Contract Address + Chain ID, it comes out very long and expensive. For example, when it comes across a wallet with 1000+ tokens.

there isn’t a way to get the price with web3api for multiple tokens, you could do some kind of local caching maybe so that you don’t use web3api for every token in case that multiple users have same tokens