Two names, one shortlist
When a mid-sized company picks a headless CMS today, the same two names end up on the shortlist almost every time: Sanity and Contentful. Both are API-first, both feed your website, app, and shop from a single source, and both court the same teams. Yet the philosophies behind them sit far apart.
Full disclosure up front: I am Matthias, a one-person agency called happycoding.agency in Berlin, and I build client projects with Sanity. So I have a point of view, but no contract with the vendor. To help you weigh my bias, I call out explicitly where Contentful wins in every section.
The route: pricing models first, then content modeling, the editing interface, running costs, the ecosystem including lock-in, and finally EU hosting. At the end you will find a comparison table and a recommendation matrix by scenario. All prices come from the official pricing pages of both vendors (as of October 2026).
The starting point: two philosophies, one market
Contentful, founded in Berlin in 2013, is the incumbent among commercial headless CMS vendors: a closed SaaS platform where you define content types in a web interface and deliver content through REST and GraphQL APIs. The interface belongs to Contentful; you configure it.
Sanity, with roots in Oslo, flips that model: your content lives in the hosted Content Lake, but the editing tool, Sanity Studio, is an open-source React application in your own repository. What that means in everyday work runs through every section of this comparison.
Remember this one dividing line, because it explains almost every difference in the sections that follow: Contentful sells you a finished platform. Sanity sells you a database for structured content plus a toolkit for the interface.
Pricing model: seats versus platform tiers
On to the money. Both vendors list a free plan, a paid self-service tier, and an enterprise tier on request. The mechanics differ fundamentally: Sanity charges per seat, Contentful per platform tier. That mechanic alone decides which one is cheaper for your team.
Sanity: $15 per seat per month
Sanity's free plan allows up to 20 users, 10,000 documents, and 100 GB each for assets and monthly bandwidth: free for good and already enough for many marketing sites. The Growth plan costs $15 per seat per month with a cap of 50 seats; it raises the limit to 25,000 documents and allows private datasets (as of October 2026).
Sanity bills overages in small increments: $0.30 per GB of bandwidth, $0.50 per GB of assets, $1 per 25,000 API requests. One single line item is expensive: every dataset beyond the two included costs $999 per month. If you plan staging environments as separate datasets, know this before you decide on the architecture.
SSO via SAML and audit features only arrive in the Enterprise plan at a negotiated price; Content Releases are an add-on even there. The full bill, including agency effort and hidden line items, deserves a close look before you sign.
Contentful: the $300 cliff
Contentful's free plan offers 10 users, one starter space with 25 content types and 10,000 entries, two locales, and 100,000 API calls per month. After that comes the cliff: the Lite plan costs a flat $300 per month, whether two people work with it or twenty (as of October 2026).
Lite raises the limits to 20 users, three locales, 50,000 entries per space, and one million API calls; overages cost $5 per additional million. A second space costs $850 per month as an add-on. If you need more, say SSO or advanced roles, you land in the Premium plan: price on request, negotiated through sales.
The sample calculation for an editorial team of five: Sanity Growth costs $75 per month, Contentful Lite $300. At twenty people, the two meet at $300. From person 21 it tips again, because that is where Lite ends and Premium begins.
The short version: Sanity grows linearly with your team, Contentful jumps in steps. For the typical mid-market editorial team of three to ten people, the seat model is almost always the cheaper choice.
Content modeling: code versus clicks
This is where the ways of working part. In Contentful, you click content types together in the web interface: create fields, set validations, wire up references. A project lead can do that without a developer, and that is exactly the strength of this approach.
In Sanity, schemas are TypeScript files in your repository. Every change to the content model is a commit: with review, with history, with a clean path through every environment into production.
Why I prefer the code route for mid-sized companies: content models are architecture, not decoration. If the model lives in Git, you can test it, roll it back, and reuse it across projects. With the click route, that knowledge lives only in the interface, and changes to the production model sometimes happen faster than the team would like.
To be fair: if your marketing team should evolve the model itself, without ever asking a developer, Contentful wins this section. The price is discipline, because the interface stops no one from bending the model in passing.
Editing interface: renting versus owning
The interface decides whether your team accepts the CMS. Contentful ships a finished, tidy web app: configurable, extendable through marketplace apps, but in layout and behavior it is Contentful's product.
Sanity Studio, by contrast, is an MIT-licensed React application that belongs to you. Custom input components, live preview of your website right inside the Studio, validations with any business logic you like: all a matter of React code instead of a feature request to the vendor.
I will name the flip side clearly: a React application of your own needs care. Dependency updates, occasional breaking changes in major versions, one more deployment target. In my projects that adds up to a few hours per quarter, but it is not zero.
The takeaway for this section: you rent Contentful, you own the Studio. Ownership creates work and opens possibilities; renting is convenient and draws boundaries.
Agency and running costs: the bill behind the bill
The license is only half the truth, because every CMS has to be introduced and operated. With Contentful, maintaining an interface of your own disappears entirely; in return, you pay for customization wishes with marketplace apps, workarounds, or the sentence "that's not possible".
With Sanity, the Studio is part of your website's codebase: same language, same repository, same deployment. For your agency, that means fewer system boundaries; for you, it means Studio maintenance belongs in the maintenance contract.
My own setup as evidence: happycoding.agency runs on Next.js with Sanity. Studio and website live in the same repository and deploy together through Vercel. A schema change is one commit cycle, not a coordination exercise between two systems.
A typical scenario from inquiries: a machine builder maintains 40 product pages in three languages, editorial team in-house, development external. With Sanity, they pay four seats, so $60 per month; with Contentful Lite, $300, and three languages is also the plan's limit. Over three years, the difference comes to roughly $8,600.
Ecosystem and lock-in: how do you get out again?
A CMS decision binds you for years, so check the exit before the entrance. Both vendors allow a full export: Contentful through its CLI as JSON, Sanity through the command sanity dataset export as NDJSON including assets.
The difference sits in the standards. Sanity's query language GROQ and the rich-text format Portable Text are published as open specifications, with implementations outside Sanity too. Contentful's rich-text JSON and its APIs are well documented, but proprietary.
On the ecosystem, Contentful scores with the larger marketplace and a worldwide network of certified partners: a ready-made app exists for almost every marketing tool. Sanity's ecosystem is smaller but closer to the code: plugins are npm packages, and what is missing, you build yourself.
For developers, the two are close: SDKs for JavaScript and TypeScript, official integrations for Next.js, Nuxt, and Astro, decent documentation. You feel the difference in the queries: Contentful offers REST and GraphQL, Sanity adds GROQ, which lets you filter, join, and project content server-side without maintaining a second schema.
The honest finding: with both, the hardest lock-in comes not from the data format but from the volume of integrations and automations your team attaches to it over the years. Practice the export once a year and it stays an option instead of a threat.
And if you rule out SaaS on principle: then a self-hosted system belongs on your list; I look at one candidate in What is Payload CMS?.
EU hosting and GDPR: the underrated difference
For German mid-sized companies, this is often the deciding factor: where does the data live? Sanity stores the Content Lake on the Google Cloud Platform; according to the vendor, the backend systems currently run in three data centers in Belgium, inside the EU, and that applies to every plan (as of October 2026).
At Contentful, EU data residency is an add-on that, according to the developer documentation, exists only in the Premium plan: primary region AWS Ireland, backups in Frankfurt. Free and Lite organizations sit in the US region. If you want to commit to EU storage contractually, Contentful sends you into a sales negotiation.
The full truth includes this: both host with US hyperscalers, Sanity on Google Cloud, Contentful on AWS. Neither resolves the CLOUD Act debate; both offer standard contractual clauses and SOC 2 reports. The practical difference stays large anyway: EU storage from the first euro versus EU storage only in the enterprise contract.
For your record of processing activities, that means concretely: with Sanity, you enter a processor with an EU storage location and you are done. With Contentful on the Free or Lite plan, you document a third-country transfer including standard contractual clauses. Both are doable, but only one of them needs no explaining to your data protection officer.
Comparison table and recommendation matrix
For orientation, the axes at a glance. Read the table as a condensation of the previous sections, not as their replacement; all prices as of October 2026.
| Axis | Sanity | Contentful |
|---|---|---|
| Paid entry | Growth: $15 per seat/month | Lite: flat $300/month |
| Free plan | 20 users, 10,000 documents, 100 GB each assets/bandwidth | 10 users, 10,000 entries, 50 GB CDN |
| Content modeling | Code-first: TypeScript schemas in the repository | Click-first: web interface |
| Editing interface | Open-source Studio (React), freely customizable | Proprietary web app, extendable via apps |
| SSO (SAML) | Enterprise plan only | Premium plan only |
| EU data storage | Standard: GCP data centers in Belgium | Premium add-on: AWS Ireland/Frankfurt |
| Export | NDJSON via CLI; GROQ and Portable Text openly specified | JSON via CLI; proprietary formats |
| Governance out of the box | lean, much is built in the project | roles, workflows, SLA up to 99.99% |
Where Contentful wins, no ifs or buts:
- Governance out of the box: fine-grained roles, approval workflows, and audit features are product promises, not project work.
- Reliability on paper: in the Premium plan, an uptime SLA of up to 99.99 percent plus round-the-clock support.
- Modeling without developers: your business team changes content types itself, right in the interface.
- Partner network: certified agencies worldwide and a large app marketplace for standard integrations.
If your IT department puts exactly these points into the tender, Contentful is the obvious choice, and no pricing argument should talk you out of it. For every other constellation, the matrix helps:
| Scenario | My recommendation |
|---|---|
| Marketing site with a blog, 2 to 10 editors | Sanity (Free or Growth) |
| CMS budget under $100 per month | Sanity |
| Business team changes content models without developers | Contentful |
| EU data storage without an enterprise contract | Sanity |
| Corporate governance, approval processes, mandatory SLA | Contentful (Premium) |
| Tailored editing interface with live preview | Sanity |
| Many separate projects with central management | Contentful (Premium) |
| SaaS ruled out, self-hosting required | neither: look at open-source CMSs |
If several rows apply to you, the strictest requirement wins: governance and compliance obligations beat price advantages, because they are not negotiable.
Next steps
My advice for the decision: build the same small prototype with both free plans, one content type, one detail page, one preview. After two days you know more than after twenty feature tables. How I plan, build, and maintain Sanity projects is on my Sanity services page.
And if you would rather not make the call alone: send me your requirements and your shortlist. I will tell you honestly whether Sanity fits; sometimes my answer is Contentful: Book a free initial consultation.
