GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. It isn't tied to any specific database or storage engine and is instead backed by your existing code and data. GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools.