getTokenPrice() returning values off by 10%-1,000,000%

https://polygonscan.com/tokens

So from the first two pages;
SAND, LEO, AMP, MKR, BAT, HOT, HT, COMP, BNT, GNO, eWTB, FET, OGN, POWR, ETH2xFLI, GTC, KNC, ATA, AIOZ, FOX, FORTH, and RARI all return usdPrice values that are off +/- 20%-1,000,000%

EDIT - tried using the nativePrice.value value, and those numbers are also way off on the same tokens.

I’m going to experiment with getting the MATIC price from the MATIC price feed contract (0xAB594600376Ec9fD91F8e885dADF0CE036862dE0), and then using that and the nativePrice.value value that the getTokenPrice method returns to determine prices, but something with getTokenPrice() and the usdPrice it returns, is way off, on a lot of coins on the Polygon network.
As an example, getTokenPrice() says RARI is $400,000+

The code for my bot can be found here

Right now it’s just set up to track price changes, as I need to get accurate price info, also, this is my first JS project, so excuse and shit coding.

There are cases when liquidity is small in a specific liquidity pool and in that case the price can be way off. In cases of coins with considerable liquidity like more than 100k usd than the price should be stable.

SAND, LEO, AMP, MKR, BAT, HOT, HT, COMP, BNT, GNO, eWTB, FET, OGN, POWR, ETH2xFLI, GTC, KNC, ATA, AIOZ, FOX, FORTH, and RARI are in the Polyscan.com top 100 by market cap, that’s where I got my list of coins to check prices on. There’s also a decent number of coins in the top 100 that getTokenPrice() won’t find enough LPs to get a price for, even though, top 100 on Polyscan by market cap, which would seem to imply significant liquidity.

Choose a specific one so we can investigate

API says RARI is $400,000+, its actual price is currently ~$17.
As far as prices it won’t find, upon further investigation, those actually make sense, because there’s no LPs even though they have a large market cap.

Thank you so much for the quick response. This is why I’m going to sign up for a paid plan, even though the free membership includes 10X more API calls than my bot needs.

So after looking a bit deeper, I’m starting to think the issue isn’t with the API, and is with me assuming that the top 100 Tokens by market cap, meant those top 100 tokens were tokens you could actually purchase on the Polygon network, and so far, all the tokens it was giving strange prices for, are tokens with < 50 holders, and don’t seem to actually be swapable, they have all given me a “Price impact too high” error on Quickswap. I will report back shortly with results from a better investigated list of tokens.

Checking price on the top 100 coins by liquidity on QuickSwap Info yields much different results, I think the issue was with the tokens, not the API.