Nepedia
Back to Discover
Advanced Reader
💻

API

technology Maturity 5-7 Next article →

An application programming interface, or API, is a digital connection between computers or software programs. It acts as a software interface that offers services to other pieces of software. While a user interface allows a person to interact with a computer, an API allows machines to talk to each other. This process is often described as "under the hood" communication because it is not intended for direct use by the average person. Instead, it is used by computer programmers to incorporate specific functions into their own software.

LEGO-kompatiblo
LEGO-kompatiblo

To understand how an API works, imagine a weather sensor that offers an API. A programmer can send a specific message to this sensor, which is known as an API call. This call might be a request for current temperature or wind speed. The sensor then detects the conditions and sends back a weather report, which is called an API response. These calls are also known by several other names, such as subroutines, methods, requests, or endpoints. By using these signals, two systems can communicate across a boundary using mutually agreed-upon rules. This process of joining different software parts together is called integration.

A key purpose of an API is to provide abstraction. This means the API hides the complex internal details of how a system works. It only exposes the specific parts or actions that a programmer needs to use. Because of this, the internal details of a system can change without breaking the software that relies on the API. This keeps the interface consistent and simplifies the job of programming. You can think of an API as a contract. The service provider offers the API, and the software developer relies upon it. If the API remains stable and predictable, developers can use it with more confidence.

The concept of the API has deep historical roots. In the 1940s, British computer scientists Maurice Wilkes and David Wheeler worked on a modular software library for an early computer called EDSAC. They used punched paper tape for their subroutines and kept a "library catalog" of notes. This catalog explained how to incorporate each subroutine into a program, acting as an early API specification. Some researchers, like Joshua Bloch, believe Wilkes and Wheeler "latently invented" the API because they created the fundamental concept.

Univac 1108 Census Bureau
Univac 1108 Census Bureau

The actual term "application program interface" first appeared in a 1968 paper regarding remote computer graphics. This interface allowed programmers to work with graphics without worrying about the specific details of the hardware. In 1974, C. J. Date introduced the term to the field of databases. By 1990, technologist Carl Malamud defined an API simply as a set of services available for performing certain tasks. As computer networks grew in the 1970s and 1980s, the idea expanded into remote procedure calls.

Database management system diagram from 1978 workshop
Database management system diagram from 1978 workshop

Today, there are many different types of APIs serving different needs. Web APIs are perhaps the most common, allowing computers to communicate over the internet using standards like XML or JSON.

Screenshot of NASA API documentation
Screenshot of NASA API documentation

There are also APIs for programming languages, software libraries, and computer hardware. For example, a library API describes the expected behavior of a tool, while the library itself is the actual implementation. Some APIs, called language bindings, allow a service written in one language to be used in another. Operating systems also use APIs, such as the POSIX standard, to help applications run on different systems like Linux.

Database management system diagram from 1978 workshop
Database management system diagram from 1978 workshop

APIs are essential to the modern digital world because they enable interoperability. This is the ability of many different systems to work together through shared standards. Building software with APIs is often compared to using building-block toys like Lego bricks.

LEGO-kompatiblo
LEGO-kompatiblo

Each software service acts like a brick that can be snapped into a larger, more complex product. This modular approach allows for the creation of massive, interconnected systems that power the internet. From simple weather apps to complex global databases, APIs are the invisible threads that hold digital communication together.

650 words

Where will your curiosity go next?

Keep exploring at your chosen reading level.

🖼️ Images & Media (4)
File:LEGO-kompatiblo.jpg
LEGO-kompatiblo.jpg
File:Database_management_system_diagram_from_1978_workshop.png
Database_management_system_diagram_from_19...
File:Univac 1108 Census Bureau.jpg
Univac 1108 Census Bureau.jpg
File:Screenshot of NASA API documentation.png
Screenshot of NASA API documentation.png
More to explore

What is Nepedia?

A free, ad-free encyclopedia for children. Every article is written at five reading levels, so the same page works for a five-year-old and a fifteen-year-old — use the level switcher above to see this one change. No account needed to read.