KeystoneJS review covering its GraphQL API, admin UI, database support, and how it compares to Strapi, Sanity and other headless CMS options.
KeystoneJS is an open-source headless CMS and application framework for Node.js, originally created in 2013 by Thinkmill, a Sydney-based design and development consultancy whose developers include Jed Watson, Boris Bozic and Joss Mackison. The project remains actively maintained under the MIT license by Thinkmill Labs and its open-source community.
Keystone's defining approach is schema-first development: developers define their data model once, in code, and Keystone auto-generates both a GraphQL API and an admin UI from that schema. The current major version, Keystone 6, is built on Prisma, supporting PostgreSQL, MySQL and SQLite with managed schema migrations, replacing the Express/MongoDB stack used by earlier Keystone versions.
The auto-generated GraphQL API includes built-in pagination, sorting, filtering and session-aware queries, and can be extended with custom resolvers and mutations for application-specific logic. The React-based Admin UI reflects the defined schema and access control rules automatically, and supports custom React components and a configurable WYSIWYG rich text editor for tailored editorial workflows.
Keystone provides a comprehensive set of field types, fine-grained code-defined access control at the list, field and operation level, session management, and event hooks for running custom logic around data operations, making it a full application backend framework rather than just a content repository.
KeystoneJS is entirely free and open-source with no paid tier or licensing fee from the project itself; there is no official managed hosting offering, so teams self-host on their own infrastructure, whether traditional servers, containers, or serverless platforms.
Because there is no vendor subscription, costs are limited to hosting, database and operational effort, distinguishing Keystone's pricing model from commercial hosted headless CMS platforms like Contentful or Sanity, which charge based on usage, seats or API call volume.
Yes, KeystoneJS is fully open-source under the MIT license with no paid tier or licensing fee.
KeystoneJS was created in 2013 by Thinkmill, a Sydney-based design and development consultancy, and continues to be maintained by Thinkmill Labs and the open-source community.
Keystone 6 is built on Prisma and supports PostgreSQL, MySQL and SQLite with managed schema migrations.
No, there is no official managed hosting offering from the Keystone project; teams self-host on their own infrastructure.
Keystone auto-generates a full GraphQL API, including pagination, sorting and filtering, directly from a code-defined schema.
Common alternatives include Strapi and Directus, both of which similarly auto-generate CRUD APIs and admin interfaces from a schema, as well as hosted platforms like Contentful and Sanity.