ReST (Representational State Transfer) is an architectural style for building APIs based on HTTP. It defines a set of constraints for how clients and servers should exchange resources over the web. A ReSTful API uses HTTP requests to access and use resources, which can be any piece of information like documents, images, or data. The API follows six constraints - including being stateless, cacheable, and using a uniform interface - and uses common data elements and connectors to define resources and exchange representations of them.