Hello Gareth
@rickyccnp is correct in that BGP uses TCP in order to operate and exchange information and thus it cannot be a Layer 3 protocol. However, BGP is actually considered an Application layer protocol. In the TCP/IP stack, any entity that functions above the Transport layer is considered an Application Layer protocol. BGP’s intelligence operates within a process in routing devices that sits on top of the Transport layer, and uses TCP to communicate its information between peers.
Take a look at this post for a bit more info:
I hope this has been helpful!
Laz