Application Programming Interfaces (APIs)
An Application Programming Interface (API) is a standardized interface that defines how an application program may request services from another computer program. APIs provide a layer of abstraction between low-level functions and high-level components of a program in an execution context. A set of documented definitions of the ways in which applications may request services is referred to as an API specification, and when this specification is carried into effect it is called an API implementation. Despite these explanations to the contrary, there is an on-going debate over whether "API" should mean the specification, the implementation, or something else.
Consider this illustration: Suppose you have the task of printing "HELLO WORLD" onto the screen of a terminal, you can choose to either write your own code from scratch or use someone else's code. If you are going by the former, then you may do following: (1) Draw, on graph paper, the shapes of the letters H, E, L, O, W, R, D. (2) Work out a matrix of black and white squares that look like those letters. (3) Work out the sequence of electrical pulses that need to be sent to the screen to draw the matrix. (E.g., 5 volts for black, 1 volt for white.) (4) Repeat the sequence every 60th of a second to keep the message displayed, thus exploiting the persistence of vision phenomenon.
On the other hand, if you want to relinquish the aforementioned approach but use someone else's code, then all you may have to do is call a single API function (
PrintString(), for instance) to do all the work for you. So you see, APIs encapsulate whole jobs into simple interfaces. Moreover, APIs promote code re-use. In line with this software development philosophy, presented below are some web-based APIs that provide varying data services for web-enabled applications.
List of available APIs
FXR-API provides you a reliable platform to receive live (near real-time) and historical exchange rates for several currencies across the world.
A free, reliable, and consistent API to query real-time trading information from the Ghana Stock Exchange. The platform provides in-depth market data and analysis, and authentic company information. Moreover, it allows you to quickly integrate the stock exchange's market data into your application--be it mobile or web--by launching simple HTTP requests. It's fast and easy to interact with. You don't have to sign up for any authentication keys before you can start using it. It's FREE! Documentation for the API can be found on the linked page.