What is an API? In English, please.

from freeCodeCamp

Before I learned software development, API sounded like a kind of beer.

Today I use the term so often that I have in fact recently tried to order an API at a bar.

The bartender’s response was to throw a 404: resource not found.

I meet lots of people, both working in tech and elsewhere, who have a rather vague or incorrect idea about what this fairly common term means.

Technically, API stands for Application Programming Interface. At some point or another, most large companies have built APIs for their customers, or for internal use.

But how do you explain API in plain English? And is there a broader meaning than the one used in development and business? First, let’s pull back and look at how the web itself works.

More here.

,

12 Responses to What is an API? In English, please.

  1. Douglas Tkac October 26, 2018 at 3:59 pm #

    This article about what exactly an API is and how it is applied in simpler terms intrigued me a lot for a number of reasons. The first thing I was intrigued by is what in the heck an API actually was, as just like the person who wrote this article, I have no clue what it is, nor do I have a solid grasp on computer programming. However, this article also pulled me in because the writer of this article (Petr Gazarov) states that plenty of others, regardless of how up-to-date they are in tech, get this term confused for something else, or simply don’t know the true definition.

    Using an Application Programming Interface (otherwise known as an API) is actually more commonplace than it might seem, as the internet utilizes it almost every day. Gazarov mentions a great example on how the API is an essential cog in the search engines, rather than its own separate entity that sends responses and receives requests, and ultimately puts websites that you choose to visit on your screen. API also helps very much with logistics dealing with customers, as Gazarov mentions how API can help with the smallest, yet most essential details involving an online business. For example, using its power to send responses and receive requests, the API is able to project messages and side windows without you having to leave the website (such as confirming a doctor’s visit), which provides more security and more convenience to the user.

    The crazy thing about APIs however, is that it can be utilized in many different ways and sizes. It can be used to control a whole website, a whole application, a small part of the application, or even the entire server. The fact that in can be utilized in any way you want to is key in starting up your own website servers or using it to visit other websites by just surfing the web, and it is crazy to know that not a lot of people have heard (or have clarity) on this exact term. However, after reading the article, it is easy to see why the exact context and definition of an API has been jumbled up so much: since an API can control as much or as little as a company or a website desires, every programmer will always have a different definition as to how an API is used and defined in today’s world.

  2. Abhimanyu Sood October 26, 2018 at 7:27 pm #

    An Application Programming Interface, or API, allows a computer program’s features to be used by another, different, computer program. If you write a computer program that solves a particular problem. Like it helps to draw graphics onto a screen, or maybe it runs on the web and lets people share pictures. You then an API to my program so that other programs can use it. So when you write a game, you can use my graphics program to put things on the screen. Or when you write a webcam program, you can use my program to put pictures onto the web. Some programs have a user interface . Some just have an API. Some have both. Programs which only have an API are often called libraries. Developers use APIs to save them from having to reinvent the wheel every time they write software, which then saves them time. Another example would be that of building a car. You could build the car from scratch, but that would be a lot of work.You could just use a car thats already built, and I have a selection to choose from. The car is the API. It is the ‘interface’ you selected and hooked up to your project. You dont know or care about the fuel pump, oil filter status, mileage etc. Those are all internal elements to the API you chose, and whoever made the API already made those things. All you care about is that it provides a way for you to test your wing. You may only call one or 2 functions of the car API, like ‘gofaster()’, ‘stop()’, but internally, in private / protected methods, things like ‘injectFuel(piston1)’ or ‘applyBrakePressure(psi)’ are being called.

  3. Clement Bourret October 31, 2018 at 12:12 pm #

    API becomes more and more common nowadays. To make it easier for application developers, companies like Apple have created a lot of frameworks that provide APIs to make the design of the app (windows, panels, buttons, menus, scrollers, text fields) but also for the settings (app available in different languages, ability to use the location inside the app, make the app accessible to users with disabilities, etc.). In other words, Apple is one these tech companies that provides a lot of frameworks in order for developers to be more creative in designing new apps on any Apple platforms (iOS, mac OS, Watch OS). Frameworks created by Apple include HealthKit, HomeKit, ARKit, WatchKit to quote only the best known examples. HealthKit is the API that helps apps related to health to transfer data between what the iPhone or the Apple Watch collects with the application in order for the user to see and interpret these datas. HomeKit is the API which allows all home automation accessories/devices to work together in harmony with iOS. ARKit is the platform for developing augmented reality applications on iOS devices as on the iPhone and iPad. And WatchKit is simply the framework provided by Apple in order to develop interfaces for Apple Watch applications. There is an API for plenty other program which makes the job of designing app for a specific software much easier. But also, the mainstream gets more and more familiar with these kit of application. For example, home automation accessories have now an official sticker “compatible with HomeKit” to show that this accessory can be used with any Apple devices. While doing shopping, it is much easier now for a customer to know if he could properly use a new connected light bulb with his iPhone if it is compatible HomeKit.

    https://developer.apple.com/documentation

    https://fr.wikipedia.org/wiki/Interface_de_programmation

  4. Victor Prieto October 31, 2018 at 8:27 pm #

    Petr Gazarov did a great job explaining Application Programming Interface (API), in English. It fascinates me to think that most large companies use this for their customers or internal use, and as a senior in college, I still have not heard of this term prior to reading this article. It was not only an easy read, but also a great refresher on how the web actually works. Remote servers are something I always heard of, but never actually stopped to think about what the purpose of them serve. Typing in the website you desire to go to will send a request out to that website’s remote server. The browser will receive the response and then show the web page. We are all used to typing in what we desire to find and it magically appearing on the screen. The example of Facebook’s server being the API is ideal since so many people use this platform. Although I do not use to post regularly, I do use it to facilitate any invitations going out to many people. It is more convenient to make a chat with them on Facebook, versus reaching out to them individually or even putting them in a group message that will trigger nonstop responses to everybody’s phones.. The API is not the same thing as a remote server, as it is rather the part of the server that receives the request and responds. Crazy to think that the API is what guides me to where I want to go on the web and I had no idea what it was this entire time.
    The use is to have the API directly take responses from Google. From the user, API’s are the reason the process of accessing the web page is done without leaving the website. API’s play an integral role in modern businesses. Teams are using APIs to break up their application into multiple servers that talk to each other via APIs. The examples of APIs towards the end of the article help further understand the use of them. Describing them as a piece of software with its own function helps better understand what APIs actually are. Any piece of software that can be separated can be the “A” in API. Gazarov states an API is in every object, defined as a, “set of public methods and properties that it uses to interact with other objects in your application” (Garazov). A big differentiation, however, is that objects may have inner logic that is private and hidden from the outside scope. This would not be considered an API.
    It is important that Garazov wrote about something used so commonly in this modern day, yet rarely spoken about. It seems as though there are many more common tools used in businesses that are not spoken about. When I read the headline, I knew I had no idea over this subject. After reading the article, it is important to note that APIs are not only a function for businesses. Knowing how APIs work are essential to anyone working with websites or computerized factors. We think so much about the success of technological companies such as Apple and Microsoft, but never really stop to think about the amazing advances happening behind closed doors.

  5. Eyal Kleiman November 1, 2018 at 12:20 pm #

    This article makes a similar point that I was trying to make on one of the group’s projects when they mixed up the terms smart contracts and e-contracts. The article says that an API is not the same as a remote server. Well, isn’t that obvious? That is why they are each given a different name, because they are different things. API’s are used, in some way, on most modern websites. These interfaces can be as simple as a customer being able to set up an appointment right through a website. API’s are a part of the server that receives requests and sends responses. So, with my example above, the user sends a request, the API receives the request, sends a response to the user who receives said response and can continue on with their business. API’s are advancing and they will continue to be a tool that companies use to serve their customers.

  6. Dimitri Drosos November 2, 2018 at 4:44 pm #

    This article helped to refresh my memory from the things I learned from the computer applications class I took a couple of years ago. The concept behind API, or Application Programming Interface, does not seem that hard to grasp. I think the example of how to implement API in a business makes this clear. I have scheduled to meet with people using calendars, and even though I was not specifically using Google calendars, I imagined how the interface was working as I was reading. A much greater understanding of how this technology works has been obtained.
    The website News API shows how current news can be introduced using the JSON API of Google. It basically lets the user search for news article and presents them in a unique way. The live examples they have include the title, author, description and other pieces of information. One of these includes some information on Bitcoin. People who are interested in this topic can use Google’s API to look for more articles and search for specific information.
    API makes the Internet look less intimidating. The Application part is interesting as well. Once a third party is incorporated, the app creates a library. There would be a large amount of information at one’s disposal because of API. This kind of technology is very amazing.

  7. Chris Vena November 2, 2018 at 8:07 pm #

    When I read the name of this article I did not know what an API was. In an effort to learn more about technology I decided to continue reading. Petr Gazarov does a great job at explaining what an API is. I have also not been familiar with the term remote server. Now I understand that a remote server is what receives a request to display a website. So, when a website is loading, a message is sent to a remote server that then displays the website on the computer. The API is the part of the remote server that sends and receives this request. Now defining an API is starting to make more sense. Basically, the way I interpreted this is that when someone initiates an action on a computer, the API is what makes the action happen. After learning this, I realize how important an API is. The article goes into more detail about the first thing that came to my head when learning what an API is, the fact that an API allows a user to complete an action without leaving a website. Many times, I initiate an action on a website and it brings me to another website. Sometimes this is not what I am looking for, could the use of an API fix this problem? I found this article very helpful, especially in today’s world where technology is used extensively. I believe especially for college students it is important to continue to expand our knowledge on all different aspects of technology.

  8. TylerP November 9, 2018 at 2:49 pm #

    For people who do not know much about software development or any software lingo, the concept Application Programming Interface or API, may seem foreign. However, what most people do not realize is that they are using APIs quite frequently during their daily lives. So to educate, Application Programming interface is known as a software intermediary that allows two applications to communicate with one another. Easy to name examples of this include using Facebook, instant messaging, or even checking the weather with whichever weather app or widget that one may use. To name another example since most people use smartphones, when you use an application on your mobile phone, the application connects to the Internet and sends data to a server. The server then retrieves that data, interprets it, performs the necessary actions and sends it back to your phone. The application then interprets that data and presents you with the information you wanted in a readable way. That is how APIs work and that process happens with all APIs.
    Another interesting factoid about APIs is that they also provide a layer of security. For phones and other devices, your data is never fully exposed to the server, and likewise the server is never fully exposed to your phone. Instead, each communicates with small packets of data, sharing only that which is necessary.

  9. Daniel Campbell November 9, 2018 at 3:22 pm #

    The use of APIs in the world is continuing to increase at a very fast pace. The use of Application Programming Interface in businesses is creating a much more efficient interface for all companies around the world. Helper servers that perform Microservices such as Google Calendar linking with your company’s application through a API in order to plan events on the calendar interface straight from your companies domain application. These services are required for some companies and the thought of using APIs as a way to seamlessly transfer data into more user- friendly interfaces is fantastic for the growth and maintenance of a company. As a consumer I hope to see an increase in APIs throughout all companies for the simple fact that not only does it help make my life easy, but it makes business a lot easier for the fact that it responds to the needs of the consumer, but it also speeds up many substantial actions that businesses take. Any way that businesses can use the internet and technology to make everyday tasks easy and faster to complete should be considered. As stated by the author, in today’s age, if any piece of software can be separated from its environment, like that of an application probably has some sort of API.

  10. Kent Flores November 9, 2018 at 6:10 pm #

    In the article “What is an API? In English, please” by Petr Gazarov, we go into depth about the true function of an application programming interface. For many world wide web users, an application programming interface is a huge question mark and its function a mystery. I for one had no idea what an application programming interface was and how important it was to the browser/client. Petr Gazarov starts off by explaining that servers use application programming interfaces as a means of communicating data from one server to the next. This is extremely important since websites can be built by JSON or HTML and in order for one server to send you the right coding in order to access the website that you seek, it has to first filter the necessary codes needed to project the website desired. Application programming interfaces are basically messengers who go from one server to the next and deliver the coding needed in order for the website to be accessed. I remember taking an HTML coding class back in high school in which I learned how to read and write HTML coding in order to create content on a website. What I did not learn from that class was how exactly did websites transfer from one server onto other browsers. After reading this article I learned that an application programming interface is the reason behind the movement from server to server. If application programming interfaces did not exist, then we would have trouble sharing websites with the general public. For example, if I created a website on my server and application programming interfaces did not exist, the only way for you to access my website would be by copying all my HTML code into your computer and running it. This would be extremely efficient, and therefore, we are extremely lucky for having such a software exist. I am shocked to know that the majority of people even tech people do not know exactly what an application programming interface is. We are heading towards a computer operated world and yet we know nothing about how it works. Schools really should make computer classes more based on informing its students about how their devices work and why it works the way it works.

  11. Brandon Ruiz December 4, 2018 at 1:33 am #

    Today people are constantly innovating technology in order to create a better future for the world as we know it. Technologies that create renewable energy and technologies allow us to take our body’s temperature are essential are thigs that are essential to the world today. However, not all innovation is aimed at doing things as big as the aforementioned technologies. Much of technological innovation today is about making our lives easier. Things such as an alarm clock or a mobile navigation app for your phone are things that fit into this category. Making our lives easier is one of the many functions that API’s serve.

    API stands for Application Programming Interface. An API is the part of a remote server that receives requests and sends responses. For example, let’s say that my teachers used a certain website to have their students sign up for extra help. If a student signs up for an extra help appointment and wants the information to be transferred into his schedule which he has on Google so that he can remember the appointment then the server of that website needs to use an API in order to perform that action. The way this would happen is that the sign up website’s server would interact with Google’s server in such a way that the action desired would be performed. In a way the two servers would be talking to each other through a certain type of digital code that is allowed through the use of API. This would all prevent the user from having to go to google calendars and input the data themselves. This little thing makes the users life just a little easier.

    Looking at things on a much larger scope, whenever you visit a webpage on the internet you are interacting with a remote server’s API. It is the API part of a remote server that allows a remote server to respond to the request that is inputted when someone enters a website address into their browser. In simper terms without an API browsers would not receive any of the information necessary to display a webpage from remote servers. Therefore APIs are extremely important to the functioning of websites and therefore the Internet itself.

    Before reading this article by freecodecamp.org I had no idea what an API was. I also had no idea how servers were used to run websites and that servers could communicate with each other through advanced programmed code. Without the ability for severs to interact with each other it would be impossible for the Internet itself to function. This would be a major problem for our society today considering how much we rely on the internet for information, for commerce, and an infinite number of other things in today’s world.

  12. John Skalski December 6, 2018 at 5:38 pm #

    When I first saw this article I literally had the same question as what is in the title, I have no clue what an API is. After reading the article, I found out that API stands for application programming interface, and I was very interested to read about all of the uses that this actually has. One example used in the article was in reference to creating an event in Google’s calendar whenever you agree to go to an event or something of that nature. I found that kind of stuff to be really cool and interesting because I never really had any idea how any of that stuff actually worked. I always take for granted whenever someone sends me something that has a date in it and my phone automatically sets up that same exact event in my calendar without me really doing anything. It is stuff like this that really shows how far we have come with technology and the ”magic” that can be done with creating an entire laptop to setting up an event in your phone with one simple click. The old way would be to actually have to talk to the person and figure out plans and then come up with a date and write that down inside of a calendar book that was most likely all sorts of messed up from the amount of times that it was used. Now with the calendars on our phone we can literally keep everything inside of that phone and not have to worry about losing papers, having to buy a new calendar book, or anything of that nature. This may seem like a small advantage that technology has given us, but it is one example of so many more that we cannot even comprehend how much technology has actually helped us out. Technology has made the world better and made people’s lives much easier in the process as well. The world would be a lot different without technology, and probably a world that we would not want to live in considering what we have right now. After reading this article all I could think about was how an API is a pretty big thing, but yet it is small in the entire world of technology and all of the benefits that it provides.

Leave a Reply