What is an API?
Smartpedia: An API – Application Programming Interface – is an interface for application programming and, as part of a system, offers other systems the option to connect.
API – a programming interface for other applications
API is an acronym and stands for Application Programming Interface and thus describes an interface for application programming. Basically, an API as part of a system or software offers other systems or programmes the possibility to connect in order to access, for example, system-internal libraries or stored data and files.
Four API types
There are four different types of Application Programming Interfaces:
- The function-oriented API enables a program to directly access the hardware of a system, e.g. to activate a hardware device driver. The program sends a request via the API of the operating system to open a handle that passes the requested value to the program via its own interface. The handle can also unlock several functions, which can then be called using other requests.
- The file-oriented API enables communication with the storage media of the computer, so that files and folder structures can be requested, read or overwritten via request. The operating system is responsible for distributing and maintaining access rights.
- The protocol-oriented API works independently of hardware and operating system, communication takes place via protocols and libraries. It is regarded as flexible, although requests over several program components are not possible. The implementation of one or two libraries is often sufficient to guarantee the full scope of communication.
- The object-oriented API is used to combine the functionality of different classes. Such an interface is bound to several predefined restrictions, which are negotiated via the syntax.
Similar to software, an interface can also be further developed. If previous interfaces can no longer be used with a new software version, it is called an “evolving API”. If the interface does not change despite a new software version, it is called a “stable API”. It is important that an application programming interface is documented so that the connection of the various systems and programmes can function at all.
In times of online platforms and eco-systems, the documentation of application programming interfaces is becoming increasingly important. Good documentation offers the possibility to add services and functionalities to existing products. It is important for developers to understand the interface; documentation with details of functions, classes, return types etc., possibly enriched with tutorials and examples, helps when programming extensions.
A “good” API documentation offers the following advantages:
- Increase of the digital range
In the context of online platforms and eco-systems, we speak of the digital reach of an application programming interface, which provides a basis for new services by making it available. The greater the reach, the more users use the interface. Alternatively, we also speak of the network effect.
- Greater acceptance
The same applies to an API as to a product: the better it works, the more people see value in using it. Acceptance increases. If developers can add meaningful functionality to the original product, both developer and user acceptance increases.
- Decreasing efforts and costs in support
A good interface documentation not only increases the level of awareness, digital reach and acceptance, but also reduces the time needed to train internal or external developers. This reduces support efforts and costs.
- Easier software maintenance
Furthermore, the documentation contributes to product maintenance. It helps developers to know structures, resources, methods, etc., so that updates can ideally be made faster and better.
Many software solutions offer interfaces for interaction. There are also numerous application interfaces that are publicly available and can be used by developers in their applications. Below are some examples:
- Google Maps allows developers to access Google’s map and location data so they can create custom maps and add location-based features.
- Twitter allows developers to access Twitter’s data and features, such as retrieving tweets, publishing tweets and searching for users.
- OpenWeatherMap allows developers to access weather data for any location in the world, including current weather conditions, forecasts and historical data.
- YouTube allows developers to access YouTube’s data and features, such as retrieving video information, uploading videos and searching for videos.
- Facebook allows developers to access Facebook’s data and features, such as retrieving user information, posting to Facebook, and searching for content.
- Stripe allows developers to integrate payment processing features into their apps, making it easier to accept payments from users.
- Twilio gives developers access to a cloud communication platform that allows them to add messaging, voice and video capabilities to their apps.
These are just a few examples of the many APIs available to developers for use in their applications.
The term “mashup” often comes up in the context of application programming interfaces. A mashup is a web application that combines data or functions from different sources to create a new service or application. For example, a weather mashup can combine data from a weather API with data from a map API to display weather information on a map.
An impulse to discuss:
The importance of Application Programming Interfaces is underestimated. Not the platforms but open interfaces are the reason for success.
The accumulated experience of a developer in discovering and learning the possibilities, and the integration of new functions is called Developer Experience (DX).
The equivalent of the API is the user interface, with which users access the functions and data of a system. It is an important aspect for a positive user experience.
Here you will find additional information from our Smartpedia section: