If you are from Colorado you can be excused for thinking API refers to a highly-hopped craft beer. While not as delicious as an IPA (India Pale Ale), API’s (Application Programming Interfaces) are nonetheless extremely valuable for modern businesses.
An API is a defined set of methods and rules for communication between applications. You can think of an API as a doorway into a building: the API provides an entry point into that application data and functionality, but it also defines what can come in and what can go out. Browsing the web is one example of an API: When you go to Slack.com, your browser sends a request to Slack’s servers, and Slack sends a response back to your browser. This interaction happens using a set of rules that allows Slack’s servers to understand the request and your browser to understand and display the response.
But what if you want to interact with Slack but don’t want to use a browser?
Slack has published a public API that will allow custom applications to interact with their application. As long your custom application follows the rules Slack’s API has established for communication, you can interact with their data. Slack gets the benefit of people building applications using their platform, and you get the benefit of using Slack’s technology.
But what do APIs mean to you? For starters, almost every website and application you rely on needs APIs to function. APIs also make it possible for you to get data from one application into another. For example, Salesforce can aggregate data from across your marketing technology stack, giving you a better understanding of your customer behavior and one application to go to for the most recent data.
If you are considering building a custom application for your customers or for internal use, APIs can make it faster to develop. If you need map data for an application, you can use Google Maps API. Need weather data? Use Weather.com’s API. These API’s, along with a host of others including Twitter, Facebook, FullContact, MailChimp, etc., enable companies to build applications with complex functionality without having to re-create what has already been built.