GraphQL is an open-source data query and manipulation language for APIs, and a runtime for fulfilling queries with existing data. GraphQL was developed internally by Facebook. All questions related to GraphQL in Sitecore environment, should consider this tag.
The Sitecore GraphQL API is a generic GraphQL service platform on top of Sitecore. It hosts your data and presents it through GraphQL queries. The API supports real-time data using GraphQL subscriptions.
GraphQL is appropriate when you need a production-grade API to power a front end. Compared to traditional REST APIs, GraphQL is significantly more maintainable, far more easily discoverable and queryable (thanks to built-in GUI tools), much more bandwidth-efficient, and much more powerful.
GraphQL requires connected mode, headless connected mode, or integrated mode to work. If using the disconnected mode, your application's service factories must return REST services because the disconnected development server only emulates REST services.