Native MCP server – Now available

Native MCP server – Now available

Native MCP server – Now available

Comparison

Contentful vs. Directus

Architecture, content modeling, admin UI, automation, AI, and pricing compared.

Matt Minor

Senior Director, Growth

A note from Directus

Yes, this is a Directus vs Contentful page written by Directus. Yes, we know that's absurd. Every vendor publishes one of these and ranks themselves first, so we have to publish ours or you won't find one that mentions us at all. So, if we have to play this game, we'd rather play it differently. What follows is the most honest comparison we could write.

Two backends, two operating models.

Contentful and Directus both give you structured-content APIs and an admin UI. They get there from opposite directions:

  • Contentful is a proprietary cloud SaaS: your content lives in their spaces, served through their global CDN.

  • Directus is a self-hosted (or managed) platform on top of any SQL database you bring or spin up.

Pick Contentful if you want a fully-managed SaaS, a global delivery CDN out of the box, and a polished page-composition product (Compose) that large editorial teams have been using for quite a while.

Pick Directus if you want to own your data in a real SQL database, self-host (or use Directus Cloud), pay predictable infrastructure costs instead of API-call pricing, and get native dashboards, visual automation, AI Assistant, MCP server, and realtime APIs out of the box.

The feature-by-feature view.

A few rows do most of the work. Hosting model (self-host vs SaaS-only) is the architectural fork. Where data lives (your database vs. their cloud) is the data-sovereignty question. Native AI, MCP, Flows, Insights, and realtime are capabilities Directus ships natively. Compose and the built-in delivery CDN are real Contentful advantages. Pricing model is the part most teams underestimate at evaluation time.


Dimension
Directus
Contentful

License

Source-available (custom Monospace license)

Proprietary (closed source)

Hosting

Self-host (Docker, Node) or Directus Cloud

SaaS only, vendor cloud

Schema Philosophy

Reads your existing SQL schema

Content types defined in Contentful

Supported Databases

Postgres, MySQL, MariaDB, MSSQL, SQLite, Oracle, CockroachDB

N/A (no DB access)

API Output

REST, GraphQL, WebSockets, GraphQL Subscriptions

REST (CDA / CMA), GraphQL

Admin UI

The Studio (Vue 3)

Web App + Compose + Studio Editor

Modeling Primitives

Collections, fields, relationships, M2A, translations

Content types, fields, references, locales

Where Data Lives

Your SQL database

Contentful's spaces

Page Composition

M2A, repeaters, custom layouts

Compose

Native Realtime

WebSockets, GraphQL Subscriptions

No (webhooks only)

Native AI Assistant

Yes, in the Studio

AI Actions (limited)

Native MCP server

Yes

No

Visual Automation

Flows

No (apps + webhooks)

Native Dashboards

Insights

No

Release management

Workflow + Flows

Launch

Localization

Translations on any field, all tiers

Locales (gated by tier)

Asset CDN

BYO (Cloudinary, S3+CDN, etc.)

Built-in global CDN (Fastly)

Priing Model

Per-environment / per-seat or self-hosted free

Per-space / per-user / API-call quotas

The main architectural difference.

This is the one section worth reading carefully, because every other comparison on this page makes more sense after it.

Vendor cloud.

Your content lives in spaces inside Contentful's cloud. Define content types in their Web App, read through the Content Delivery API, write through the Management API. Content is served from their globally-distributed CDN. You don't run Contentful. There is no database to see, from your perspective.

Self-host.

You point it at any SQL database (existing or empty), and it reads the schema it finds. Tables become collections. Columns become fields. The database is your database. Change outside of Directus, the change shows up in the Studio on next refresh. Directus Cloud is also available if you want managed hosting.


If your top priority is "I never want to think about infrastructure, ops, scaling, or databases, just give me content APIs," Contentful is built for that. Directus Cloud reduces ops, but it's not zero-ops the way pure SaaS is.

If your top priority is "my data should live where I can query it directly, run analytics against it, share it with services that aren't a CMS, and not be locked into a vendor's content model," Directus is built for that. With Contentful, every read and write goes through their API. There's no database to run a SQL query against, no warehouse export that isn't an extra step, no way for a sibling service to share the same tables.

If you have hard data-residency, on-premise, air-gapped, or regulatory constraints (GovCloud, healthcare, financial services, EU sovereignty rules), self-hosting may not be optional. Contentful is SaaS-only, so it's a non-starter in those scenarios. Directus self-hosts in any environment you control.

Neither approach is wrong. They're built for different relationships to your content and your infrastructure.


The two admin UIs, side by side.

Both shipped polished interfaces. Different shapes, different jobs. Here's what you'd see ten seconds after logging in.

Directus Studio

Contentful Web App

Proprietary vs. source-available.

Contentful is proprietary, closed-source software. You don't read its source, fork it, or run it. You consume the SaaS. That's the deal.

Directus is distributed under a source-available license. (The license is currently moving from the Business Source License to a custom Monospace license. See directus.io/license for the live terms.) The source code is fully readable and modifiable, and free to self-host for the vast majority of use cases. It is not open source in the OSI sense, and we don't claim it is.

Practically: you can read Directus's source, you cannot read Contentful's. You can self-host Directus (including air-gapped, on-prem, or in your own VPC); you cannot self-host Contentful. You can fork Directus if you need to. You can run Directus indefinitely without paying anyone. Contentful requires an active subscription past the free tier.

If your hard requirement is "fully managed SaaS, I don't care about source," Contentful is the cleaner choice. If your hard requirement is OSI-approved open source, neither tool meets that bar; you'd look at Strapi or Payload.

For everything in between (including most teams who say they want "open source" but really mean "no vendor lock-in"), Directus's source-available, self-hostable model is materially closer to that.

What users say.

Here's a sample of public reviews from both the Contentful and Directus G2.

December 9, 2025

"Intuitive System with Module Reusability, Needs Visual Refinement"

What they liked

I use Contentful to upload new copy and amend existing copy. It is quite intuitive, making uploading copy simple once I've learned the system. The ability to create modules is far and away its best feature. This massively reduces the amount of writing needed, especially for ubiquitous content like terms and conditions or author profiles. It means I don't have to write the same bits of copy again and again, and I can simply drop a module into any new page. The initial setup of Contentful was relatively easy, as the system is pretty simple and intuitive, so getting up to speed was quite simple.

What They Didn't

Visually it is quite poor. Sometimes it can be difficult to understand where in a page you are. Also, because naming conventions are dictated by the user, it can be very tough to find the right modules if they have been created by someone else.

Joseph P.

Content Marketing Manager

Mid-Market

May 5, 2026

"Directus is the GOAT"

What they liked

Directus thought of everything to make an extremely versatile tool! I have had the most amazing experience dealing with the team, they've supported us through and through and offered a product that is literally a blank slate for any use case, but with the bells & whistles unmatched by other products out there on the market for a fraction of the cost. I love using the data model, the flows, and of course the flexibility of extensions and configurations of not only the app but what it can power.

What They Didn't

The self-hosted install was a bit tricky to get setup but the incredible support team was able to get us through the issue.

Chrystal F.

Sr. Director, Content Engineering

Mid-Market

Content modeling.

Both tools model structured content well. The shape of the primitives differs.

Content types in Contentful are reusable schemas (Page, Article, Author) defined once with their fields and validation. References link entries together. The model has driven Contentful's customer base for over a decade and is well-documented.

Collections in Directus are real database tables. Fields are columns. Relationships are foreign keys. Many-to-Any (M2A) lets a single field reference items from any number of unrelated collections, useful for flexible page composition, polymorphic relationships, and arbitrary cross-collection joins. Because the model is the database, the same data is trivially queryable by any system that speaks SQL (analytics jobs, BI tools, ML pipelines, sibling services) without going through the CMS API.

Page composition. Contentful ships Compose, a dedicated page-composition product where editors stack reusable section types to build pages visually. It's purpose-built for marketing-page workflows and is one of the genuine reasons large editorial teams pick Contentful. Directus uses M2A relationships and repeating field templates to express the same patterns. The Directus approach is more general (M2A composes across any collections, not just designated section types). Compose is more opinionated and gets you to "editor builds a page" faster on the specific page-composition use case.

Localization. Both support multi-language content. Contentful handles locales as a first-class concept, but locale availability is gated by pricing tier. Directus stores translations as related rows that can hang off any field, available on every tier.

The admin experience.

Directus ships the Studio, built in Vue 3 and framed as a workspace, not as a content-publishing tool. The same UI that lets a content editor edit a blog post lets an operations person build a dashboard, configure a workflow, manage permissions, query data with the AI Assistant, or run an analytics view.

Contentful ships its Web App plus Compose for page-builder workflows and the newer Studio Editor for visual content editing. Their UI is shaped primarily around editorial work: content authoring, scheduled publishing, multi-locale workflows, and collaboration between writers, editors, and reviewers. It does that job well, and it's the reason Contentful has the editorial-team reputation it has.

If your team is editorial-heavy (writers, editors, content strategists, translators, publishing managers) and the daily work is content authoring with structured workflows, Contentful's UI is purpose-built for that. If your team mixes content people, ops people, analysts, AI agents, and developers who all need to work on the same governed data layer, the Studio is built for that mix and Contentful's web app isn't.

Automation and workflows.

Directus has Flows, a visual automation builder. Drag together triggers, conditions, and operations to build pipelines that run on data changes, schedules, or webhooks. Non-developers can build moderately complex automations. Developers can drop into custom JavaScript at any step.

Contentful does not ship a visual automation builder. Automation comes from three places: webhooks (fire on content events to your own service), Apps (extensions installed from the Marketplace or built with the App Framework), and editorial workflow features at the Premium tier (review states, approval gates, role-based steps).

If your automations are content-centric ("this entry needs three approvers before publish"), Contentful's editorial workflow is purpose-built. If your automations need to do anything beyond editorial gating (call external services, transform data, run on schedules, branch on conditions), you'd build a Lambda or a Worker and trigger it via webhook. Works, but it's a different shape than Flows, and non-developers can't build it on their own.

Realtime and delivery.

Two delivery-shaped capabilities that move evaluations differently.

Realtime APIs. Directus ships native WebSockets and GraphQL Subscriptions in the core. You can subscribe to changes on any collection and push live updates to clients without adding extra infrastructure. Contentful does not ship native realtime APIs. You'd use webhooks to fire events and a separate layer to push to clients.

Asset and content CDN. Contentful ships a global delivery CDN out of the box, served through Fastly's edge network, with image transformations on read, automatic format negotiation, and edge caching tuned for content delivery at scale. For a marketing site that serves traffic globally, "their CDN handles it" is a genuine reduction in your operational scope. Directus does not ship a built-in global CDN. You bring your own (CloudFront, Cloudflare, Fastly, etc.) and your own asset CDN (S3+CloudFront, Cloudinary, Bunny). Directus does ship asset transformations and signed URLs natively, but the global edge layer is your problem.

If global content delivery with zero-ops CDN is important and you don't already have a CDN strategy, Contentful's built-in delivery is a real advantage. If you already run a CDN or want full control over the caching layer, Directus's bring-your-own model is more flexible (and usually cheaper at scale).

AI.

Directus ships with a native AI Assistant inside the Studio. It's conversational and takes action. It can create content, translate fields, summarize records, route items for review, and operate against your data with the same access policies as a human user. It's not a separate "AI mode," it's part of the same workspace.

Directus also runs a native MCP server. External AI tools (Claude Desktop, Cursor, ChatGPT, your own agent) can connect and work with the same data using the same access policies. AI is treated as another API consumer.

Contentful has been adding AI features (AI Actions, content suggestions, asset alt-text generation, generative image tools), most surfaced inside the Web App. There's no native MCP server. The capabilities are useful for editorial teams looking to speed up authoring, but they're scoped to authoring assistance rather than general "AI agents that take action under your existing permissions across the whole data layer."

If "AI agents that take action on my content under our existing permission rules" is part of your roadmap, Directus is built for that. If "AI helps my editors write faster" is the goal, Contentful's AI Actions are worth evaluating on their own merits.

The Directus AI Assistant runs against the same data layer with the same permissions as a human user.

The honest answer is most teams don't choose between these tools on features. They choose on whether they want a SaaS that owns the content layer or a self-hosted platform on top of their own database. Pick the one that matches how your team thinks about data and operations.

Developer experience.

Both tools get you to a working backend in minutes if you have Docker running.

npx

directus-template-cli@latest init

Directus

npx

npm i -g contentful-cli && contentful login

Contentful

Both have CLIs. Both have TypeScript SDKs. Contentful has SDKs in more non-JS languages (Ruby, Python, Java, Swift, .NET, PHP) because it's been around longer in a wider ecosystem.

Contentful's documentation is mature and broad. It's been written, edited, and reviewed by content teams for over a decade. Their developer ecosystem (community plugins, integration guides, public-content examples) is one of the largest in the headless CMS space.

Directus has tighter, more concentrated docs around the Studio, the SDK, and the extensions framework. Quality of in-house support is high. Volume of community-generated content is lower than Contentful's, but it's growing.

Schema as code. Contentful supports schema-as-code via its Migration CLI and Migration Scripts (JavaScript that runs against the Management API). Directus supports it via Schema Snapshots (diffs of the database schema itself).

What it actually costs.

Pricing as of 2026-05-06. Verify against the current published pricing on each vendor's site before deciding. Pricing pages move frequently (especially Contentful's), and this is one reason comparison pages age badly.

The pricing models are different enough that comparing headline numbers is misleading. The real differences:

Self-hosting (Directus only): Free. You bring infrastructure, do operations, take on backups and upgrades. Contentful has no self-host option at any tier.

Free / community tier: Both have one. Directus self-hosted is free indefinitely with all core features. Contentful's Community tier is generous for individuals and small projects but caps users, content types, locales, and API calls fairly aggressively.

Managed cloud: Directus Cloud has starter, team, and growth-style tiers running from low double-digits to a few hundred dollars per month. Contentful's paid tiers historically jumped from free to a higher commercial tier, with real costs landing well above list price once you account for additional users, locales, environments, and overage on API calls.

The thing that varies most: Contentful's pricing is per-space, per-user, and metered on API calls. Directus pricing on Cloud is per-environment and per-seat without API-call metering, and self-hosted is your-infrastructure-cost-and-nothing-else. Teams routinely under-estimate Contentful's total cost at scale because the API-call line item grows with traffic, not with users. Compare the total bill at your one-year scale, not the headline tier.

Enterprise: Both have enterprise tiers with SSO, audit logs, dedicated support, and SLAs. Both will quote you. Contentful's enterprise tier is one of the most expensive in the headless CMS space.

Neither is perfect.

We promised this and we'll keep our word.

Three areas where Directus is weaker

Three areas where Strapi is weaker

No fully-zero-ops SaaS. Directus Cloud reduces ops; Contentful is true SaaS where you never think about infrastructure.

No real database access. Your data lives in their cloud as content entries, queryable only through their APIs. No SQL, no warehouse-native joins, no analytics jobs.

No dedicated page-composition product equivalent to Compose. M2A relationships cover the same ground, but a marketing team using Compose is using a more opinionated tool for that specific use case.

Closed-source. You can't read it, fork it, or run it. Vendor lock-in is structural.

No dedicated release-management product equivalent to Launch (scheduled publishes, content releases, multi-environment promotion). Directus handles this through Flows and roles.

Migration off Contentful is significant work. Your data is in their content model, accessed only through their API.

Who each is usually best for.

Contentful is usually best for

Directus is usually best for

Large editorial teams whose primary daily work is content authoring with multi-step review, scheduled publishing, and translation workflows

Teams who want their content data in a SQL database they own, queryable by any service that speaks SQL

Marketing organizations that want a polished page-composition product (Compose) and a release-management product (Launch) out of the box

Teams with hard requirements around self-hosting, on-premise, air-gapped, EU data sovereignty, or regulated-industry compliance

Teams who explicitly want zero-ops SaaS with a global CDN baked in

Teams where content, operations, analytics, and AI agents all need to work on the same governed data layer

Teams already standardized on Contentful's ecosystem of pre-built apps (Cloudinary, Algolia, Optimizely, Bynder)

Teams where non-developers own real workflows: dashboards (Insights), visual automations (Flows), AI-assisted operations

Projects where global content delivery latency is a top requirement and you don't already operate a CDN strategy

Projects that need realtime: WebSockets, GraphQL Subscriptions, live-updating clients

Teams whose primary integration is "front-end developers consume the Content Delivery API," not "shared data layer across services"

Projects where AI Assistant or native MCP server are part of the plan, not a "we'll plug something in later" item


Teams who want their schema to remain a first-class artifact in their database, not a content model trapped behind a vendor API

Migration notes.

Contentful to Directus: Doable, common, well-trodden. Standard path: export your Contentful spaces using their CLI, transform the JSON into a relational schema (content types become collections, references become foreign keys, locales become translation rows), import into your SQL database. Compose pages map to M2A relationships. Custom apps don't transfer; rebuild as Directus extensions. Webhooks reattach to Flow triggers. The translation step deserves engineering attention.

Directus to Contentful: Way harder. Contentful's content model is more opinionated than a SQL schema, and any database features you've used (custom Postgres types, advanced indexes, M2A, multi-database joins, materialized views, raw SQL access) don't exist in Contentful. You'd remodel as Contentful content types and migrate data through the Management API. Anything outside their content-type model (analytics queries, sibling services, scheduled jobs) needs to live somewhere else.

In both directions, custom code (extensions, apps, hooks, webhooks, Flows) doesn't transfer. Reimplement in the target tool's extension model.

Common questions.

Is Contentful better than Directus?

Neither is "better" in a general sense. They're built for different problems. Contentful is a SaaS content delivery platform built around editorial workflows. Directus is a self-hostable backend platform built around your existing or new SQL database. The right answer is the one that matches your team's operating model, your data-sovereignty requirements, and your cost expectations.

Is Directus open source?

No. Directus is source-available, currently transitioning from the Business Source License to a custom Monospace license. The source is fully readable and free to self-host for the vast majority of use cases, but it isn't open source by the OSI definition. Contentful is fully proprietary closed-source. If OSI-approved open source is a hard requirement, neither tool meets it; you'd look at Strapi or Payload.

Can I self-host Contentful?

No. Contentful is SaaS-only. Your content lives in their cloud. There is no self-host, on-prem, or air-gapped option at any tier.

Does Contentful have an AI assistant like Directus?

Contentful has been adding AI features (AI Actions, content suggestions, asset alt-text generation) scoped primarily to authoring assistance inside the Web App. There's no native MCP server. Directus ships an AI Assistant inside the Studio that takes action against your data layer with the same access policies as a human user, plus a native MCP server external AI tools can connect to.

Which has better developer experience?

Both are competent. Contentful has a larger community footprint, more public examples, and more turnkey integrations in its Marketplace. Directus has a more cohesive Studio, more native capabilities out of the box (Flows, Insights, AI Assistant, MCP server, realtime APIs), full database access, and a self-host option. DX preference depends on whether you value SaaS ecosystem volume or full-stack control.

Is one cheaper than the other?

At small scale, Directus self-hosted is materially cheaper (free + your infrastructure cost). At medium scale, Directus Cloud and Contentful's commercial tiers land in similar headline ranges, but Contentful's API-call metering and per-user pricing pushes total cost higher. At enterprise scale, Contentful is one of the more expensive products in this category. Directus's pricing scales with environments and seats, not API traffic.

Which scales better for high-traffic content delivery?

Contentful's built-in global CDN handles global content delivery out of the box. Directus delivers as fast as the CDN you put in front of it. If you already operate a CDN, the two are equivalent. If you don't, Contentful's built-in delivery is a real reduction in your operational scope.

Can I export my data from Contentful?

Yes, through their CLI and Management API. The shape of the export is Contentful's content model in JSON. Translating that to a database schema or another CMS is engineering work: feasible, common, but not push-button.

Get Started

Try it yourself.

Don't take our word for it. Dive into Directus and see if it's a good fit yourself.

npx

directus-template-cli@latest init

Get Started

Try it yourself.

Don't take our word for it. Dive into Directus and see if it's a good fit yourself.

npx

directus-template-cli@latest init

Copyright © 2026 Monospace Inc.

All rights reserved.

Copyright © 2026 Monospace Inc.

All rights reserved.

Copyright © 2026 Monospace Inc.

All rights reserved.