

# What is GraphQL?
<a name="what-is-graphql"></a>

GraphQL is both a query language for APIs and a runtime for executing those queries. GraphQL allows clients to request exactly the data they need, providing a more flexible and efficient alternative to REST in many scenarios. Unlike REST, which relies on predefined endpoints, GraphQL uses a single endpoint where clients can specify their data requirements in the form of queries and mutations. 

See [Components of a GraphQL API](https://docs.aws.amazon.com/appsync/latest/devguide/api-components.html) for more information on how GraphQL APIs are structured.