A Web API is an application programming interface for either a web server or a web browser. It is a web development concept, usually limited to a web application's client-side (including any web frameworks being used), and thus usually does not include web server or browser implementation details such as SAPIs or APIs unless publicly accessible by a remote web application.
Web API's can be built using different programming technologies, such as Java or .NET. An example of web API's include Twitter's REST API's which provide programmatic access to read and write data which users can be used to integrate twitter's capabilities into a users application.
A server-side web API is a programmatic interface consisting of one or more publicly exposed endpoints to a defined request-response message system, typically expressed in JSON or XML, which is exposed via the web. Mashups are web applications which combine the use of several server-side web APIs. Webhooks are server-side web APIs that take input as a Uniform Resource Identifier (URI) designed to be used like a remote named pipe or a type of callback, such that the server acts as a client to de-reference the provided URI and trigger an event on another server which handles the event. And provide a type of peer-to-peer IPC.
A client-side web API extends functionality within a web browser or other HTTP client. These were most commonly in the form of native plug-in browser extensions. Newer client-side web APIs target standardized JavaScript bindings. Mozilla created their WebAPI specification designed to help replace native mobile applications with HTML5 applications. Google created their Native Client architecture designed to replace native plug-ins with secure native sandboxed extensions and applications. They made this portable by employing a modified LLVM AOT compiler.