Is there a way to access transactions that happen inside exchanges? For example coinbase is an exchange and so, their transactions are done off of the blockchain. 

They do however expose an API, which I believe should expose their own coinbase "blockchain" transactions, but this does not seem to be the case from my perspective, or maybe I missed something.

Is there a way to submit a "public" key given to me by an exchange, then have all transaction for that key?

Thanks
There are no blockchain transactions within an exchange.

Let me explain: (Y = you, B = someone else, C = someone else, E = exchange, assume that all people have 0 BTC, but C has 1 BTC so far)


  You send 1 BTC as a blockchain transaction to the adress of E.
  => E makes a database entry "Y have 1 BTC". 


-


  B buys 1 BTC from C
  => E makes a database entry "B has 1 BTC" and "C has 0 BTC" (no blockchain transaction).


-


  B sell his 1 BTC to C
  => E makes a database entry "B has 0 BTC" and "C has 1 BTC" (no blockchain transaction).


-


  You transfer your BTC to your own adress as a blockchain transaction
  => E makes a blockchain-transaction and an entry "Y have 0 BTC".


They don't need to make blockchain-transaction within their service. They do just edit their database which tells them who has how many BTC. And as you don't have access to their database, you can't see those edits.