I would like to know when to use and the difference between Docker API, Docker remote API, Client API and Compose API. TIA.
There is only Docker Engine API, which allows you to manage Docker calling it.
Docker API = Docker Engine API
Docker remote API = I think this means to configure Docker CLI to connect to a remote API to manage container on other hosts.
Client API = Docker CLI. A CLI to use Docker Engine API.
Compose API = This doesn't exist, Compose is only a tool to use Docker Engine API.
For further information, check Docker Engine API docs: https://docs.docker.com/engine/api/