API = Application Programming Interface, which is a software intermediary that allows two applications to talk to each other. Each time you use an app like Facebook, or check the weather, you're using an API.
In the context of web development, an API is defined as a set of specifications, such as Hypertext Transfer Protocol (HTTP) request messages, along with a definition of the structure of response messages, usually in an XML or a JavaScript Object Notation (JSON) format.
To read: https://github.com/Asabeneh/30-Days-Of-Python/blob/master/28_Day_API/28_API.md
REST is the set of constraints. RESTful refers to an API adhering (придерживаясь) to those constraints.
RESTful systems, are characterized by how the systems are stateless and separate the concerns of client and server.
While designing the API, sometimes not everybody following rest design styles, so RESTful term was created.
Following all principles of REST for creating API
Web services which conform to the REST architectural style are called RESTful web services which allow requesting systems to access and manipulate the data using a uniform and predefined set of stateless operations.