A REST API (Representational State Transfer Application Progamming Interface and also known as a RESTful API) is an API that conforms to the constraints of REST architectural style and allows for interaction with RESTful web services and is designed to take advantage of existing protocols. While REST can be used over nearly any protocol, it usually takes advantage of HTTP when used for web APIs. This means that developers do not need to install libraries or additional software in order to take advantage of RESTful APIs.
One of the key advantages of REST APIs is that they provide a great deal of flexibility. Data is not tied to resources or methods, so REST can handle multiple types of calls, return different data formats and even change structurally with the correct implementation of hypermedia.