An Application Programming Interface (API) is a set of protocols, routines, functions and/or commands that programmers use to develop software or facilitate interaction between distinct systems. APIs are available for both desktop and mobile use and are typically useful for programming Graphical User Interface (GUI) components, as well as allowing a software program to request and accommodate services from another program.