Introduction to  REST API
Published: 2021-08-27 16:16:26

The abbreviation REST stands for **"REpresentational State Transfer"**.    

REST APIs are used to call resources and allow the software to communicate based on standardized principles, properties, and constraints.    

### How REST APIs work

REST APIs operate on a simple request/response system. You can send a request using these HTTP methods:
- GET
- POST
- PUT
- PATCH
- DELETE 

REST APIs can include endpoints, headers, URL parameters, and the request body. The endpoints perform a specific action on the URL, take some optional parameters and might return the data. Think of it like an automated answering machine that asks you to press 1 for service, press 2 for another service, 3 for yet another service, and so on. When you send a request to an endpoint, it responds with the relevant data, which is generally formatted as JSON, XML, plain text, images, HTML, and more.    

REST APIs can also be designed with many different endpoints that return different types of data. Accessing multiple REST API endpoints require multiple API calls.   

A true RESTful API will also conform to the REST architectural constraints outlined by Fielding's dissertation, including:
     
1. Client-Server Architecture
The client and server are decoupled to improve scalability and allow the components to evolve independently.   

2. Statelessness
Statelessness means that every HTTP request happens in complete isolation. Each request contains the information necessary to service the request. The server never relies on information from previous requests. There's no state.   

3. Cacheability
Responses can be explicitly or implicitly defined as cacheable or non-cacheable to improve scalability and performance. For example, enabling the cache of GET requests can improve the response times of requests for resource data.     

4. Layering
Different layers of the API architecture should work together, creating a scalable system that is easy to update or adjust.     

5. Uniform Interface
Communication between the client and the server must be done in a standardized language that is independent of both. This improves scalability and flexibility.     

### When to Use REST APIs

As you can see from the constraints of the REST architectural style, REST APIs are a good fit for projects that need to be

- Flexible
- Scalable
- Fast

REST APIs are particularly well-suited for web applications. In addition, if you are looking for the following characteristics, REST is a strong option:

1. Familiarity
Most people in your engineering team have already interacted with  a REST API. This type of API, being the most common, has the shortest learning curve.

2. Interoperability
Due to the popularity of REST, many platforms and frameworks have a built-in library capable of interfacing with a REST API that has wide support.
  

3. Development efficiency
REST APIs are reusable, enabling developers to easily create independent microservices that work independently of one another as they are decoupled from clients and accessible by multiple applications.    

REST APIs have become the most popular type of API due to their flexible and fast performance. We anticipate REST APIs will continue to be a popular choice for years to come. With that being said, this is pretty much it for this article.

Head over to [RapidAPI Hub](https://RapidAPI.com?utm_source=dev.to/rapidapi&utm_medium=DevRel&utm_campaign=DevRel) and explore tens of thousands of REST APIs you can use with a single API Key.