A ten-person team with eight editors on Sanity pays $120 a month before anyone writes a single piece of content. Per-seat pricing means your bill moves with your org chart, not with what you actually ship. Add per-API-call fees on top and your bill also moves with your traffic. Two multipliers, neither of which you control.
Self-hosted, open-source headless CMS platforms remove both. You pay for infrastructure and for the people who run it - nothing scales with editor headcount, nothing scales with request volume. That trade has real costs too. They just don't show up on a pricing page.
Below, I evaluate the main self-hostable options on the same criteria: license terms, what "free" actually covers, infrastructure floor, and hidden operational cost. Then I close with when self-hosting genuinely wins and when it doesn't.
The criteria
You're comparing platforms that share a headline promise, no per-seat, no per-API-call, but differ meaningfully underneath. Four questions separate them:
- License terms. Is it MIT, or is there a revenue threshold or commercial-use clause?
- What the free tier includes. Unlimited seats and API calls are table stakes here; the real question is what's gated behind a paid edition.
- Infrastructure floor. What does a small production deployment actually cost per month?
- Operational overhead. Upgrades, backups, security patches, plugin maintenance. The hours nobody quotes you.
Every platform below is evaluated against these four.
Strapi
License: Open-source, self-hostable Community Edition. Free forever.
What's included free: Unlimited roles, unlimited locales, unlimited API calls, unlimited components and content types, 200MB max asset size. Most SaaS platforms cap at least one of these. Strapi doesn't cap any of them.
Infrastructure floor: Standard Node.js + database hosting. Budget $50–$300/month for a production backend depending on traffic and database sizing.
Operational overhead: This is where Strapi's real cost lives. Strapi updates regularly, and you should budget 2–4 hours per minor upgrade cycle if you're running a customised instance. Over a year, that's real engineering time. Strapi Cloud starts at $29/month if you want to skip the hosting side but keep the CMS free-tier feature set.
Verdict: Strong fit if you want a mature, widely-adopted OSS headless CMS and have a team comfortable with Node.js upgrades. The unlimited API calls on the free tier are the headline win.
Payload
License: MIT. No monthly software fee, no per-seat cost, no API call pricing.
What's included free: Everything in the framework. Payload is code-first, so "features" are really TypeScript primitives you compose.
Infrastructure floor: A self-hosted Payload production site starts under €10/month and scales from there. That's the lowest floor of any option on this list.
Operational overhead: Payload Cloud shut down following the Figma acquisition, which means self-hosting is now the only path. If you were counting on a managed option as a fallback, that door is closed. You own the infrastructure decision entirely.
Verdict: The cheapest floor and the cleanest license. The trade-off is that the managed escape hatch no longer exists, you're committed to running it yourself.
Directus
License: Business Source License (BSL) with a revenue-based free-use threshold. If your organization has less than $5M in total annual income, you can self-host in production for free, including commercial projects. Above $5M, you become a paying sponsor at $1,500/year.
What's included free: Full self-hosted Directus, all features, under the revenue threshold.
Infrastructure floor: Similar to Strapi. Node.js + database, so $50–$300/month for a small production deployment.
Operational overhead: Comparable to Strapi. The additional consideration is the revenue threshold: if your company is on a growth trajectory that will cross $5M, price that $1,500/year in from day one so it isn't a surprise.
Verdict: Very fair terms for startups and mid-market teams. The $1,500/year above threshold is negligible against enterprise SaaS quotes, but it does mean "free forever" has an asterisk that Strapi and Payload don't have.
Webiny
License: Open-source Community Edition (MIT) covering CMS, Website Builder, and File Manager. Business Edition from ~$79/month adds RBAC, multi-tenancy, and publishing workflows. Enterprise Edition is custom-priced for SSO, audit logs, and priority support.
What's included free: The CMS itself. Custom content models, GraphQL API, field-level permissions, localization, versioning, plus the Website Builder and File Manager. No per-seat fees, no per-API-call fees at any tier.
Infrastructure floor: Webiny runs serverless on AWS or in your own containerized environment. On AWS it's serverless (Lambda, DynamoDB, S3, CloudFront), so there are no servers to patch and it scales with traffic. Webiny can now also be deployed in containerized environments such as Docker and Kubernetes, giving teams greater flexibility in how they run and manage their Webiny deployments.
Verdict: The differentiator versus Strapi, Payload, and Directus is native multi-tenancy in the Business Edition. You can run thousands of sites or brands from a single instance without provisioning separate deployments. If that's your use case, the per-instance math changes significantly.
What "free" actually costs
Every platform above eliminates per-seat and per-API-call fees. None of them eliminates cost.
The consistent hidden cost is time. If you choose self-hosted infrastructure, you handle hosting, security, backups, and updates. Premium plugins, enterprise-grade support, and extra bandwidth often come with additional fees. Over three years, a SaaS bill tends to move with your volumes; a self-hosted bill tends to move with the size and cost of the team running it. Which one totals less depends on how fast your volumes grow and whether you already have the capacity to run infrastructure reliably.
Two honest signals you should self-host:
- You already have DevOps capability on the team, or the CMS is going into an environment you already operate.
- Your growth trajectory means per-seat or per-API-call fees will compound faster than infrastructure and maintenance costs will.
Two honest signals you shouldn't:
- You have no one who wants to own upgrades, patches, and backups.
- Your team is small enough and traffic low enough that SaaS free tiers or entry pricing genuinely cover you.
Frequently asked questions
Is there a headless CMS with no per-seat and no per-API-call fees?
Yes, several. Strapi Community Edition, Payload, Directus (below the $5M revenue threshold), and Webiny Community Edition all remove both fee types when self-hosted. The differences are in license terms, infrastructure model, and what's gated behind paid tiers.
What's the cheapest self-hosted headless CMS to run?
Payload has the lowest documented infrastructure floor. Production deployments start under €10/month. Strapi and Directus typically run $50–$300/month for a production backend depending on traffic. Webiny's serverless model scales with usage, so the floor varies with your deployment shape.
Do open-source headless CMS platforms have hidden costs?
Yes. Beyond infrastructure, you pay in engineering time: 2–4 hours per minor Strapi upgrade cycle on a customised instance, comparable numbers for Directus, and ongoing responsibility for security patches, backups, and plugin maintenance across all of them. Premium plugins and enterprise support tiers add cost where they apply.
How does Webiny compare to Strapi and Payload for teams that need multi-tenancy?
Webiny includes native multi-tenancy in its Business Edition, letting you run thousands of sites or brands from a single instance. Strapi and Payload require you to either provision separate deployments per tenant or build the multi-tenancy layer yourself. If you're evaluating platforms for a multi-brand or agency use case, that architectural difference tends to matter more than the license comparison.
When should you pick SaaS over self-hosting?
When your team is small, your traffic is modest, and you don't have DevOps capacity you want to spend on CMS operations. Predictable monthly expenses and turnkey operations are worth paying for if the alternative is engineering time you can't spare. The math flips once per-seat or per-API-call fees start compounding faster than the cost of running infrastructure yourself.

