Letting the client ask for exactly the data it needs
GraphQL is a query language for APIs that lets a client specify exactly what data it needs in a single request, rather than calling multiple REST endpoints and over- or under-fetching data. The server exposes a typed schema, and clients query against it directly.
For applications with complex, nested data requirements a dashboard pulling from several related resources at once GraphQL can cut the number of round trips and the amount of unused data transferred, which matters for both performance and mobile bandwidth.
We reach for GraphQL when a frontend's data requirements are complex or vary significantly between views, letting each client fetch precisely what it needs without over-fetching or requiring new backend endpoints for every UI variation.