GraphQL is a query language for your API, and a server-side runtime for executing queries by using a type system you define for your data.
Note: GraphQL is often confused with being a database technology. This is a misconception, GraphQL is a query language for APIs — not databases.
Challenges in API design:
1. Increased mobile usage creates need for efficient data loading
To minimizes the amount of data that needs to be transferred over the network.