Skip to content

API

An API is a defined interface that allows one software system to interact programmatically with another.

An API, or Application Programming Interface, is a defined interface that allows software to interact with another piece of software.

Instead of a person clicking through a user interface, another program follows the API's documented rules.

MDN's API glossary describes an API as an interface that enables software to interact with another application, service, or system.

What It Means in Practice

Imagine a booking platform contains:

  • Reservations
  • Guests
  • Availability
  • Rates

A website does not necessarily need direct access to the platform's database.

The platform might instead provide an API that lets authorized software request information such as:

Give me available rooms for July 12–14.

or:

Create this reservation.

The API creates a controlled interface between the systems.

What an API Can Allow

Depending on the service, an API may allow software to:

  • Retrieve information
  • Create records
  • Update records
  • Delete records
  • Trigger actions
  • Upload files
  • Search data
  • Start workflows
  • Check system state

The available actions are normally divided into API Endpoints.

API vs. User Interface

A user interface is designed for people.

An API is designed for software.

For example:

Human → opens the CRM → clicks New Contact → fills in a form

API → sends a structured request → CRM creates the contact

Both may ultimately perform the same business action.

Why It Matters

APIs make automation and system integration possible without relying on fragile techniques such as copying information from visible web pages.

They can support:

Common Problems

Common API problems include:

  • Poor documentation
  • Missing authentication
  • Rate limits
  • Breaking changes
  • Inconsistent data
  • Integrations depending on undocumented behaviour
  • Credentials embedded in public code
  • Errors being ignored
  • Systems assuming every request succeeds

How to Improve

Treat the API as a contract.

Understand:

Build the integration around documented behaviour rather than assumptions.