an application programming interface (API) is a set of routines, protocols, and tools for building software applications. An API expresses a software component in terms of its operations, inputs, outputs, and underlying types. An API defines functionalities that are independent of their respective implementations, which allows definitions and implementations to vary without compromising the interface. A good API makes it easier to develop a program by providing all the building blocks. A programmer then puts the blocks together.” - Wikipedia
of requirements that govern how one application can talk to another...APIs make it possible for big services like Google Maps or Facebook to let other apps "piggyback" on their offerings...APIs do all this by "exposing" some of a program's internal functions to the outside world in a limited fashion.” - ReadWriteWeb http://readwrite.com/2013/09/19/api-defined
and focuses on exposing pieces of application logic (not data) as services. SOAP exposes operations. SOAP is focused on accessing named operations, each implement some business logic through different interfaces. http://spf13.com/post/soap-vs-rest
you are exposing a public API over the internet to handle CRUD operations on data. REST is focused on accessing named resources through a single consistent interface. http://spf13.com/post/soap-vs-rest
logic of an application to an external client • Two main types of API: SOAP and RESTful • Various ways to consume and use APIs within websites and applications