REST (REpresentational State Transfer) is an architectural style for building web APIs that relies on HTTP verbs like GET, POST, PUT, and DELETE to manipulate resources identified by URIs. Resources can have multiple representations like JSON or XML, and the appropriate representation is selected via content negotiation. REST aims to provide a simple, lightweight interface and takes advantage of existing web protocols to transfer representations of resources between clients and servers. Key REST constraints include using nouns for resources and HTTP methods for actions, making the interface lightweight, client-server, cacheable, and layered.