Contentful vs Strapi
These two products do roughly the same thing and charge for completely different parts of it. Contentful bills the shape of your team and the number of languages you publish in; Strapi bills governance features and hands you the rest, provided you are willing to run the server. This page turns on one question: what does each one's free tier actually include, and what does the word free mean once you read the licence.
Pick Strapi if you publish in three or more languages, need more than three editorial roles, or want the content model to be yours, and you have somebody who can own a Node app and a database. Stay on Contentful if you publish in one or two languages with a small team, have no appetite for running infrastructure, or need SSO and audit logs without paying for a Strapi Enterprise contract to get them.
Side by side
Contentful vs Strapi at a glance
| Contentful | Strapi | |
|---|---|---|
| What it bills | Users, roles, locales, API calls, bandwidth | Seats, plus governance features |
| Free plan | 10 users, 2 roles, 2 locales, 25 content types, 10,000 records, 100K API calls | ✓ Community: no seat, entry or API call limit |
| Locales | ✗ 2 free, 3 on Lite, 4+ unpriced | ✓ Unlimited, free feature |
| Roles | ✗ 2 free, 3 on Lite | ✓ RBAC on every tier including Community |
| Cheapest paid tier | $300/mo (Lite) | $45/mo including 3 seats, +$15/seat |
| SSO | ✓ Enterprise | ✗ Add-on even on Growth |
| Audit logs | ✓ Enterprise | ✗ Enterprise only |
| Review workflows | ✓ Lite has scheduled publishing and tasks | ✗ Enterprise only |
| Who runs it | ✓ Contentful, with a CDN and an SLA | ✗ You, or Strapi Cloud |
| Licence | Proprietary SaaS | MIT core; ee/ directory is commercial |
| Import path | Source: contentful-export to JSON | Custom script against the Content API; no official Contentful importer |
| Best for | Small editorial teams, one or two languages, no ops | Multilingual sites and teams that own a deploy pipeline |
Sources: Contentful pricing · Strapi pricing · Strapi i18n docs · Strapi LICENSE. Compiled August 2026.
Where Strapi wins
Languages stop being a billing event
This is the whole reason most people are reading this page. Contentful allows two locales on the free plan and three on Lite at $300 a month, so a third publishing language is a $3,600 a year decision. Strapi's own documentation marks internationalization as a free feature and says administrators can add as many locales as they want. Nothing in any Strapi plan counts locales. If your roadmap says "we are launching in German and Spanish next quarter", the two products give you very different answers to the same sentence.
Roles and seats are not rationed
Contentful's free plan gives you two roles and Lite gives you three. Wanting distinct permissions for translators, a legal reviewer and a marketing editor is an ordinary editorial requirement that triggers an upgrade well before headcount does. Strapi's Community edition has no seat limit at all and role-based access control is available on every tier, so the org chart stops being a pricing input.
The content model is yours, in your database
Strapi runs on your Postgres, MySQL or SQLite instance, and the content types are files in your repository. That means schema changes go through code review and deploy like any other change, backups are your normal database backups, and there is no export step if you ever want the data somewhere else. Contentful's 25 content type cap on the free plan and 1,000 per environment ceiling simply have no equivalent here.
No request meter
Contentful free allows 100,000 API calls a month and 55 delivery requests per second, against 78 per second on paid plans. A large static site rebuild or a bulk import can bump into that. A self-hosted Strapi answers as fast as the machine you put it on, and the only ceiling is the one you provisioned.
Where Contentful still wins
Strapi has not rebuilt the operational half of the product, and it does not pretend to. Contentful gives you a global CDN, an uptime SLA of up to 99.99 percent on Enterprise, 24 hour support and a named customer success manager. With Strapi you are the CDN decision, the uptime and the on-call rotation. For a five-person marketing team with no platform engineer, that trade is often worse than the invoice they were trying to escape.
The governance comparison also runs the other way, and it is worth being precise about it. Single sign-on is an add-on even on Strapi's $45 Growth plan, and review workflows, audit logs and 365-day content history are Enterprise only with no published price. If SSO and an audit trail are compliance requirements rather than nice-to-haves, Strapi is not automatically the cheaper end state; you have just moved from a locale meter to a governance paywall. And the licence has conditions people skip: anything under the ee/ directory ships under a commercial licence in the same repository, and the MIT grant in Strapi's LICENSE file is written to apply only if you avoid that directory and have no registered Strapi Cloud account.
There is also a genuine pricing case for staying. Contentful does not bill by request volume the way several alternatives do, so a high-traffic, content-heavy site that publishes in one or two languages can be the cheapest possible customer on the free plan, and $0 with a CDN and an SLA is not a number a self-hosted stack beats.
Migrating Contentful to Strapi
The path most teams take:
1. Inventory first. Run contentful-export to get entries, assets and content types out as JSON. Then list what has no equivalent: roles and permissions, scheduled publishing, webhook configuration and every App Framework extension all have to be rebuilt rather than moved.
2. Rebuild the model, then write the importer. There is no official Contentful importer for Strapi, so you write a script that walks the exported JSON and posts to Strapi's Content API. The work is in the mapping, not the transfer: Contentful's rich text is a structured JSON document, and references, assets and locale variants all need explicit handling.
3. Run both for one publishing cycle. Point a staging front end at Strapi while production still reads Contentful, and reconcile the two outputs page by page. Expect to pay for both for a month; that overlap is the honest cost of the migration.
4. What does not move. Version history and the publishing audit trail stay behind. Contentful keeps entry versions server-side and there is no export for them, so if you need that history for compliance, either keep a read-only Contentful space or accept that the record starts fresh on the day you cut over.
Common questions
FAQ: Contentful vs Strapi
Is Strapi really free?
The Community edition is free with no seat limit, no entry limit and no API call limit, and it is what most Contentful refugees end up running. Two conditions in Strapi's own licence file are worth knowing. Anything under the ee directory is not MIT, it is the Enterprise Edition licence, and the MIT grant is written to apply only if you are not using ee code and have no registered account on Strapi Cloud. In practice a self-hosted Community install is genuinely free, but you pay in infrastructure and maintenance instead: a database, a server, backups and upgrades.
Does Strapi charge for extra languages like Contentful does?
No. Strapi's documentation lists internationalization as a free feature and states that administrators can add as many locales as they want. There is no locale count in any Strapi plan. Only AI-powered automatic translation requires the Growth plan. This is the single clearest difference between the two products: on Contentful a third locale means moving from $0 to $300 a month, on Strapi it means adding a row in settings.
What does Strapi charge for, then?
Governance features, mostly. Growth is $45 a month including 3 seats, with additional seats at $15 a month each, and adds live preview, releases and 30 days of content history. Single sign-on is an add-on even on Growth. Review workflows, audit logs and 365-day content history are Enterprise only, priced on request. If your reason for leaving Contentful was per-role and per-locale billing, note that Strapi's paid tiers gate a different set of things: approval workflows and audit trails rather than languages.