APIs (Application Programming Interface) are sets of requirements that govern how one application can talk to another. The API specifies the way in which these different software components can interact with each other and enables content and data to be shared between components.
Webhook also referred as “Reverse APIs” is a way for an application to provide other applications with real time information. With APIs, there is always a request followed by a response. No request is required for a Webhook, it just sends the data when it is available. Webhook doesn't require to hold open a network connection while waiting for events.
SignalR is a library for ASP.NET developers that simplifies the process of adding real-time web functionality to applications. SignalR exchange event notifications through WebSockets, however it requires an open network connection.