What exactly is an API anyway?
Whether you work as a web developer, manager, or in marketing and sales you’ve undoubtedly heard the acronym API thrown around during work conversations and meetings. Unfortunately, like most tech terms, a quick google search obscures rather than clarifies.
Here’s the Wikipedia introduction to API:
In computer programming, an application programming interface is a set of subroutine definitions, communication protocols, and tools for building software. In general terms, it is a set of clearly defined methods of communication among various components.
Do APIs make sense now? Yeah no.
We inturrupt this blog post for a useful analogy…
Let’s retire to a cocktail lounge instead. Imagine yourself perusing a list of drinks with silly names like Bellini, Tom Collins or Pina Colada. You place your order with the server who relays your request to the bar. The bartender prepares your drink and sends it back to you via the server. You have a general idea of what’s in each cocktail, maybe you can even mix a decent Bellini at home yourself, but you don’t have to worry about knowing how to make each and every cocktail on the menu, you don’t even have to have previous knowledge of each drink available on the menu, that’s the bartenders job, you’re just there to ask for the drinks you want.
This is a very basic analog analogy for how an API works. The cocktail lounge is a website, generally a large website like Facebook or YouTube, and the customer is a web developer who’d like access to some of the data or performance features of the website. The drinks menu is the API itself, which is basically just a list of data and tools the website is willing to share with outside developers. The server represents the request method, or the technique the API uses to request and deliver data and info from its databases.
And now back to our regularly scheduled programming…
API’s stand for Application Programming Interface and while they’ve existed in some form or another since the 1960s the interconnectedness of the world wide web has pushed them to the forefront of the web developer and business community over the past 10 years as their offerings and use exploded with the proliferation of social media.
In 2019 the much of the world wide web is built using APIs. They are maintained by social media companies, government organizations, software startups, conferences, publishing houses and many other organizations with a large online presence. The technology you use to connect to the internet is also likely to have an API. Your cell phones camera, wireless speaker or lighting system and Google Mini all have APIs that let web developers create software and apps quickly and easily.
Why Are APIs so popular?
From a web development point of view a well designed API is a major time saver. If I’m trying to build an app with mapping information it’s far cheaper and quicker for me to integrate Google Maps existing API into my website then to collect and build a mapping program myself. If I’m making a mobile app that needs to use a camera phone using Android’s Camera API makes a lot more sense then designing and coding native camera processing software.
While the API is often invisible to the User their experience is often enhanced by the level of standardization that comes with APIs. Online payment systems like Stripe and PayPal are already hugely popular and incorporating one of their APIs into your site ensure that your providing users with a familar checkout experience, having a user trust you is especially important if you’re asking for sensitive info like credit card numbers.
Users also benefit from a range of different Apps that are built solely by leveraging existing APIs and building new products with the data available to them. The travel industry has seen major disruption with travel aggregate sites like Kayak that let visitors compare and book flights from one site. Travel sites like Kayak combine several different APIs offered by the travel and tourism industry to make information available that was previously only searchable by travel agents.
APIs also let companies and organization outsource various value-added services. The banking industry isn’t really concerned with budget tracking, but it’s client base is. By making data to their websites available to third party sites like Mint they can easily offer an extra service to their customers.
What Are The Downsides?
Despite the many advantages of APIs there are a few drawbacks. The company or organization offering the API needs to design, document and maintain them which takes time and money. Security is often an issue too, as APIs are viewed by hackers as possible ways to exploit a website. Keeping an API secure often means authenticating users via individualized keys which requires a host of new tools and webpages that have to be built and maintained.
From the web developers side using an outside API can mean ceding a certain amount of control over your site. The organization you’re designing your site around may get bought out or change it’s access someday with little warning. Remember Flickr once had one of the most popular APIs on the web, then Yahoo bought them and now who uses Flickr?
Currently most APIs are free to use but as new apps and services built solely off of pre-existing APIs become hugely successful companies are now looking at monetization strategies for their APIs and pay-to-play scenarios are becoming more common.
Users may also have to sign into the parent website to get access to the features like this Spotify Audio Analysis which is barrier that may turn off potential users who are unwilling to take the time or fully trust a new website with their sign in information.
And finally while certain API functions, Facebooks Login for example, may offer an easy way to manage user logins to your site it also gives user data about your site to the Social Media Giant and the users willingness to log on to your site via Facebook Login will depend on their opinion of Facebook. These kind of privacy concerns may play a bigger role in the future as the under 25 demographic uses the web much differently then other demographics.
Where Can I Find A Bunch of APIs?
Googling the organization your interested in and api (eg. Andriod API) is usually all you need to find an API and any technical documentation. ProgrammableWeb keeps a large, searchable, directory of available APIs that includes info on major sites like YouTube and wonderfully weird APIs like Chuck Norris Facts. ProgrammableWeb also offers API University learning series which provides a ton of information on the technical, design and business aspects of APIs.