GraphQL

New to GraphQL?

'GraphQL in a Nutshell'

GraphQL is at the core of the GraphCMS product. It's used to both build the product as well as given to you, the developer to build your product. New to GraphQL? GraphQL is a data query language and runtime designed and used at Facebook to request and deliver data to any type of website and app since 2012.

Key Benefits

Why did we choose to build GraphCMS around GraphQL?

1. One Endpoint to Rule Them All

With GraphQL as a query language, it is up to your application to specify the shape of the data it requires. A GraphQL query returns exactly what is requested no more. There is just one endpoint that is capable of serving all the data.

2. Declarative and Strongly-Typed

The GraphQL type system helps to ensure that your queries are valid at the time of development. This saves you from the frustration of invalid queries and boosts your productivity and drastically lowers time-to-market.

3. Minimum Payload

Since your application receives only the data it requested, the payload is limited to the minimum. This is especially important in mobile or low bandwidth scenarios. Also, communication overhead is reduced: querying a complex content graph, GraphQL will be able to deliver all data in just one round trip.

4. Generated API Documentation

Writing and maintaining API documentation can be cumbersome. With GraphQL, you don't have to worry about documentation at all. Through introspection, all of your API documentation will be generated automatically.

Additionally, a significant part of the GraphQL ecosystem is the GraphiQL explorer. This allows you to browse the generated documentation parallel to testing the queries replete with autocomplete. Of course, we have one built-in for ultimate DX.

GraphQL Tooling

Because we use GraphQL, we have access to the amazing tools and resources for GraphQL. If you don't know about it already, introspection will be your new favorite word. Seriously, all the cool kids are saying it.

What this Scrabble worthy word offers is the ability to explore the auto-generated project API without having to fire off 404-doomed requests. Did the writers get too much power in defining their own models? No worries, explore the model with top-level tooling and a built-in API explorer.

If you want to learn more about GraphQL, we recommend you to visit the GraphQL.org website as a good starting point.