Using a programming API with blockchain New to using BTC and the Blockchain.

My understanding is that (for the Bitcoin), one can download/install btcd. 

Then, one has to use btcd to synchronize the "local" Blockchain with the "main" Blockchain(?)

If so, what is the best API that one can use to access the data in the Blockchain?

I saw this:
https://en.bitcoin.it/wiki/API_reference_(JSON-RPC)

For example, I have seen blockchain.info - but - I am not sure that one can download this and have it "point" to one's local btcd.

Any suggestions, help or hints would be greatly appreciated.

TIA
blockchain.info API is not related to Bitcoin-core, you can send commands to Bitcoin-core without the need to blockchain.info

for example to get full details about non-wallet transaction enable txindex and call getrawtransaction for wallet transactions call gettransaction and so on.

You can find all RPC calls here and you can send RPC commands from PHP, Nodejs etc..

if you want to have the full blockchain synced locally you can use bitpay insight (open source blockchain explorer).

or simply as you suggested you can use blockchain.info API without installing Bitcoin-core.