On published list prices, Sanity's Growth plan is $15 per seat per month, while Contentful's first paid plan is $300 per month. Neat numbers. Neither tells an enterprise what three years will cost. Contentful's Enterprise tier is custom priced, Sanity's is too, and WordPress has no licence fee at all. This post sets out a three-year model with licence, hosting, build, integrations, maintenance and training kept as separate lines. It states the assumptions, fills in only the cells the vendors actually publish, and leaves labelled placeholders everywhere else for your own quotes.
Why the licence line misleads you
Read the cheapest-looking row in any comparison table and you will usually find a plan that an enterprise cannot actually buy. That is the first problem.
Contentful's Lite plan is $300 a month with 20 users, 3 roles and 3 locales. Sanity's Growth plan is $15 per seat per month with up to 50 seats and 5 permission roles. Both sound fine. Then your requirements arrive: single sign-on, an uptime SLA, five markets, a staging environment. Sanity lists SSO, custom roles, an uptime SLA and invoicing as Enterprise only. Contentful's Lite caps locales at three. Multidots makes the same point about Contentful: the 20-user and 3-locale caps push many enterprises to Enterprise before they ever hit an API threshold.
So the real comparison is between two custom quotes and a platform with no licence but plenty of other work attached. Not $300 against $15.
The second problem is that third parties disagree, and they are all right about their own scenario. Robotostudio, an agency that builds on both, says Sanity is usually cheaper under 20 editors (prices checked 27 Oct 2026). Monterail says Contentful is usually the priciest of the three it compares (Storyblok, Sanity, Contentful), with cost depending on entry count, locales and API usage (published 21 Sep 2026). Neither is wrong. They are describing different team sizes.
Third, licence is only one line. Build effort, integrations, ongoing maintenance and training are paid through salaries or agency invoices, and none of the vendors publish those costs. A platform with a higher licence and a shorter build can finish ahead. A free licence with a long maintenance tail can finish behind. You only see the trade-off when every line sits in the same model.
The cost model and the assumptions behind it
A model is only as honest as its inputs. These are the assumptions I use for the illustrative example later. They are illustrative, chosen to be plausible for a mid-sized enterprise, and you should overwrite every one of them.
- Team size: 30 editors and developers who need write access, plus any number of read-only reviewers.
- Locales: five. Deliberately above Contentful Lite's cap of three, because that is where many enterprise sites land.
- Content volume: around 40,000 entries or documents. This sits above Sanity Growth's included document allowance and inside Contentful's 50,000-record Lite Space.
- Environments: two, production and staging. A third (say, a long-lived development environment) changes the maths on at least one platform, as you will see.
- Term: 36 months, with no discounting, inflation or currency conversion applied.
- Traffic: left as a variable. Where list pricing meters usage, the model shows the published rate rather than a guess at your traffic.
The line items are the same for all three platforms:
- Licence: subscription fees, add-ons and metered overages.
- Hosting and infrastructure: what you pay on top of the licence to serve the content and run the front end.
- Build: content modelling, front-end work, migration, initial configuration.
- Integrations: search, DAM, translation, analytics, SSO, commerce, whatever your stack needs.
- Maintenance: model changes, upgrades, patching, monitoring, environment upkeep.
- Training: editor onboarding and developer ramp-up.
Notice that only the first line has any published vendor data. Lines 3 to 6 are yours to fill. That is not a flaw. It is the point of the model.
One structural note before the platform sections. Whether you go headless or not is a separate decision from which vendor you pick, and it moves build and maintenance more than any licence choice does. If you are still on that question, our headless CMS overview covers it, and the Next.js and headless CMS comparison looks at the front-end side.
Contentful: where the plan structure pushes cost up
Contentful sells in plans and Spaces. A Space is the container for a project's content, and the quotas attach to the Space, not just to the plan.
The self-serve plans
The Free plan is $0 and includes 10 users, 2 roles, 2 locales, 100K API calls a month and 50 GB of CDN bandwidth. It uses hard caps with no overages, and Contentful's usage limits page (version dated August 14, 2026) says it may only be used to test and learn, not for commercial use. Fine for a proof of concept. Not a production line in your model.
Lite is $300 a month: 20 users, 3 roles, 3 locales, 1M API calls and 100 GB of bandwidth, with one Starter Space. The Starter Space allows 25 content types, two environments and 10,000 records. Need more capacity? A Lite Space is a paid add-on at $850 a month on top of the Lite plan, giving 50 content types, four environments, 50,000 records and up to five workflows, plus 2 million more API calls and 750 GB more bandwidth each month.
Overage on Lite is linear and published: $5 per additional million API calls and $0.15 per additional GB of bandwidth. The usage page's own worked example says 50 million extra calls would cost roughly $250, and it prices 500 GB of extra bandwidth as well. It also notes cached CDN responses do not generate extra API calls, so your cache hit rate matters as much as raw traffic.
That is a friendly, modelable curve. What you cannot buy your way past on Lite is the locale cap, the role count or the user count. Robotostudio puts it plainly: past 3 locales or 25 content types, Contentful moves you to a bigger plan. Alkali calls the jump from Free to Lite steep, though for a commercial team the Free plan was never an option anyway.
Enterprise
Enterprise is custom priced, with unlimited API calls, an unlimited Spaces allowance and up to a 99.99% uptime SLA. Contentful says the main price drivers are the number and complexity of use cases, which shape plan choice and Space architecture. The usage page adds that Premium and Enterprise plans don't accrue API call overages, and that pricing there generally scales with use cases rather than delivery scale.
In practice, that means a different kind of conversation. You are not modelling per-million-call charges. You are modelling how many Spaces you need, and of which type. Space types add monthly bandwidth per Space on these plans: Starter 0 GB, Standard 750 GB, Enterprise 2,000 GB and Templated 100 GB. Included asset bandwidth is 10,000 GB a month on Premium and 40,000 GB on Enterprise, and Functions executions are 5,000,000 and 10,000,000 a month respectively.
For budgeting, the only public anchor is secondary. Vendr says Enterprise annual contract values typically run from mid-five figures to six figures or more, with buyers often getting below-list pricing through multi-year commitments, annual prepayment and competitive tension. Activepieces cites a Vendr median of $54,173 a year. Treat that as a starting number for a business case, not a quote.
Add-ons that sit outside the core plan
Personalization has Start, Core and Scale tiers on Enterprise plans, with monthly active profile allowances of 100K, 500K and 1M. AI Actions includes AI credits on Enterprise, with pay-as-you-go or pre-pay options. Studio is sold on custom plans priced per year. Contentful notes that Studio and Personalization typically need some initial development to integrate with the front end, so each one adds a licence line and a build line. Budget for both or neither.
One procurement footnote. Monterail reports Salesforce signed the acquisition of Contentful on June 1 and completed it on September 1. Whether that changes anything for you is a question for your account team, but it belongs in vendor-risk paperwork.
Sanity: seats, add-ons and metered usage
Sanity prices by a different logic. Less about Spaces and use cases, more about seats, datasets and usage.
Plan structure
Free is $0 with up to 20 user seats, 2 permission roles, 2 public-only datasets, and unlimited content types and locales. Growth is $15 per seat per month, up to 50 seats, 5 roles and 2 datasets that can be private or public, with pay-as-you-go for higher usage. Enterprise is custom: custom seats, roles and datasets, SAML SSO, dedicated support and an uptime SLA, an onboarding program, and Media Library as an add-on.
Two details help a model. Viewer seats are free, and every other user type consumes a seat, so only your actual writers and developers count towards the bill. Sanity doesn't charge for content types or locales, though unique attributes per dataset are capped (2,000 on Free, 10,000 on Growth, custom on Enterprise). For a five-locale site, that is a real difference from Contentful's tiering.
Sanity Studio hosting is included on all plans. That removes one infrastructure line you might otherwise carry for a self-hosted editor, though you still host your front end.
Where costs scale on Growth
Included Growth usage is 25k documents, 1M API CDN requests and 250k API requests a month, 100 GB of assets and 100 GB of bandwidth a month. Overages are published: $1 per 250k extra CDN requests, $1 per 25k extra API requests, $0.50 per GB of extra assets and $0.30 per GB of extra bandwidth.
The add-ons are where the arithmetic gets interesting:
- Increased quota, $299 a month: lifts limits to 50k documents, 5M API CDN requests, 1M API requests, 500 GB bandwidth and 500 GB assets.
- Dedicated Support, $799 a month: direct access to Sanity's support engineers.
- Extra datasets, $999 per dataset a month: this is the line to watch. Two datasets are included, so production plus staging fits. A third environment is a budget decision.
AI credits are metered too: Growth includes 1,000 a month and extra credits are $0.05 each, with Content Agent queries costing 4 credits and actions 2. Enterprise includes 5,000.
Terms that matter to procurement
Sanity lists no minimum term, but self-serve plans are monthly card payments only. Invoicing and annual payment are Enterprise only. If your finance team needs purchase orders, you are on an Enterprise quote regardless of seat count. Early-stage startups can get a year of free Growth through the Startup Program, which is irrelevant for enterprise buyers but worth knowing if a spin-out is involved.
Fair summary: Sanity's list pricing is more transparent below Enterprise, and cheaper for small editor counts. Its Enterprise price isn't published, so the transparency stops exactly where your requirements start.
WordPress, classic and headless: the costs outside the licence
WordPress powers over 60% of CMS-based sites, per Monterail, which means hiring, agency capacity and plugin choice are all easier than on a niche platform. There is no licence fee. That does not make the line items disappear. They just move.
Pagepro (an agency that sells Sanity and Next.js work, so read it with that in mind) puts it neatly: WordPress is free to start but not free to run, citing managed hosting as a minimum monthly cost, plus performance plugins, image optimisation tools and maintenance (published 24 Apr 2026). That is a floor for a small site, not an enterprise figure. Over 36 months, that floor still accrues as a real cost. Enterprise hosting from a managed WordPress host will be quoted against your traffic, redundancy and support needs, and I won't invent a number for it.
Classic WordPress
Hosting, the theme and plugin set, and a staging workflow are your main costs. Maintenance is the line that grows. Core, plugin and theme updates arrive continuously, and each one needs a test pass on staging before production. Security patching is routine work, not a crisis, but somebody has to own it: your team, your agency or your host under a managed arrangement. Many managed hosts include a share of this, so ask which updates they apply and which stay with you.
Locales are handled through plugins or multisite. That means integration and maintenance cost rather than a licence tier.
Headless WordPress
Headless keeps the editor you know and swaps the front end for something like Next.js. You pay for two systems: the WordPress backend, meaning hosting, patching and plugin upkeep, and the front-end hosting and build. Build cost goes up compared with classic, since preview, routing and caching all need engineering. Run cost for the editor side stays much the same.
The upside is cost flexibility. You can keep the editorial experience your team already uses and put your spend into the delivery layer. For a longer treatment of that trade, see our piece on Sanity vs WordPress for enterprise and the enterprise WordPress replatforming guide.
There is no sourced enterprise WordPress cost data in the material I'm working from, beyond that hosting floor. So the WordPress column of the model below is mostly your own quotes.
The three-year model, illustrated, and how to rebuild it
Here is the part the vendors do publish, turned into arithmetic. Every figure comes from list prices or the Vendr median cited above, multiplied by 36 months. The assumptions are the illustrative ones from earlier: 30 write seats, 40,000 entries, two environments.
| Scenario | Monthly | 36 months | Status |
|---|---|---|---|
| Contentful Lite plus Lite Space | Sum of the two list prices | Monthly total x 36 | Sourced list price; 3-locale cap applies |
| Contentful Enterprise at Vendr median | about $4,514 | Annual median x 3 | Sourced median ($54,173 a year x 3); negotiated in practice |
| Sanity Growth, 30 seats plus Increased quota ($299) | Sum of seat cost and add-on | Monthly total x 36 | Sourced list price |
| Same, plus Dedicated Support ($799) | Sum of the above plus Dedicated Support | Monthly total x 36 | Sourced list price; no SSO or SLA |
| Sanity Enterprise | Custom | Quote needed | Not published |
| WordPress managed hosting floor | Agency-cited floor | Floor x 36 | Agency-cited minimum; enterprise hosting will be higher |
A few readings. The cheap Contentful row can't carry five locales, and the cheap Sanity row can't carry SSO or an SLA. So for this illustrative enterprise profile, the honest comparison is Contentful Enterprise against Sanity Enterprise, both quotes, with the Growth rows as a floor. The Contentful median is a market datapoint, not a promise, and Vendr itself says buyers often negotiate below list.
Now the full structure with the unsourced lines left open:
| Line item | Contentful | Sanity | WordPress |
|---|---|---|---|
| Licence | See table above | See table above | $0 |
| Hosting and infrastructure | Included in plan; front-end hosting extra | Studio hosting included; front-end hosting extra | Your quote (floor above for small sites) |
| Build | Your quote | Your quote | Your quote |
| Integrations | Your quote | Your quote | Your quote |
| Maintenance (x 36 months) | Your quote | Your quote | Your quote, including patching |
| Training | Your quote | Your quote | Your quote |
All of the cells marked 'Your quote' are placeholders. I am not going to guess them, because a made-up build cost would anchor your business case on fiction.
If you want a second pair of eyes on those lines, our CMS website development services team can price the build, integration and maintenance cells against your actual requirements.
How to rebuild it with your own numbers
- Fix the requirements first. List editors with write access, locales, environments, SSO and SLA needs, and expected entry count. These decide which plan tier each vendor puts you on.
- Get tier-correct licence prices. Use the published list for Lite or Growth only if your requirements fit. Otherwise ask Contentful and Sanity for Enterprise quotes with the same requirements list, so they are comparable.
- Model usage on the platforms that meter it. On Sanity, price CDN and API requests, bandwidth and assets against the published overage rates. On Contentful Lite, do the same with the $5 per million calls and $0.15 per GB rates, and discount for cache hits.
- Add the optional modules deliberately. Personalization, Studio, AI credits and Sanity's Media Library are separate lines. Include them only if the business case needs them, along with their build work.
- Request build, integration and maintenance estimates in the same format from your internal team or agencies, for each platform, for 36 months.
- Run three cases per platform: expected, a higher usage case and a 'we added a third environment' case. The spread tells you more than the midpoint.
One warning about the exercise. A model like this compares cost, not fit. A slightly pricier platform that matches your governance model can easily beat a cheaper one that needs workarounds. Keep a separate column for risk and requirements coverage.
FAQ
Can we run a pilot on the free plans?
On Sanity, the Free plan has no stated commercial restriction on the pricing page, though its limits (2 public datasets, 2 roles) may not suit a real pilot. On Contentful, the usage terms say the Free plan is for testing and learning only, not commercial use, and it has hard caps with no overages. Use it for proofs of concept and move to a paid plan before anything customer-facing.
Can Sanity be paid annually, or by purchase order?
Not on self-serve plans. Sanity lists monthly card payment for Free and Growth, with invoicing and organisation-level billing on Enterprise only. There is no minimum contract term on its list pricing.
Does Contentful discount multi-year deals?
Vendr reports that buyers often get below-list Enterprise pricing through multi-year commitments, annual prepayment and competing quotes. Those are market observations from a procurement platform, not a published Contentful policy, so treat them as negotiation levers rather than guarantees.
Should the Salesforce acquisition change the business case?
Monterail reports the acquisition was signed on June 1 and completed on September 1. Nothing in the pricing pages I'm drawing on shows a pricing change as a result. Add it as a vendor-risk question for your account team and re-check pricing at contract time.
The sharpest caveat is this: the only fully published numbers in the three-year model are licence lines, and at enterprise requirements both Contentful and Sanity move to custom quotes, so build, integration, maintenance and training will decide the comparison.