Developer & Data Platforms

REST API

Also known as: RESTful API, REST, Representational State Transfer, REST web service

A REST API is a way for software systems to communicate over the web using standard HTTP requests.

Each piece of data, such as a customer or order, has its own web address, and apps use methods like GET to read, POST to create, PUT or PATCH to update, and DELETE to remove it, usually exchanging data in JSON. REST is the most common API style for web and mobile apps. While REST is simple and widely supported, it can require many requests for complex data, which is one reason alternatives like GraphQL exist.

REST API, explained at three levels

At home

A REST API is like a restaurant with a clear menu. You ask for a dish by name, and the kitchen sends it back in a standard format.

At work

REST APIs let business systems, such as a website and an inventory system, share data automatically.

Real-world examples

At home

Lena built a small app that shows bus arrival times. It calls her city's transit REST API and displays the next buses at her stop.

At work

Thomas leads integrations at a Montreal logistics company. He documented their REST API with OpenAPI so partners could connect in days instead of weeks.

How it compares

featureREST APIGraphQL
RequestsMany endpointsUsually one endpoint
Data returnedFixed by serverChosen by client
SimplicityVery familiarMore setup
CachingEasy with HTTPMore complex

REST is simple and familiar. GraphQL is flexible for complex data.

For analysts

In integration requirements, I'd specify the API style, authentication, error handling, and rate limits up front. Vague 'it'll have an API' promises cause delays later.

History & origin

Computer scientist Roy Fielding described REST, short for Representational State Transfer, in his 2000 doctoral dissertation at the University of California, Irvine, drawing on his work on the HTTP standard. Through the 2000s, companies such as Flickr, Amazon, and Twitter offered REST-style APIs that were simpler than older SOAP-based web services. The OpenAPI Specification, which began as Swagger in 2011, became the standard way to describe REST APIs. GraphQL, released by Facebook in 2015, offered an alternative for complex data needs. In my view, REST became the default not because it's perfect, but because it fits how the web already works.