# KeystoneJS vs Strapi

**Leader by Vioscale score:** Strapi

| Attribute | KeystoneJS | Strapi |
|---|---|---|
| **Vioscale score** | 58.9 (56% (medium)) | 71.1 (76% (high)) |
| activity.commits_last_30d | 100 | 100 |
| adoption.dependent_repos | - | 4,257 |
| adoption.github_stars | 9,963 | 73,016 |
| adoption.package_downloads_weekly | - | 184,945 |
| deployment.options | `{"self_hosted":true}` | `{"cloud":true,"self_hosted":true}` |
| description.long | A headless CMS for developers that provides a GraphQL API and management UI for content and data. Developers define a schema and get a powerful backend without boilerplate or bootstrapping. | A TypeScript-based headless CMS that enables you to design content structures and automatically create REST and GraphQL APIs. Deploy it yourself for full data control or use managed cloud hosting, with extensive options to customize the admin interface and backend logic. |
| features.capabilities | `{"cms_type":"headless","free_tier":true,"open_source":true,"headless_api":true,"self_hostable":true,"visual_builder":false,"content_workflow":true,"plugin_ecosystem":"Custom field types and extensible architecture","structured_content":true}` | `{"cms_type":"headless","free_tier":true,"open_source":true,"headless_api":true,"localization":true,"self_hostable":true,"visual_builder":true,"managed_hosting":true,"content_workflow":true,"plugin_ecosystem":"197 community-built integrations and plugins","structured_content":true}` |
| integrations.count | 4 | 197 |
| integrations.list | `[{"name":"Cloudinary"},{"name":"Prisma"},{"name":"Apollo Client"},{"name":"OpenTelemetry"}]` | `[{"name":"React"},{"name":"Vue.js"},{"name":"Svelte"},{"name":"Astro"},{"name":"Next.js"},{"name":"Nuxt.js"},{"name":"Flutter"},{"name":"React Native"},{"name":"TanStack"},{"name":"React Router 7"},{"name":"React-admin"},{"name":"Azure"},{"name":"Railway"},{"name":"Cloudinary"},{"name":"ImageKit"},{"name":"Mux"},{"name":"Elasticsearch"},{"name":"Algolia"},{"name":"n8n"},{"name":"Postmark"},{"name":"Resend"},{"name":"Croct"},{"name":"SearchBlox"},{"name":"Expo"},{"name":"Medusa"}]` |
| language.primary | TypeScript | TypeScript |
| license.spdx | MIT | SEE LICENSE IN LICENSE |
| market.availability | - | `{"primaryMarkets":["US"],"availabilityScope":"global","availableCountries":[],"notAvailableCountries":[]}` |
| platform.support | `{"cli":true,"web":true}` | `{"web":true}` |
| pricing | `{"type":"open_source","summary":"Free and open source","freeTier":true,"sourceUrl":"https://keystonejs.com","retrievedAt":"2026-08-03T14:26:59.733Z"}` | `{"type":"subscription","plans":[{"free":true,"name":"Community","summary":"Free forever, open-source","features":["MIT-licensed open-source software","Role-based access control","REST and GraphQL APIs","Unlimited entries and API calls","Media library","Webhooks","Dynamic zones and components","Custom fields","TypeScript support","Data import/export/transfer","CRON jobs","Marketplace access","Community support"],"components":[{"kind":"fixed","amount":0,"period":"month","currency":"USD"}],"description":"Open-source tier with unlimited usage","contactSales":false,"includedLimits":{"roles":"Unlimited","entries":"Unlimited","locales":"Unlimited","api_calls":"Unlimited","content_types":"Unlimited"}},{"free":false,"name":"Growth","summary":"$45/month includes 3 seats; additional seats $15/month each","features":["Everything in Community","Strapi AI (1,000 credits/month)","Live Preview","Releases","Content History (30-day retention)","Basic support","Additional seats at $15/month each"],"minSeats":3,"commitment":"monthly","components":[{"kind":"fixed","amount":45,"period":"month","currency":"USD"},{"kind":"per_unit","unit":"seat","amount":15,"period":"month","currency":"USD"}],"description":"Production features including AI, content versioning, and advanced collaboration","contactSales":false,"includedLimits":{"seats_included":"3","ai_credits_monthly":"1000","content_history_retention":"30 days"}},{"free":false,"name":"Enterprise","summary":"Custom pricing—contact sales","features":["Everything in Growth","Review workflows","Audit logs","SOC 2 report","Standard and premium support with concierge advisory","Offline licensing available"],"description":"Governance, compliance, and dedicated support for large-scale deployments","contactSales":true,"includedLimits":{"content_history_retention":"365 days"}}],"addOns":[{"name":"Single Sign-On (SSO)","components":[{"kind":"fixed","amount":150,"period":"month","currency":"USD"}]},{"name":"SSO Additional Seats","components":[{"kind":"per_unit","unit":"seat","amount":50,"period":"month","currency":"USD"}]},{"name":"Strapi AI Additional Credits","components":[{"per":{"qty":100,"unit":"credits"},"kind":"metered","amount":1.5,"currency":"USD"}]},{"name":"Offline Licensing"}],"summary":"Free forever with Community tier. Growth at $45/month (3 seats included) + $15 per additional seat. Enterprise available by quote. AI and SSO add-ons available.","currency":"USD","freeTier":true,"sourceUrl":"https://strapi.io/pricing-cms","retrievedAt":"2026-08-14T15:30:33.274Z","freeTrialDays":30,"startingPrice":{"amount":15,"period":"month","currency":"USD"},"billingPeriods":["month"]}` |
| pricing.free_tier | yes | yes |
| pricing.model | freemium | commercial |
| pricing.price_level | free | mid |
| pricing.transparent | - | yes |
| release.cadence_days | 14 | 6 |
| release.history | `[{"url":"https://github.com/keystonejs/keystone/releases/tag/2026-08-20","date":"2026-08-20T01:10:41Z","type":"stable","version":"2026-08-20"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2026-08-18","date":"2026-08-18T05:59:51Z","type":"stable","version":"2026-08-18"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2026-08-11","date":"2026-08-11T07:07:11Z","type":"stable","version":"2026-08-11"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2026-08-10","date":"2026-08-10T00:47:02Z","type":"stable","version":"2026-08-10"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2026-08-03","date":"2026-08-03T04:54:56Z","type":"stable","version":"2026-08-03"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2026-07-31","date":"2026-07-31T07:00:27Z","type":"stable","version":"2026-07-31"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2026-07-28","date":"2026-07-28T00:02:33Z","type":"stable","version":"2026-07-28"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2026-07-21","date":"2026-07-21T04:06:31Z","type":"stable","version":"2026-07-21"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2026-07-01","date":"2026-07-01T02:01:17Z","type":"stable","version":"2026-07-01"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2026-03-19","date":"2026-03-20T00:04:21Z","type":"stable","version":"2026-03-19"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2025-05-06","date":"2025-05-05T23:28:38Z","type":"stable","version":"2025-05-06"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2025-05-05","date":"2025-05-05T03:38:19Z","type":"stable","version":"2025-05-05"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2025-02-24","date":"2025-02-24T02:39:57Z","type":"stable","version":"2025-02-24"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2024-11-07","date":"2024-11-07T03:43:43Z","type":"stable","version":"2024-11-07"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2024-08-28","date":"2024-08-28T11:48:04Z","type":"stable","version":"2024-08-28"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2024-08-09","date":"2024-08-09T02:23:08Z","type":"stable","version":"2024-08-09"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2024-04-30","date":"2024-04-30T06:08:38Z","type":"stable","version":"2024-04-30"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2024-04-16","date":"2024-04-16T01:47:15Z","type":"stable","version":"2024-04-16"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2024-04-02","date":"2024-04-02T01:56:33Z","type":"stable","version":"2024-04-02"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2024-02-07","date":"2024-02-07T03:09:11Z","type":"stable","version":"2024-02-07"}]` | `[{"url":"https://github.com/strapi/strapi/releases/tag/v5.52.2","date":"2026-08-26T07:35:22Z","type":"stable","version":"v5.52.2"},{"url":"https://github.com/strapi/strapi/releases/tag/v5.52.1","date":"2026-08-19T11:37:34Z","type":"stable","version":"v5.52.1"},{"url":"https://github.com/strapi/strapi/releases/tag/v5.52.0","date":"2026-08-12T07:29:39Z","type":"stable","version":"v5.52.0"},{"url":"https://github.com/strapi/strapi/releases/tag/v5.51.2","date":"2026-08-05T13:05:36Z","type":"stable","version":"v5.51.2"},{"url":"https://github.com/strapi/strapi/releases/tag/v5.51.1","date":"2026-07-29T10:04:15Z","type":"stable","version":"v5.51.1"},{"url":"https://github.com/strapi/strapi/releases/tag/v5.51.0","date":"2026-07-23T12:11:15Z","type":"stable","version":"v5.51.0"},{"url":"https://github.com/strapi/strapi/releases/tag/v5.50.2","date":"2026-07-15T10:01:43Z","type":"stable","version":"v5.50.2"},{"url":"https://github.com/strapi/strapi/releases/tag/v5.50.1","date":"2026-07-08T11:20:21Z","type":"stable","version":"v5.50.1"},{"url":"https://github.com/strapi/strapi/releases/tag/v5.50.0","date":"2026-07-02T11:15:14Z","type":"stable","version":"v5.50.0"},{"url":"https://github.com/strapi/strapi/releases/tag/v5.49.0","date":"2026-06-24T10:12:42Z","type":"stable","version":"v5.49.0"},{"url":"https://github.com/strapi/strapi/releases/tag/v5.48.1","date":"2026-06-17T10:03:20Z","type":"stable","version":"v5.48.1"},{"url":"https://github.com/strapi/strapi/releases/tag/v5.48.0","date":"2026-06-10T13:19:07Z","type":"stable","version":"v5.48.0"},{"url":"https://github.com/strapi/strapi/releases/tag/v4.26.2","date":"2026-06-09T11:12:00Z","type":"stable","version":"v4.26.2"},{"url":"https://github.com/strapi/strapi/releases/tag/v5.47.1","date":"2026-06-03T12:22:50Z","type":"stable","version":"v5.47.1"},{"url":"https://github.com/strapi/strapi/releases/tag/v5.47.0","date":"2026-05-28T11:28:31Z","type":"stable","version":"v5.47.0"},{"url":"https://github.com/strapi/strapi/releases/tag/v5.46.1","date":"2026-05-20T09:15:38Z","type":"stable","version":"v5.46.1"},{"url":"https://github.com/strapi/strapi/releases/tag/v5.46.0","date":"2026-05-13T13:46:03Z","type":"stable","version":"v5.46.0"},{"url":"https://github.com/strapi/strapi/releases/tag/v5.45.1","date":"2026-05-11T10:49:20Z","type":"stable","version":"v5.45.1"},{"url":"https://github.com/strapi/strapi/releases/tag/v5.45.0","date":"2026-05-06T10:14:21Z","type":"stable","version":"v5.45.0"},{"url":"https://github.com/strapi/strapi/releases/tag/v5.44.0","date":"2026-04-29T13:17:43Z","type":"stable","version":"v5.44.0"}]` |
| reliability.status_page | - | yes |
| security.gdpr | - | yes |
| security.scorecard | 5.3 | 6.5 |
| security.soc2 | - | yes |
| security.vulnerabilities | - | `{"count":0,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=npm&package_name=strapi-utils&per_page=100","last_12m":0,"max_severity":null}` |

## Capabilities (CMS Software)

| Capability | KeystoneJS | Strapi |
|---|:--:|:--:|
| **Core** |  |  |
| CMS type | Headless / API-first | Headless / API-first |
| **Licensing** |  |  |
| Open-source | ✓ | ✓ |
| **Deployment** |  |  |
| Self-hostable | ✓ | ✓ |
| Managed / cloud hosting offered | - | ✓ |
| **Delivery** |  |  |
| Headless API (REST/GraphQL) | ✓ | ✓ |
| **Content** |  |  |
| Structured content modelling | ✓ | ✓ |
| Localisation / i18n | - | ✓ |
| Content workflow / approvals | ✓ | ✓ |
| **Editing** |  |  |
| Visual / no-code page builder | ✗ | ✓ |
| **Extensibility** |  |  |
| Plugin / app ecosystem size | Custom field types and extensible architecture | 197 community-built integrations and plugins |
| **Scale** |  |  |
| Multi-site / multi-tenant | - | - |
| **Workflow** |  |  |
| Git-based / code-first workflow | - | - |
| **Pricing** |  |  |
| Free / open tier | ✓ | ✓ |

*Source: Vioscale. Generated 2026-09-01T14:39:51.913Z. "-" = undocumented, not absent.*
