Skip to content

Directus review

Best for an existing SQL database

Reviewed by Eugene SuslovUpdated September 2026No affiliate links
Directus homepage
Directus homepage, captured September 2026. Source: directus.io.

Directus does something none of the hosted platforms in this directory can: it points at a SQL database you already have and wraps it in a REST API, a GraphQL API and an admin application, without owning the schema or requiring a migration. If your content already lives in Postgres alongside your application data, that is a fundamentally different proposition from exporting it into somebody else's model.

It is not open source, and the distinction is worth getting right rather than arguing about. Directus ships under the Monospace Sustainable Core License, which grants you use, modification and redistribution for any purpose except Competing Use, meaning offering Directus itself as a paid service in competition with Directus. It also forbids circumventing the licence-key functionality. Internal use, client work and hosting on a client's behalf are all explicitly permitted.

Then the commercially important part: the Open Innovation Grant gives organisations under $5 million in annual revenue and fewer than 50 employees a fully permissive licence at no software cost, self-hosted, with no feature limits and no caps. Most teams reading this page qualify. The published tiers below are what you pay when you do not.

Our scorecard

Our editorial read across six dimensions, scored 1 to 5. This is our own assessment, not an aggregate of user reviews, and it is deliberately kept out of the page's structured data.

  • Content modelling5/5

    Your database IS the model. Nothing else here lets you keep an existing schema and add a CMS to it.

  • Developer experience5/5

    REST, GraphQL and realtime generated from the schema, six database engines, and a first-party MCP server.

  • Editor experience4/5

    A genuinely good admin app, though it is a data interface first and an editorial one second.

  • Pricing4/5

    Free for most small teams via the Grant, and a hard wall at $499 for everyone else. Little in between.

  • Governance3/5

    Advanced RBAC is in Core, but SSO is not and cannot be added. That is the upgrade trigger.

  • Ecosystem4/5

    Extensions, Flows and a large community. Smaller than Strapi's, more coherent.

An editorial read, not an aggregate of user reviews, and deliberately kept out of this page's structured data.

What you can query

REST API

A collection maps to a database table

CRUD over every collection in your database, with filtering, sorting, aggregation and deep relational queries, generated from the schema

GraphQL API

Generated, not hand-maintained

The same data through a generated GraphQL schema, for teams that prefer to shape the response

Realtime (WebSockets)

WebSockets and GraphQL subscriptions

Subscribe to changes on a collection and receive them as they happen, which very few platforms here expose natively

Flows

The reason many teams stop writing glue code

Event-driven automation inside Directus: webhooks, transformations, conditionals and scheduled jobs. 5 on Core, 20 on Team

Files and transformations

Your storage, not a vendor CDN

Asset storage with on-the-fly image transformation, backed by local disk or any S3-compatible store

MCP server

Vendor-built, not community

First-party Model Context Protocol access, which Directus added easily because every interface sits on one internal abstraction

Who Directus is for

Teams with an existing SQL database, and product teams who want their content and their application data in one place under their own control. If you already run Postgres, Directus adds an API and an admin app on top of it in an afternoon, with no migration and no second source of truth. Six database engines are supported.

It is a weaker choice as a pure editorial CMS. The admin app is a data interface before it is a writing environment, and a marketing team choosing between this and Storyblok will prefer Storyblok every time.

Strengths and limits

What it does well

  • It wraps a database you already have rather than owning one, which is unique in this directory and removes the migration entirely.
  • Six SQL engines supported, including Postgres, MySQL, SQLite, MS SQL, OracleDB and CockroachDB.
  • REST, GraphQL and realtime WebSocket APIs all generated from the schema, so adding a table adds endpoints.
  • The Open Innovation Grant makes it genuinely free and fully permissive for organisations under $5m revenue and 50 staff, self-hosted with no feature caps.
  • Advanced RBAC is included in the free Core tier rather than being an upsell.
  • Flows give you event-driven automation inside the platform, which removes a lot of glue code.
  • A first-party MCP server, added easily because every interface sits on one internal abstraction.
  • Directus is unusually straightforward about not being OSI open source, which is rarer than it should be.

Where it falls short

  • IT IS NOT OPEN SOURCE. The MSCL licence permits any Permitted Purpose but excludes Competing Use, so offering Directus as a paid service in competition with Directus is prohibited.
  • The licence forbids moving, changing, disabling or circumventing the licence-key functionality, including modifying anything the key protects.
  • SSO is not on Core and cannot be bought as an add-on. If you need it and do not qualify for the Grant, your price is $499 a month.
  • Core's 3 seats is a hard limit, so a fourth person who needs the admin app triggers the same jump.
  • There is effectively nothing between $0 and $499 a month unless you qualify for the Grant. Directus's own pricing FAQ raises this.
  • Collections are capped by tier at 25, 50 or 200-plus, and a collection is just a database table, so a normalised schema consumes them quickly.
  • Pricing changed recently enough that existing customers are being grandfathered, which suggests the current tiers are not yet settled.
  • The admin app is a data tool first, so editorially it is behind the dedicated CMS platforms here.

Directus pricing

Check your eligibility for the Open Innovation Grant before reading anything else. Organisations under $5 million in annual revenue with fewer than 50 employees get a fully permissive licence at no software cost, with no feature limits and no caps, free to self-host and $99 a month if you want Directus to host it. For most teams reading this, that is the answer and the tiers below are irrelevant.

If you do not qualify, Core is $0 with three seats, 25 collections and five Flows, and no SSO at all. Team is $499 a month on an annual commitment, or $599 rolling monthly, and brings 10 SSO seats, 50 collections expandable to 100, 20 Flows and additional seats at $50 each. Enterprise is quoted and starts at 200-plus collections.

The gap between those two is the whole commercial design, and Directus's own pricing FAQ asks the question directly: why is there nothing between Core and $499? Its answer is that the Grant is the bridge. That is honest, and it means the pricing works well at both ends and badly for the organisation that is too large for the Grant and too small for $6,000 a year.

Two triggers to watch. SSO is the common one, because it cannot be added to Core at any price. Collections are the quiet one: a collection is a database table, so a properly normalised schema can pass 25 without the content model feeling large.

Open Innovation Grant

Free

Under $5m revenue and under 50 staff

  • A fully permissive licence at no software cost
  • No feature limits and no artificial caps
  • Free to self-host; cloud hosting is $99/mo
  • This is the plan most readers of this page are on

Core

$0

For everyone else, with hard limits

  • 3 user seats, a hard limit
  • 25 collections, 5 Flows, Advanced RBAC, AI Assistant
  • NO SSO, and it cannot be added as an add-on
  • Cloud hosting is a $99/mo add-on

Team / Enterprise

$499 / mo or custom

$5,988 annually, or $599 rolling monthly

  • 10 SSO seats, extra seats $50/seat/mo
  • 50 collections, expandable to 100. 20 Flows
  • Enterprise adds 200+ collections, custom LLM, offline mode
  • Directus itself asks why nothing sits between Core and $499
Check current Directus pricing

Query example

A minimal fetch against the live API, with credentials read from the environment rather than pasted inline.

Query an existing table with a relational filter · bash
curl -s -G "https://your-directus.example.com/items/articles" \
  -H "Authorization: Bearer $DIRECTUS_TOKEN" \
  --data-urlencode "fields=title,slug,author.name,cover.id" \
  --data-urlencode "filter[status][_eq]=published" \
  --data-urlencode "sort=-published_at" \
  --data-urlencode "limit=10"

# "articles" is a table that already existed in your Postgres.
# Directus did not create it and does not own it: point Directus at
# the database and every table becomes a collection with a REST and
# GraphQL endpoint. That is the whole pitch, and nothing else in
# this directory does it.

Limits and quotas

  • Core: 3 user seats (hard limit), 25 collections, 5 Flows, no SSO.
  • Team: 10 SSO seats, additional seats $50/seat/mo, 50 collections expandable to 100, 20 Flows.
  • Enterprise: custom seats, 200+ collections, unlimited Flows, SSO, custom LLM, offline mode, telemetry opt-out.
  • A collection maps directly to one database table.
  • Open Innovation Grant eligibility: under $5,000,000 annual revenue AND fewer than 50 employees.
  • Grant terms: fully permissive licence, free self-hosted, cloud hosting $99/mo.
  • Self-hosting is available on every tier; Directus Cloud is a $99/mo add-on for Core and Team.
  • Team is $499/mo on annual commitment ($5,988/year) or $599/mo rolling.
  • The MSCL licence prohibits Competing Use and circumvention of licence-key functionality.

What developers say on Reddit

Mostly positiveOur read of public threads, not a review score.

Developers like Directus for exactly the reason the product exists: it sits on a database you control and you can leave without an extraction project. In headless CMS threads it is the option recommended to people who are nervous about lock-in, and it is regularly contrasted with platforms where your data lives on the vendor's infrastructure.

The licence is the recurring worry, and the concern is specific rather than ideological: people want to know at what size they stop being allowed to use it for free. One user reports the enterprise threshold as $1 million in revenue.

Today's published Open Innovation Grant covers organisations under $5 million and 50 employees, so either the terms have moved in buyers' favour or that recollection was imprecise. Worth checking against your own numbers rather than a forum post.

The most useful voice in these threads is Directus's own. A staff member states plainly that most teams qualify for the free grant, and that Directus is not OSI-approved open source and tries to say so wherever possible. Vendors are rarely that direct about their own licensing.

  • Directus is great if you use it for small projects / small clients. But look out for their new license since 10.x, if you use it for a project where the yearly REVENUE of the company is more than 1M USD, you need an enterprise license which is ridiculously expensive.
    r/nextjs on Reddit
  • the majority of folks would qualify for the fully free OIG license key. We've been trying to be way more mindful of the fact that it isn't OSI-approved open source (we call this out as much as possible on our site). If there's anywhere you see it actively promoted on our end as such, let me know so I can correct it.
    r/cms on Reddit
  • We (Directus) got "lucky" in the sense that we've architected our web-facing interfaces around a single internal abstraction, so adding in MCP was very easy, as it's just a translation on the edge from the request to our internal querying stack (just like REST/GraphQL/WebSockets).
    r/cms on Reddit
  • I can add Directus to the list of CMS where the MCP actually moves the needle.
    r/cms on Reddit
  • Our team preferred Directus because it allowed using whatever DB configurations were preferred and you could ultimately "unplug" from Directus if desired
    r/webdev on Reddit

Verdict

If your content already lives in a SQL database, start here. Directus is the only option in this directory that adds an API and an admin app to a schema you already own, with no migration and no second source of truth, and the ability to unplug it later without an extraction project is a genuine architectural advantage rather than a marketing line.

Check the Open Innovation Grant first and everything else second. Under $5 million in revenue and fifty staff gets you a fully permissive licence for nothing, self-hosted, with no caps. That is a better deal than anything else on this page and it makes the published tiers irrelevant for most readers.

If you do not qualify, price the SSO requirement early. It is absent from Core, unavailable as an add-on, and therefore the single most common reason teams go from paying nothing to paying $5,988 a year. And read the licence rather than the word: not open source, no Competing Use, and no touching the licence key.

Visit Directus

Directus FAQ

  • Is Directus open source?
    No. It ships under the Monospace Sustainable Core License (MSCL-1.0-GPL), which permits any Permitted Purpose but excludes Competing Use, meaning offering Directus itself as a paid service in competition with Directus. Directus says so itself and does not claim OSI approval.
  • What is the Open Innovation Grant?
    A fully permissive licence at no software cost for organisations under $5 million in annual revenue with fewer than 50 employees. There are no feature limits and no artificial caps, self-hosting is free and cloud hosting is $99 a month. Most small teams qualify, which makes it the plan that matters.
  • How much does Directus cost if I do not qualify?
    Core is $0 with three seats, 25 collections and no SSO. Team is $499 a month on an annual commitment, $5,988 a year, or $599 rolling monthly, with 10 SSO seats and 50 collections. Enterprise is quoted. There is nothing between $0 and $499 unless the Grant applies.
  • Why is SSO such a big deal here?
    Because it is absent from Core and cannot be added as an add-on at any price. If your organisation requires SSO and is too large for the Grant, your entry price is $499 a month regardless of how small your actual usage is. It is the most common upgrade trigger.
  • What counts as a collection?
    One database table. That matters more than it sounds: a properly normalised schema can pass Core's 25-collection limit without the content model feeling large, because join tables, taxonomies and lookup tables all count.
  • Can Directus use my existing database?
    Yes, and that is the entire point. Point it at an existing PostgreSQL, MySQL, SQLite, MS SQL, OracleDB or CockroachDB instance and every table becomes a collection with REST and GraphQL endpoints. Directus does not own the schema, so you can remove it later and keep your data where it is.
  • Does Directus have an MCP server?
    Yes, first-party. Directus has explained publicly that adding it was straightforward because REST, GraphQL and WebSockets all sit on one internal abstraction, so MCP became a translation at the edge. Practitioners in the same thread rate it as one of the CMS MCP implementations that genuinely helps.
  • Directus or Strapi?
    Directus if you have an existing SQL database, want to keep it, and value being able to unplug later. Strapi if you want the CMS to own the schema and need a larger plugin ecosystem and a more editorially-focused admin panel. Directus's licence is more restrictive on paper and, via the Grant, more generous in practice for small teams.

This is an independent review. We have no affiliate relationship with Directus, earn nothing if you sign up, and no vendor pays for placement in the directory. Prices were read from the vendor's own pages in September 2026 and change without notice.