How to get prices, volume and latest transactions of a liquidity pool

I am working on a app to view charts and more. For the charts I need open, close, high, low prices for any intervals like 1min, 5min, 1h etc for a specific token/pool. So far there seems a lack of APIs providing that data. I only found the API of muesliswap, which is ok but not perfect as it does not provide all the data I need and I would like to integrate multiple exchanges (minswap, sundaeswap etc) not just one. This week I found this project: https://taptools.io/charts, which comes very close to what I want to do with the charts. They say they have the data directly from blockchain, so this made me thinking if I could do this too.

I have to say, I am fairly new to coding but I am fast learner. But I feel a bit lost where to start. I would appreciate if anyone could lead me in the right direction to pull this off. What are my options, do I need a cardano node for this. Or is it maybe possible with something like bitfrost or koios?

Thanks.