It wouldn't make any sense to create a better version of CoinMarketCap and use their API. If you are serious about the project and you don't want to encounter issues in the future. I suggest pulling the price from different exchanges and calculate the average yourself and since you think there are too many, try to take the most known ones: Poloniex, Bittrex, Binance, HitBtc, Huobi. I see no other options honestly, so either take it from the sites you mentioned (which I don't recommend as they are competitors) or exchanges like I said.
Thank you. But how about coinapi.io? It's not free, but I never try it yet.
I can pull the API data from any exchange for the coin price. No problem with that..
But this is the hardest part... (exchange data):
https://coinmarketcap.com/exchanges/volume/24-hour/