MuesliSwap does provide some API endpoints that you could look into:
https://docs.muesliswap.com/cardano/api
There's a ticker that provides "24-hour pricing and volume summary for each market pair available on the exchange":
http://analytics.muesliswap.com/ticker
And you can also get more detailed historical price (or volume) data on each token, eg: https://analytics.muesliswap.com/price?policy-id=8a1cfae21368b8bebbbed9800fec304e95cce39a2a57dc35e2e3ebaa&tokenname=MILK&interval=hourly
Here's an example site powered by their API according to the docs: https://cardanoassets.com/
On how to get the number of decimals of a token to convert the pricing data:
I couldn't find that info in the MuesliSwap API, though it could still be hidden in there somewhere.
In general though that info can be derived from the metadata of the minting transaction, eg here:
https://cardanoscan.io/transaction/d74798c4a1e453fbc6ba4fbb1d785e0534fb8531fd1bc054ceff5b086240d3b5?tab=metadata
(Check under label "20", which is defined in CIP-38 here: https://github.com/cardano-foundation/CIPs/pull/137)
If you need to automatically get this info, one way would be to use a service like Blockfrost to query it.
Once you have the policy id and asset name (eg from the muesliswap api), you could use this endpoint to fetch the asset details, including the metadata with the decimals field:
https://cardano-mainnet.blockfrost.io/api/v0/assets/9a9693a9a37912a5097918f97918d15240c92ab729a0b7c4aa144d7753554e444145
(You'll need to convert the asset name "SUNDAE" from the MuesliSwap API to hex "53554e444145" and add it to the policy id)