Headless CMS
Headless CMS Costs: Platform Fees vs Build Investment
By George Shvaya · Updated July 2026 · 10 min read
Headless CMS cost has three layers: the platform subscription, which is often the smallest; the one-time build and migration investment, which is usually the largest; and ongoing management, which is the part that compounds. Comparing platforms on sticker price alone misses where the money actually goes. Nearly every budget surprise we see on a headless CMS project comes from the same mistake: a team compares two pricing pages, picks the lower number, and then discovers that the platform fee was never the decisive line item.
At a Glance: The Three Cost Layers
| Cost layer | What it covers | How platform choice affects it |
|---|---|---|
| Platform subscription | Hosted backend, editor seats, API usage or bandwidth, support tier | Varies most by pricing model: per-seat, usage-based, license, or free-to-license (self-host) |
| Build & migration (one-time) | Content modeling, frontend build, integrations, content migration, QA, launch | Largely platform-independent — driven by content volume, page types, and source-data quality |
| Ongoing management | Dependency and platform upgrades, schema changes, new templates, monitoring, content support | Higher on self-hosted stacks (you own the infrastructure), lower on hosted platforms |
Layer One: The Platform Subscription
This is the number everyone starts with, and it is the number that matters least on a typical mid-sized site. A headless platform charges you for hosting the content backend, for editor seats, and — depending on the vendor — for API requests, bandwidth, or asset storage. Those charges are real and they scale, but for a site with a handful of editors and normal traffic they are usually a minority share of the first-year total.
The subscription becomes the dominant cost in two situations. The first is organizational scale: once you have dozens of editors, per-seat pricing compounds fast. The second is traffic or integration volume: usage-based plans can move sharply when a site starts serving a high request volume, or when a poorly cached frontend hits the content API far more often than it needs to. Both are predictable in advance if you model them before choosing.
How Platform Fee Models Differ
Published prices change, sometimes quarterly, so we do not quote them — check the vendor pages directly. What is stable and worth understanding is the shape of each model, because that shape determines which of your growth curves will drive your bill:
| Platform | Fee model shape | Current pricing |
|---|---|---|
| Sanity | Hosted, usage-based (API requests, bandwidth, seats) with a free tier | sanity.io/pricing |
| Strapi | Open-source core, free to self-host; managed Strapi Cloud tiers as an alternative | strapi.io/pricing |
| Directus | Open-source community edition to self-host; Directus Cloud as the managed option | directus.io/pricing |
| Craft CMS | Per-installation license plus renewable updates; plugins licensed separately | craftcms.com/pricing |
| Contentful | Hosted tiers combining seats, spaces, and usage allowances | contentful.com/pricing |
Read that table as a set of questions about your own organization rather than a ranking. Usage-based pricing rewards a well-cached frontend and punishes a chatty one. Per-seat pricing rewards a small editorial team and punishes broad internal access. A perpetual license rewards a long-lived site and asks for renewal discipline. Free-to-license, self-hosted software rewards teams that already operate infrastructure and punishes teams that do not. Our platform comparisons go deeper on the architectural side of the same decision: Sanity vs Strapi and Strapi vs Directus.
The Hidden Costs of Self-Hosting
“Open source, so it’s free” is the single most expensive assumption in this category. A free license genuinely removes license cost and vendor lock-in. It does not remove any of the following, all of which are hours someone on your side has to spend:
- Infrastructure — servers or containers, the database, object storage for assets, and a CDN in front of it
- Upgrades — minor releases are routine, but major versions of a self-hosted CMS can involve breaking changes and plugin compatibility work
- Backups and recovery — automated, tested, and actually restorable, which is a different thing from configured
- Monitoring and uptime — someone is on the hook when the admin panel is down and an editor needs to publish
- Security patching — a self-hosted admin panel is an exposed application with its own patch cadence
None of that argues against self-hosting. It argues for pricing it honestly. If your team already runs Node services and Postgres in production, the marginal cost of one more application is modest and self-hosting is often the better economic choice. If it does not, you are not choosing between a subscription and zero — you are choosing between a subscription and a new operational responsibility, and managed cloud tiers of the same open-source platforms exist precisely for that case.
Layer Two: The Build Investment
This is where most of the money goes, and it is largely independent of which platform you pick. A headless build is a custom frontend plus a designed content model, and those are engineering deliverables regardless of vendor. Three things dominate the scope:
Content modeling. Deciding what entities exist — services, locations, people, case studies, FAQ items — how they reference each other, and which fields editors can safely change. Good modeling is the highest-leverage work in the project, because a clean model makes every later template cheap and a muddled one makes every later template a negotiation. It is also what makes the content usable as structured entity data downstream.
The frontend. With a headless CMS there is no theme to install; every page type is built. Cost tracks the number of distinct templates and the amount of genuinely bespoke interaction, not the number of pages. Forty pages built from four templates is a small build. Twelve pages each designed differently is a large one.
Migration. This is the line item teams underestimate most. Scripted migration from a well-structured source is fast; the expensive version is content that has drifted for a decade — inconsistent markup pasted from Word, images referenced by absolute URL, taxonomies used three different ways, and redirects that have to be mapped one by one to protect rankings. What drives migration cost down is a content inventory done before the build starts, plus a willingness to retire pages that no longer earn their keep.
What drives build cost up, in order: an unclear content model, a design system invented during development rather than before it, integrations with systems nobody has documented, and scope that grows page type by page type. What drives it down: fewer templates doing more work, a migration source that has been audited, and decisions made once and written down.
Layer Three: Ongoing Management
After launch the cost does not go to zero, and pretending it will is how sites quietly rot. The recurring drivers are dependency and framework upgrades, CMS platform version updates, schema changes as the business adds services or locations, new templates for campaigns, performance and Core Web Vitals regressions, and editor support when someone needs a field that does not exist yet. On a self-hosted stack, add the infrastructure work above.
The size of this layer is mostly a function of decisions made during the build. A tightly modeled site where editors can publish new services and locations without a developer needs very little ongoing engineering. A site where every new page type is a code change needs a lot. We break the recurring side down in more detail in headless CMS management.
When Headless Is Not Worth It
Honestly: often. A five-page brochure site for a local business, with content that changes twice a year and no integrations, does not need a headless architecture. The build investment is the same shape it would be for a much larger site, and there is no content volume, no multi-channel requirement, and no editorial team to amortize it against. A well-built conventional CMS site — or a template-based builder — will serve that business better and cost less, and we say so when we see it.
Headless starts paying for itself when at least one of these is true: content volume is high enough that templates beat hand-built pages; the same content has to feed more than one surface; multiple editors need structured guardrails rather than a freeform page builder; performance or programmatic SEO requirements exceed what a themed platform can deliver; or the content model itself is a business asset worth owning. Our custom code vs WordPress comparison walks the same trade-off from the other direction, including the cases where the conventional platform wins outright.
How to Actually Budget This
Build the estimate in the order the money flows, not the order the pricing pages are easiest to read. Start with a content inventory, because it sizes both the migration and the number of templates. Model the content next, because the model determines how much ongoing engineering the site will need for years. Only then choose the platform, and evaluate its fee model against your specific curves — editor count, traffic, request volume — rather than against a competitor’s headline tier. Finally, budget the management layer explicitly instead of discovering it in month four.
We do not publish fixed build prices, because a number that covered every content inventory would have to be wrong for almost all of them. What we do publish is the process: inventory first, scope in writing, reasoning shown, per our methodology.
Frequently Asked Questions
What is the cheapest headless CMS?
That is usually the wrong question, because the platforms do not price on the same axis. Some charge per seat, some by API usage or bandwidth, some sell a perpetual license, and some are free to license but cost real money to host and operate. A platform that looks cheapest on a pricing page can be the most expensive in total once hosting, upgrade work, and editor licensing are counted. Compare total cost across the build, the subscription, and the ongoing management together — the platform line is rarely the one that decides the budget.
Is an open-source headless CMS actually free?
The license is free; the operation is not. Self-hosting a CMS like Strapi or Directus community edition means you own the server or container platform, the database and its backups, upgrades and breaking-change migrations, monitoring, uptime, and security patching. Those are real hours, and they recur. Open source removes license cost and vendor lock-in, which are genuine wins — it does not remove operating cost, and budgeting as if it does is the most common way headless projects go over.
How much does a headless CMS build cost?
It is scoped per project rather than quoted from a price list, because the build cost is driven by how much content exists, how complex the content model is, how many page types the frontend needs, and how messy the migration source is. We will not publish a number that pretends to cover all of that. Our process is to run a content inventory first, then scope the work in writing with the reasoning shown, as described on our methodology page — so you see what drives the figure before you commit to it.
Can I reduce costs later by switching platforms?
Sometimes, but switching mostly moves cost rather than removing it. Migrating from a hosted platform to self-hosting trades a subscription for ops time; migrating the other direction trades ops time for a subscription. Either way you pay a second migration cost, and you re-test the whole frontend. Switching pays off when the driver is structural — usage pricing that has outgrown your budget, a compliance requirement, or a platform you cannot model your content in — and rarely pays off as pure cost-cutting. The cheaper lever is usually reducing the management overhead you have, not changing where the content lives.
Want a Real Number Instead of a Range?
Send us your content inventory and requirements. We’ll scope the build in writing — with the reasoning behind every line — and tell you plainly if headless is the wrong fit.