Application Programming Interface (API)



Introduction to APIs

An API can be defined as "a set of clearly defined methods of communication between two of more computers." Unlike a user interface, which allows for person to computer interactions, APIs make it possible for software running on computers to exchange data in a formal way. The best way to think of an API is as a building block that can be used to add functionality to an operating system, a desktop or mobile app or a Website. Any professionally written API that you use will have a well defined interface with some kind documentation on how to use it. APIs come in all shapes and formats and depending on the type of programming you are building you might even use an API written in a different programming language than the program you are writing in, however you won't care because all you need to know is how to interact with the API using its provided interface.

Watch the following video for an excellent animated illustration of what an API is.

There are a lot of businesses and organizations that provide APIs to enable software aplications written by other developers to access certain content that the entity wants to makes available. Airline reservations systems were represented in the video, but here are just a few other examples of companies who offer API access to their sotware systems for outside developers.

Images representig the Google, Twitter, and Facebook APIs, Web pages, and mobile apps.

Amazon Web Services

Amazon Web Services is an API that gives subscribers access to some very powerful resources in their cloud, including virtual machines aka compute power, database storage, content delivery, or other functionality, AWS has the services to help you build sophisticated applications with increased flexibility, scalability and reliability. That advantage you get with this type of API is that other than some base fees, you will only be charged for the resources used by your account each much. So if you setup a Website and traffic is low you only have to pay for that usage, but you are still in a position to dynamically scale reaources as traffic become more robust.

NOTE: You can get started for free, but once the trial period ends you'll be forking out big time expenses. So be carefull what you setup during your trial period. It is highly recommended that you investigate what your fees will actually be for the services you add before the trail period ends to be prepared for what your monthly fees will actually be.

screenshot of the AWS homepage.

Facebook for Developers

Image of the facebook for developers toolbar.

Facebook for developers, now Meta for Devlopers, is an API that give developers access to resources provided by Facebook for integrating games and applications into the Facebook cloud infrastructure. This includes items like integrating the Messenger platform into your applications, allowing Facebook users to login to your app using their Facebook account credentials and having Facebook authenticate the user login process, creating tools for businesses, creators, and people to enhance the Instagram experience, and implementing their WhatsApp business platform into your apps. See https://deveopers.facebook.com for more information.

Image showing a sample facebook developer's dashboard screen.>

Google Developers

The Google Developers API exposes numerous resources that developers can integrate with including their Payment Request API and their Credential Management API.

For more information view their Website

Google Developers
screen capture from google developer's home page.