How we rank: Headless CMS
The Score (0–100) is a weighted sum of the factors below. Each factor is the weighted average of its metrics; each metric is calculated from one published fact. Missing facts score zero, and a service is ranked only when enough of its Score is backed by facts.
A service is ranked only when at least 70% of its Score is backed by verified facts.
← Best Headless CMS 2026: API-First Content Platforms Compared
Price 25%
Monthly price in USD of the cheapest self-serve paid plan in its smallest size (one seat when the plan is priced per seat): $0 scores 100, $500 or more scores 0 (weight 3). We take the price for the billing period the pricing page states: the monthly-billing price when both are shown, otherwise the monthly equivalent of annual billing, marked as such. A price without a stated billing period, a price that only a script shows, or "contact sales" leaves the fact empty; euro prices are converted at the ECB rate of the check date. Also a permanent free hosted plan (weight 2) and how many users it includes, up to 10 (unlimited scores 100; weight 1).
| Metric | Rule |
|---|---|
| Cheapest paid plan, per month | Linear from 0 (100) to 500 (0) — lower is better |
| Free plan | Yes = 100, No = 0 |
| Users on the free plan | Unlimited = 100; linear from 0 to 10 |
APIs 20%
Whether the vendor documents a GraphQL API (weight 1), a REST API (weight 1) and webhooks that notify other systems when content changes (weight 1). Beta and preview features do not count. A fact means the feature exists on some plan, not necessarily the cheapest one.
| Metric | Rule |
|---|---|
| GraphQL API | Yes = 100, No = 0 |
| REST API | Yes = 100, No = 0 |
| Webhooks | Yes = 100, No = 0 |
Editorial control 15%
Custom roles or fine-grained permissions for editors (weight 1) and a version history of entries that lets you restore earlier versions (weight 1), on any plan.
| Metric | Rule |
|---|---|
| Custom roles and permissions | Yes = 100, No = 0 |
| Version history | Yes = 100, No = 0 |
Control over data 20%
Whether anyone can run the CMS on their own server — as open-source code or a published self-hosted plan, not only under an enterprise contract (weight 2); whether the code is under an OSI-approved open-source licence, while source-available licences do not count (weight 1); and whether content in the vendor's cloud can be stored in the European Union (weight 2).
| Metric | Rule |
|---|---|
| Self-hosting | Yes = 100, No = 0 |
| Open-source licence | Yes = 100, No = 0 |
| Content stored in the EU | Yes = 100, No = 0 |
Trust and reliability 20%
A SOC 2 report or ISO 27001 certificate held by the vendor itself — "compliant", "aligned" or the cloud provider's certificates do not count (weight 2); the highest uptime in a published SLA document or terms, where 99% scores 0 and 100% scores 100 — uptime claims in marketing text do not count (weight 1); a public status page (weight 1); and how long the company has been running, 15 years or more scores 100 (weight 1).
| Metric | Rule |
|---|---|
| SOC 2 or ISO 27001 | Yes = 100, No = 0 |
| Uptime in a published SLA | Linear from 99 (0) to 100 (100) |
| Public status page | Yes = 100, No = 0 |
| Founded | Full score at 15+ years |