GraphCMS

What is GraphCMS?

GraphCMS enables developers to build powerful GraphQL content APIs in a matter of minutes, while it gives content creators all the tools they need to manage their content. GraphCMS is a headless content management system, so the hosted content APIs can be easily consumed by websites, apps or any other platform.

What is a Headless CMS?

A Headless CMS is a content repository that delivers content to any platform or device via API. The intended consumption of this content is by devices in a raw structured format, such as HTML or JSON, and isn't meant for human consumption until rendered on the end device.

Learn more about what a Headless CMS is on the GraphCMS Academy.

What is GraphQL?

GraphQL is a query language for APIs, and a runtime for fulfilling those queries with existing 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.

GraphQL supports reading, writing (mutating), and subscribing to changes to data (realtime updates – most commonly implemented using WebHooks). GraphQL servers are available for multiple languages, including Haskell, JavaScript, Perl, Python, Ruby, Java, C++, C#, Scala, Go, Erlang, PHP, and R.

How is GraphQL different from REST?

Whereas REST typically requires multiple round-trips for simple requests and the content is distributed across several API endpoints, GraphQL needs only one round-trip for complex requests, and projects have one single endpoint to version, secure, and maintain.

Further downsides of REST include Content structure change requests that increase cross-department effort; Frequent delivery of unnecessary data; Weakly-typed nature; Requirement for manual API documentation.

Find out more about GraphQL and the difference to REST on our academy page.

Why GraphQL?

One Endpoint to Rule Them All

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

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.

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. On top of that, communication overhead is reduced: querying a complex content graph, GraphQL will be able to deliver all data in just one round trip.

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.

Where can I find the GraphCMS Changelog?

All the details about recent product releases can be found here.

Does GraphCMS have a public roadmap?

All the details about our upcoming product releases can be found in our public Roadmap.

It's Easy To Get Started

GraphCMS plans are flexibly suited to accommodate your growth. Get started for free, or request a demo to discuss larger projects with more complex needs