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 reuse. 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
- Free foreign exchange rates and currency conversion API
A platform to receive live and historical exchange rates for 160+ currencies across the world. Having been integrated into many diverse software applications running in varied environments, FXR-API has proven robust with high-delivery availability. Unlike other exchange rate providers who gather their data from sources concentrated in a geographical area (e.g., US banks), FXR-API collects its rates from financial centers across the seven continents to ensure provision of true global market rates.
- Free platform to query live GSE trading information from
A free and reliable API that makes available near real-time trading information and company information from the Ghana Stock Exchange. By building upon the platform's simplified interface, you can 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 very easy to interact with. No authentication keys are required before you can start using it. Documentation for the API can be found on the linked page.
- Generic internet domain name WHOIS lookup API
A unified WHOIS API that allows the querying and retrieving of detailed information about any generic internet domain name directly from its registry database. The API is based on the WHOIS system which enables looking up information about the entity responsible for any particular internet resource such as a domain name, an IP address block, or an autonomous system number. This API builds upon that framework to present an interface that easily integrate with disparate software applications.