API stands for Application Programming Interface. It’s a concept and an intangible item. APIs operate on an agreement of inputs and outputs.
Application: These can be apps that you use on your smartphone or a software program that you use.
Programming: Developers use APIs to write software.
Interface: How you interact with the application.
To use an analogy here, we’ll compare this to ordering a drink at a bar. When you step up to the bar, you’re given a menu with several drinks listed. There’s an agreement here or the concept of the API, where you’ll order a drink and be served a drink.
The menu as it’s presented to you is the interface. All the drinks listed on the menu are what the bartender has agreed to serve. When you ask for a certain drink on the menu, you receive it. But if you ask for something off the menu, such as a vodka martini instead of a gin martini, the bartender will tell you no because it’s not something they agreed to serve.
Let’s say you want the martini delivered to your home. You call a delivery service and you order a martini. When you order it, someone will tell the bartender your order, the bartender will make the martini and then someone will deliver it to your home. This is an example of an service built on an API: the menu. (source)