GraphQL is an open-source data query and manipulation language for APIs that allows clients to get precisely the data they need from a server in a single request. It provides a complete description of the available data in an API and gives clients control over the data received. In contrast, REST APIs typically require multiple requests to get all needed data. While REST is an architectural style for designing APIs, GraphQL is a specification and query language. GraphQL is gaining popularity as it can address limitations of REST like overfetching data and making multiple requests.