APIs are interface programs that let the components of two or more different applications, that are not fully integrated with each other, interact with one another.
REST is a method (a software architectural style) of building and using programs, i.e. APIs, that can effectively communicate with other applications.
Rest standardizes how APIs and applications function. While every application is different, using REST to guide development makes certain aspects of the design more predictable.
Rest uses HTTP requests like GET, PUT, POST, and DELETE to manage CRUD (Create, Read, Update, and DELETE) operations.
While REST is a set of constraints, RESTful is an API that adheres to those constraints.
A RESTful API (popularly referred to as
RESTAPI is an API that conforms to the constraints of REST architectural style and allows for interaction with other RESTful services.