Skip to main content
On this page

What Counts as a CMS Seat? Per-Seat Pricing Explained

Pricing analysis 9 min read

TL;DR

A CMS "seat" is anyone who can log in and act on content. Every major headless CMS draws that line in a different enough place to swing your bill by hundreds a month. Sanity gives Viewers away free, and Contentful hard-caps its 300-dollar plan at 20 users. Cosmic and Directus go further, charging 29 to 50 dollars for any added user. Adapto and ButterCMS charge nothing per seat on any tier. The numbers below are dated to 2026; check the live pages before you buy.

The gap comes from where each vendor draws that line. Some count only edit-capable users. Others count every login, and one caps the whole plan and routes you to a sales rep when you cross it. Vendors use the same word to mean different things, which is why one 24-person roster can cost nothing on one platform and a contract negotiation on another, depending on whose pricing page you landed on.

The definition varies because roles vary. A viewer who only previews drafts, an editor who writes and publishes, a developer who changes the content model, and an admin who manages users are four different levels of access, and each vendor draws the billing line in a different place. That single design choice is the difference between a predictable bill and a surprise one.

What counts as a seat, vendor by vendor

Here is where each vendor draws the line, with the per-seat mechanics as published on their pricing pages in 2026. Rates and thresholds in this category change often, so treat this as a snapshot and verify against the live page before you commit.

CMS Cost per extra seat How it defines a seat Source (as of 2026)
Contentful No per-seat meter; Lite is $300/mo and hard-caps at 20 users, then Enterprise Any user counts against the cap; the 21st forces a sales call, not a line item contentful.com/pricing
Sanity $15/seat/mo on Growth, up to 50 Only edit-capable roles bill; the read-only Viewer role is free sanity.io/pricing
Storyblok $15/seat flat beyond the tier minimum Any user beyond the plan's included seats storyblok.com/pricing
Strapi +$15/seat on the CMS-license track, billed apart from Cloud hosting Any user on the license; hosting seats are a separate invoice strapi.io/pricing
Cosmic $29/added user, flat Any added user, regardless of role cosmicjs.com/pricing
Directus +$50/seat Any seat beyond the Team plan minimum directus.io/pricing

Two things stand out from that table. Cosmic and Directus charge the most per head, at 29 and 50 dollars, and they charge it for any user you add. Sanity charges less and exempts an entire role. One word, six different mechanics, with a 50-dollar spread per person per month between the cheapest add and the priciest.

Traps hiding inside the word "seat"

The headline rate is the part vendors put on the page. The traps are in the mechanics underneath it.

The Contentful cliff that aggregators call "$15/user"

Contentful does not have a per-seat meter at all. Its Free tier covers up to 10 users, its Lite tier costs 300 dollars a month and hard-caps at 20 users, and there is no published add-on to buy the 21st (contentful.com/pricing, 2026). Cross that line and the only path forward is Enterprise pricing behind a sales call.

Third-party pricing aggregators often flatten it into a tidy "about 15 dollars per user" figure, as if Contentful metered seats the way Sanity does. It does not. You are buying a 20-user ceiling, and the cost of exceeding it is a contract negotiation with no published number. Budgeting against the aggregator figure will understate what your 25-person team costs by a wide margin. The mechanics are worth reading in full in our Contentful teardown.

The free-viewer asterisk

Sanity's per-seat rate is real, but it applies only to edit-capable roles. Its read-only Viewer role does not consume a billable seat (sanity.io/pricing, 2026), so a marketing stakeholder who logs in to preview a draft costs nothing, while the editor who writes it counts as a seat.

That is a reasonable design, and it is also easy to misread. Compare Sanity's headline 15-dollar seat to Cosmic's 29-dollar user without checking role definitions and you will draw the wrong conclusion, because Cosmic bills any added user and Sanity bills only the ones who can edit. You can't compare seat rates until you know which logins they apply to. The full seat-and-add-on picture sits in Sanity's seat and add-on math.

The two-invoice confusion at Strapi

Strapi charges per seat on its CMS-license track, at roughly 15 dollars per seat beyond the included minimum. The license track starts around 45 dollars a month with 3 seats included, though that base figure is worth confirming on the live pricing-cms page before you rely on it. The mechanic to understand is that this seat charge sits on the CMS license, billed apart from Strapi Cloud hosting, as two separate invoices.

That split trips up TCO comparisons over and over. You price the seats on the license, forget the hosting bill on Strapi Cloud (its own tiers, its own overages), and end up comparing half of Strapi's cost against the full published price of a single-invoice competitor. Anyone modeling Strapi against a flat-rate CMS has to add both invoices together first, a step Strapi's dual billing walks through.

The Storyblok cliff hiding under a flat seat rate

Storyblok's per-seat add-on looks simple: 15 dollars flat beyond the tier minimum (storyblok.com/pricing, 2026). The seat rate is not the whole cost story. Storyblok's Growth plan also jumps from 99 dollars a month to 349 dollars a month the moment usage crosses an asset threshold, a tier cliff that has nothing to do with seat count. A team that never adds a seat can still hit that wall the moment its media library grows. The Storyblok tier cliffs cover the mechanics in full.

The agency case: re-quoting a client for every editor

Per-seat pricing hurts most where the roster is out of your control, which describes agency work exactly. Say you run 8 client sites and each engagement needs 3 people with CMS access: your account lead who edits, the client's marketer who reviews, and one stakeholder who signs off. That is 24 seats before you count your own developers, who need access across every project.

Run that against Cosmic's 29-dollar user and you are at 696 dollars a month in access charges alone, stacked on top of that vendor's other metered dimensions (cosmicjs.com/pricing, 2026). The math for editor and reviewer access is broken down in Cosmic's per-user and add-on costs. That starting number understates the real cost, because a client's roster never holds still. A client hires a second reviewer for launch week, or a freelance copywriter needs temporary access mid-campaign, and you either re-quote the client (an awkward conversation about a line item nobody budgeted) or absorb it as a hit to your margin.

Fixed-price project work and per-seat billing do not fit together, because the price is locked at kickoff and the seat count is not.

The SaaS market is walking away from per-seat pricing

The wider software market has been moving away from per-seat pricing for a couple of years now. Pricing analysts like The SaaS CFO and outlets like SaaS Mag have documented the shift toward usage-based and outcome-based models, on a simple argument: charging per login taxes adoption. When every new user raises the bill, teams ration access and share credentials. The people who would benefit most from the tool end up locked out of it. A per-seat price also assumes a human sits at every seat, but AI agents do not log in the way people do.

Headless CMS pricing lags that shift. Five of the six vendors above still charge per human head somewhere in the ladder, and most bill something on top of it for API calls, bandwidth, or stored assets. The category that sells itself on APIs and automation still prices as if a person types every keystroke.

Adapto's read API and its write tooling are built the other way. The public REST API is read-only and keyed, and all content writes go through the adapto CLI for agents and CI, which runs non-interactively in a pipeline or an AI-agent workflow. An agent that creates hundreds of articles overnight has no seat count to bill. It is a process with an API key, and there is no seat meter for it to trip.

The alternative: unlimited contributors, already shipping

You do not have to accept the seat tax as a law of physics, because unlimited-contributor pricing already exists. Adapto CMS includes unlimited contributors on every tier, alongside unlimited organizations and projects. Headcount is never a pricing lever. Adding a client stakeholder or a freelance contributor does not change the bill and does not require a re-quote.

The price is flat and published, with every feature on every tier and no contact-sales wall at the top: Hobby at 29 dollars a month, Startup at 69, Scale at 249, and Professional at 449. Plans are priced by usage (records, API calls, bandwidth), never by seat count. Current numbers live at Adapto's flat pricing.

Adapto is not the only vendor that treats per-seat as broken. ButterCMS advertises "no seat limits, ever," with unlimited users on every tier (buttercms.com/pricing, 2026). The flat-contributor model is a real position more than one vendor holds. If your contributor count is variable, or if you are tired of read-only reviewers landing on the bill as full seats, a CMS that does not count heads removes an entire column from your budget.

FAQ

What counts as a seat in a headless CMS?

A seat is a named user who can log into the CMS and act on content. Most vendors bill by edit-capable users (editors, admins, developers) and count them against a per-tier minimum, then charge a flat rate for each user beyond it. The exact definition varies: Sanity does not charge for read-only Viewer roles, while Cosmic and Directus charge a flat rate for any added user regardless of role. Always check the vendor's live pricing page, since seat thresholds and rates change often.

Do I pay more when I add a teammate to my CMS?

On most headless CMSs, yes. Beyond a plan's included minimum, adding an edit-capable user costs a flat per-seat rate: about 15 dollars a month on Sanity, Storyblok and the Strapi CMS license, 29 dollars on Cosmic, and 50 dollars on Directus (all as of 2026). Contentful reaches the same result by a different mechanic: its 300-dollar Lite plan hard-caps at 20 users, and the 21st user forces a jump to Enterprise pricing with a sales call. Adapto and ButterCMS charge nothing per user on any tier.

Is a viewer a seat?

It depends on the vendor. On Sanity, a read-only Viewer role is free and does not consume a billable seat, so stakeholders who only need to preview content cost nothing (sanity.io/pricing, 2026). On Cosmic and Directus, any added user counts, viewer or not. Read the seat definition on each pricing page, because a plan that looks cheap per seat can still bill every read-only reviewer you add.

Which headless CMS has no per-seat pricing?

Adapto CMS includes unlimited contributors on every tier, so headcount is never a pricing lever. ButterCMS also advertises no seat limits on any tier (buttercms.com/pricing, 2026). Among the larger vendors, Contentful, Sanity, Storyblok, Strapi, Cosmic and Directus all charge per seat somewhere, whether as a flat per-user rate or a user cap that forces an upgrade.

Is per-seat pricing worth it?

For a small, stable team it can be manageable. It gets expensive when your contributor count is variable or when read-only reviewers get billed as full seats. The wider SaaS market is moving away from per-seat toward usage and outcome-based models, on the argument that charging per login penalizes adoption. If your roster changes often, a flat-rate CMS with unlimited contributors removes seat math from the budget entirely.