The Headless CMS That Replaces Sanity
Sanity-compatible schemas, a full GROQ query engine, and a drop-in client SDK. Migrate in minutes, own your data forever.
import { createClient } from '@cellcms/client'
const client = createClient({
projectId: 'my-project',
dataset: 'production',
apiVersion: '2026-03-01',
})
// Fetch the 10 latest blog posts with their authors
const posts = await client.fetch(`
*[_type == "post"] | order(publishedAt desc) [0...10] {
title,
slug,
publishedAt,
"author": author->{ name, image },
"cover": mainImage.asset->url
}
`)Trusted by developers building with
Everything you need to manage content
A batteries-included CMS platform built for developers who want power and ownership.
GROQ Queries
Full GROQ query language with a custom parser that compiles to optimised PostgreSQL — no vendor lock-in, just powerful queries.
Content Studio
Three-panel editor with real-time collaboration, draft/publish workflows, revision history, and scheduled publishing.
Drop-in SDK
API-compatible with @sanity/client. Switch your import and keep your existing queries, projections, and data-fetching code.
Asset Pipeline
On-the-fly image transforms powered by Sharp. Resize, crop, format-convert, and serve optimised assets from S3 or local storage.
Real-time
WebSocket-powered presence indicators and live queries. See who is editing what, and get instant content updates across clients.
Data Ownership
Your data, your rules. Full control over your content with no vendor lock-in. Export anytime, no strings attached.
Up and running in three steps
From zero to a fully operational CMS in under five minutes.
Define your schemas
Use Sanity-compatible defineType and defineField helpers to describe your content models. Migrate existing Sanity schemas with zero changes.
Edit in the Studio
Open the Content Studio — a beautiful three-panel editor with inline validation, rich-text editing, image uploads, and draft previews.
Query with GROQ
Fetch content using the GROQ query language you already know. The drop-in SDK means your front-end code stays exactly the same.
Why teams switch from Sanity
All the features you love, none of the vendor lock-in.
Ready to take control of your content?
Get started with CellCMS in minutes. Free to start, built for developers.