Word & Press · 24 publishing platforms profiled Updated 11 October 2026

Guide

Choosing a headless CMS for publishers: four systems compared

How to choose a headless CMS for a news or magazine site: licences, drafts, preview and plan limits for Strapi, Payload, Sanity and Directus.

By Word & Press Published 11 October 2026 Facts verified 10 October 2026 Read 4 min

The short answer

Choose a headless CMS for a publication by checking four things before features: the licence, how drafts and scheduling work, what editorial preview costs in developer time, and which plan unlocks roles and workflow. Strapi, Payload, Sanity and Directus differ sharply on all four, so compare them on those terms.

CHOOSING A HEADLESS CMS

A headless CMS holds the content and exposes it through an API. Your website is a separate application that someone has to build and run. For a publisher that trade can pay off in speed and flexibility, but it moves editorial features that a traditional CMS ships ready-made, such as preview and URL handling, into your own code.

This guide covers four systems that have profiles on this site: Strapi, Payload, Sanity and Directus. It describes what each vendor’s documentation says. We have not run these systems ourselves, so nothing here is a test result. For the wider picture see the headless section and the CMS hub.

What should a publisher check first?

Four questions separate these products more than their feature lists do.

  1. Licence. Can you run it, modify it and keep running it if the vendor changes course?
  2. Drafts and scheduling. Where do drafts live, and what does scheduled publishing need?
  3. Preview. What does it take for an editor to see an article as it will appear?
  4. Plan limits. Which roles, seats and workflow features sit behind a paid plan?

How do the licences compare?

System Licence according to its licence file What to note
Strapi MIT Expat for the Community Edition Anything under an ee/ directory is the Enterprise Edition, licensed separately
Payload MIT License Copyright Payload CMS, LLC, 2018-2026
Sanity MIT License (the sanity-io/sanity repository) Covers the repository; the hosted content service is priced separately
Directus Monospace Sustainable Core License 1.0 Source-available, restricts Competing Use, adds GPL v3 after the fourth anniversary

The Directus licence defines Competing Use as making the software available to a party that competes with the licensor’s commercial offerings of the software itself, where the licensor charges a fee. A publisher running its own site is not obviously doing that, but a legal read is sensible if you plan to host the software for others. The general differences between licence types are in our licensing guide.

Strapi’s licence file also ties the MIT grant to having no registered account on its cloud offering, which is worth reading in full before you sign up for anything.

How do drafts and scheduling differ?

Payload documents are Draft, Published or Changed in the Admin UI. Its documentation says scheduled publishing and unpublishing only run if the application is set up to process Jobs; otherwise the scheduled jobs are never executed. That is a hosting task, not a switch.

Strapi lists Releases as included from the Growth plan and not in Community. Sanity lists scheduled drafts as included from Growth. Neither is available on the free tier according to the vendors’ pricing pages.

If your newsroom schedules stories overnight or embargoes announcements, test this specific path, including what happens when the job runner is down.

What does editorial preview cost?

Every system here treats preview as work on your front end, not something that arrives with the CMS.

Directus Live Preview needs a Preview URL for each collection, a frame-src content security policy setting on the Directus instance and a frame-ancestors header on the website. Its documentation adds that a static site generator used for preview must render the item page on load rather than at build time.

Sanity’s visual editing documentation describes live preview, click-to-edit and drag-and-drop page building. It lists client setup, draft mode, overlays and real-time content updates as the implementation areas, with quickstarts for Next.js, Remix, Astro, SvelteKit, Nuxt and React Native.

Strapi marks Live Preview as a Growth and Enterprise feature on its self-hosted pricing page.

Budget developer time for this. It is the feature editors notice first when it is missing.

What do plans and roles cost?

System Free tier according to pricing page First paid step
Strapi Community, free Growth, $45 per month including 3 seats, +$15 per month per extra seat
Payload Not covered by a pricing page we opened Not documented here
Sanity Free, $0, up to 20 user seats, 10k documents, 2 permission roles Growth, $15 per seat per month, 25k documents, 5 permission roles
Directus Core, $0 per month, 3 user seats, 25 collections Team, $499 per month billed annually or $599 monthly, 10 SSO seats, 50 collections

Roles deserve a closer look. Sanity’s page shows 2 permission roles on Free and 5 on Growth, with custom roles and access control on Enterprise. Directus says SSO is not available on Core. Strapi lists Review Workflows as Enterprise only. Payload’s documentation describes no built-in roles at all: access control is written as functions, and the example in the documentation uses a role field you define yourself.

That last point cuts both ways. You pay nothing for roles, and you also build and test them.

Which should you pick?

  • You have a JavaScript team and want to own the code: Payload or Strapi Community. Expect to build roles, workflow and preview yourself.
  • You want a hosted content service and are happy to pay per seat: Sanity. Check that Growth’s role set covers your desk structure.
  • You already have a database and want an API over it: Directus. Read the licence terms first, and watch the 3 seat limit on Core.
  • You need editors to schedule and review without developer help: Price the paid plans before the free ones. The workflow features sit there.
  • You have no developer: a headless CMS is probably the wrong choice. See our CMS cost guide and the feature checklist.

Prices and plan limits change. Compare against the vendor’s pricing page on the day you decide, and against a written list of your required features.

Questions people ask

Is a headless CMS a good fit for a news site?

It can be, when you have developers to build and maintain the front end. The CMS gives you content modelling and an API, but preview, URLs, sitemaps and caching become your team's work. Small teams without a developer are usually better served by a CMS that includes a front end.

Which of these is fully open source?

According to their licence files, the Payload and Sanity repositories are MIT licensed. Strapi's Community Edition is MIT Expat with a separately licensed Enterprise Edition. Directus uses a source-available licence that restricts competing use and converts to GPL v3 after four years.

Do I have to pay for editorial workflow?

Often, yes. Strapi lists Review Workflows as Enterprise only, Sanity includes scheduled drafts from Growth, and Directus's free Core tier has 3 user seats. Payload has no built-in roles, so you build the workflow in code instead of paying for it.

Can editors preview an article before publishing?

Only if a developer builds a preview route on the front end. Each vendor's documentation describes preview as a front-end task, and some tie side-by-side live preview to a paid plan. Ask to see a working preview on your own templates before you commit.

Sources

  1. Strapi's licence file says the software is provided under the MIT Expat licence if you do not use anything under an ee/ directory and have no registered account on its cloud offering; components under an ee/ directory are the Enterprise Edition, licensed separately. — source, checked 10 October 2026.
  2. Strapi's self-hosted pricing page lists Community as free, Growth at $45 per month including 3 seats (+$15 per month per extra seat) and Enterprise on request. — source, checked 10 October 2026.
  3. On Strapi's self-hosted pricing page, Live Preview and Releases are not included in Community but are included in Growth and Enterprise, Content History is 14 days on Growth, and Review Workflows are Enterprise only. — source, checked 10 October 2026.
  4. Payload's repository licence file is the MIT License, copyright 2018-2026 Payload CMS, LLC. — source, checked 10 October 2026.
  5. Payload documents can be Draft, Published or Changed in the Admin UI; scheduled publish and unpublish require the Payload app to be set up to process Jobs, otherwise scheduled jobs are never executed. — source, checked 10 October 2026.
  6. Payload's access control documentation does not describe built-in roles; access control is written as functions scoped to operations, and the documented example uses a role field that the developer defines. — source, checked 10 October 2026.
  7. The sanity-io/sanity repository's licence file is the MIT License, copyright 2016-2026 Sanity.io. — source, checked 10 October 2026.
  8. Sanity's pricing page lists Free at $0 with up to 20 user seats and 10k documents, Growth at $15 per seat per month with 25k documents, and Enterprise on custom pricing. — source, checked 10 October 2026.
  9. On Sanity's pricing page, Free has 2 permission roles and Growth has 5; scheduled drafts and comments are included from Growth, SSO is Enterprise only, and Enterprise has custom roles and access control. — source, checked 10 October 2026.
  10. Sanity's visual editing documentation describes live preview, click-to-edit and drag-and-drop page building, and lists client setup, draft mode, overlays and real-time content updates as implementation areas, with quickstarts for Next.js, Remix, Astro, SvelteKit, Nuxt and React Native. — source, checked 10 October 2026.
  11. Directus's licence file is the Monospace Sustainable Core License 1.0, which grants an additional GNU GPL version 3 licence effective on the fourth anniversary of the date the software is made available. — source, checked 10 October 2026.
  12. The Directus licence defines Competing Use as making the software available to any party that competes with the licensor's commercial offerings of the software itself, where the licensor charges a fee. — source, checked 10 October 2026.
  13. Directus's pricing page lists Core at $0 per month with 3 user seats and 25 collections, Team at $499 per month billed annually or $599 billed monthly with 10 SSO seats and 50 collections, and Enterprise on custom pricing; SSO is not available on Core. — source, checked 10 October 2026.
  14. Directus Live Preview needs a Preview URL per collection, a frame-src content security policy setting on the Directus instance and a frame-ancestors header on the website, and its documentation says a static site generator used for preview must render the item page on load rather than at build time. — source, checked 10 October 2026.