logo

Introduction to GraphQL

GraphQL is a query language for your API and a server-side runtime for executing queries using a type system you define for your data.

Learn more:

Sitecore GraphQL concepts

The Sitecore GraphQL API implements the GraphQL standard with some specific details.

You define endpoints that have specified absolute URLs. These endpoints host a GraphQL schema (a strongly-typed graph definition):

  • These endpoints understand the GraphQL language. Unlike REST APIs, there is a formal request and response format. Therefore, GraphQL endpoints are all serviced by a single controller, and you do not require code to define a new endpoint.

  • This also enables features, such as request batching (multiple queries in a single HTTP request), to reduce network traffic.

Each endpoint has its isolated configuration:

  • You can isolate endpoints from any other endpoints' configuration to increase reliability.

  • You can also extend the whole schema with extenders that modify and add to the GraphQL schema for an endpoint after creating schema providers.

The GraphQL query editor is built into Sitecore GraphQL endpoints for authoring queries (with code completion) and reviewing API documentation:

  • The GraphQL type system knows about Sitecore templates so that you can create and validate strongly typed queries against real fields.

  • Template changes are updated in real-time. Template fields are also mapped to GraphQL types.

Sitecore GraphQL is optimized for speed. You can also use performance metrics to analyze performance problems on a per-field basis when enabled.

Can we improve this article ? Provide feedback