Any simple way(API?) to programmatically get an etherscan transaction information by tansaction hash?

When I use etherscan web app, I can get a nice summary for each transaction(input info, token transfers, value, fee, etc.) – for example:

I want to get the same results with their API, but I can’t find an endpoint for it. Am I missing something? If they don’t offer such an endpoint, maybe another block explorer can expose such an API?

I’ll mention that the most important part for me is the token transfers("ERC-20 Tokens Transferred" in etherscan website).