unsubbed.co

Directus

Built for developers who need more than a CMS. Manage complex content, handle digital assets, and control permissions through an intuitive Studio.

Best for: Teams that need a flexible headless CMS or data studio without vendor lock-in on their database

Source-available backend platform, honestly reviewed. The license matters more than the marketing admits.

TL;DR

  • What it is: A real-time API and admin dashboard that layers REST and GraphQL APIs on top of any SQL database — headless CMS, backend platform, and internal tool builder in one [README][1].
  • Who it’s for: Developers who need a content layer and admin UI without writing CRUD boilerplate, and small teams where non-technical people need to manage structured data without touching code [1][website].
  • License reality: Not open source. Free only if your organization has under $5M in annual revenue and under 25 employees. The license is also currently being revised. Read it before building on it [README][4].
  • Cost savings: Headless CMS SaaS tools run from free-but-limited to hundreds of dollars per month at scale. Directus Cloud starts at $15/month per project; self-hosted VPS infrastructure costs $5–20/month [README].
  • Key strength: Point it at a Postgres, MySQL, or SQLite database you already own and get complete REST + GraphQL APIs, a visual admin Studio, file management, access control, and workflow automation — without a single schema migration [README][1].
  • Key weakness: The license isn’t what the “open source” franding suggests, it’s currently in flux, and the per-project complexity makes it overkill for simple content sites [README][4].

What is Directus

Directus is a real-time API and app dashboard for managing SQL database content [README]. You connect it to any SQL database — PostgreSQL, MySQL, SQLite, OracleDB, CockroachDB, MariaDB, MS-SQL — and you immediately have: a fully documented REST API, a GraphQL endpoint, a visual admin panel called the Studio, role-based access control, a file library, workflow automation via the Flows module, and WebSocket subscriptions for real-time updates [README][1].

The GitHub description calls it “the flexible backend for all your projects” — turn your database into a headless CMS, admin panels, or apps [README]. That description is accurate. What Directus actually does well is making a database collaborative. A content editor can manage records through the Studio. A developer never writes a CRUD endpoint. A product manager builds dashboards in the Insights module. None of them need to talk to each other about the data model once it’s set up [1][website].

The project has 34,510 GitHub stars, claims 41M+ downloads and 500,000+ projects in production [website][merged profile]. The company behind it is Directus (Monospace Inc.) — a commercial entity whose business model depends on larger organizations paying for a license. This isn’t a community-driven project that happens to have corporate backing; it’s a company that has made most of its product free for smaller users while building toward enterprise revenue. That context shapes every license decision [4].


Why people choose it

The 7span.com in-depth guide [1] lands on three consistent advantages: “improved performance through lightweight API delivery, scalability without complete system redesigns, and streamlined workflows separating frontend/backend concerns.” Developer translation: your frontend isn’t coupled to your data layer, you can rearchitect your UI without touching your database, and the API is fast because it’s a thin Node.js layer over SQL rather than a PHP monolith processing every page request.

The “bring your existing database” angle is the genuine differentiator [1][README]. Contentful, Sanity, and Prismic want your content in their data model. Directus works with a Postgres database you already own. For any team that has years of structured data in a relational database, that’s a categorically different proposition — no migration, no data model translation, just an API layer and an admin UI on top of what already exists.

The Studio (admin interface) consistently gets credit for being usable by non-technical team members [1][website]. Website testimonials include a senior data engineer who replaced email-based Excel spreadsheets with Directus to maintain a single source of truth, and a frontend developer who credits it with handling nearly 6 million app sessions for Weber’s smart grilling app [website]. A product lead at Rescue.org claims it reduced their technical support burden by 3x compared to the previous system [website]. These read like real production use cases rather than marketing fabrications.

Where Directus tends to struggle is past the happy path. The 7span.com guide [1] notes it “excels for custom applications, internal tools, and systems requiring sophisticated data relationship management.” That phrasing implicitly acknowledges that simpler use cases — a marketing blog, a basic product catalog — are better served by lighter tools.


Features

Based on the README, website, and [1]:

Core data layer:

  • Visual collection and field modeling — define schema through the Studio UI [README][website]
  • Instant REST and GraphQL APIs with full auto-generated documentation [README][1]
  • Connects to PostgreSQL, MySQL, SQLite, OracleDB, CockroachDB, MariaDB, MS-SQL [README]
  • Works with new or existing databases — no migration required [README]
  • Content versioning to track and restore historical record states [1]
  • Multilingual content with localization support [1]

Access control:

  • Policy-based RBAC down to the field level [website]
  • Granular permissions per collection, per field, per user or role [website][1]
  • Multiple authentication methods [1]

Automation and real-time:

  • Flows module — visual workflow automation triggered by data changes, schedules, or manual input [website][1]
  • Real-time WebSocket subscriptions for collaborative and live-data scenarios [1][website]
  • File Library for asset management [website]
  • Insights module for custom dashboards [website]
  • Marketplace for third-party extensions [website]

Developer surface:

  • Custom endpoints, hooks, interfaces, and modules [website]
  • Built for white-labeling [README]
  • Template CLI for schema seeding: npx directus-template-cli@latest init [website]

AI integration:

  • Built-in AI assistant [website]
  • Native MCP server — exposes your content collections as tools usable by Claude Desktop, Cursor, and similar MCP-compatible clients [website]
  • “Structured data layer any agent or model can work with” [website]

The MCP integration is real: if you’re using Claude or Cursor for content work, Directus can expose your collections directly as AI-readable tools without custom API wrappers. That’s not a gimmick for the right workflow [website].


Pricing: SaaS vs self-hosted math

Directus Cloud:

  • Starts at $15/month per project [README]
  • Includes the database, storage, auto-scaling, and a global CDN [README]
  • Projects provision in approximately 90 seconds [README]
  • Full tier breakdown requires checking https://directus.io/pricing directly — the pricing page was not fully captured at scrape time

Self-hosted:

  • Free for organizations under $5M annual revenue and under 25 employees [README][4]
  • Infrastructure: $5–20/month on Hetzner, Contabo, or DigitalOcean
  • Requires a SQL database (PostgreSQL recommended), Redis, and storage layer

The license threshold in practice: The free self-hosted tier covers solo founders, small agencies, and early-stage startups — the majority of people reading this. The trigger for a commercial license is both revenue and headcount [README][4]. A 30-person nonprofit with $2M in budget could find itself in a gray zone. A bootstrapped two-person SaaS below $5M revenue is clearly free. Know your situation before going to production.

The incoming license change: As of April 2026, Directus is revising from BSL 1.1 + additional use grant to MSCL (Monospace Sustainable Core License), a custom license based on Fair Core License that converts to GPL after 4 years [4]. The accompanying “Innovation Grant” preserves free usage for individuals and organizations under $5M revenue with under 25 headcount [4]. The company is also introducing self-service registration keys, replacing the current honor system [4]. The core team posted about this publicly and solicited community feedback, which is a good sign for transparency — but if you’re starting a production deployment today, read the current license and watch the community thread for when the new one ships [4].

Compared to headless CMS SaaS alternatives: Specific pricing for Contentful, Sanity, or Prismic was not available in the sources consulted for this review, so no per-competitor numbers are stated here. The structural difference is that Directus Cloud charges per project (a flat $15/month floor) rather than per seat or per API call — a more predictable model as teams and traffic scale.


Deployment reality check

The README’s primary path is Docker Compose [README]. A one-click Railway deployment bundles PostgreSQL, Redis, and S3-compatible storage connected via Railway’s private network [README]. For developers with Docker experience, the setup story is one of the cleaner ones in this category.

What you actually need for self-hosting:

  • A Linux VPS with 2GB+ RAM (4GB+ recommended once you add workflows and file processing)
  • Docker and docker-compose
  • PostgreSQL or another supported SQL database
  • Redis for caching and real-time features
  • A domain and reverse proxy (Caddy or nginx) for HTTPS
  • S3-compatible object storage for file assets, or local disk for small setups

What can go sideways:

The 7span.com guide [1] flags Directus as strongest for projects “requiring sophisticated data relationship management.” Simple use cases are overkill. Running a full Node.js API server, Vue.js admin, Redis, and PostgreSQL for a five-page brochure site is engineering excess — there are better options.

The license situation is the bigger operational risk. Directus has changed its license at least twice (GPLv3 → BSL 1.1 around 2022, BSL → MSCL incoming) [4]. The core team has been transparent about the changes and the rationale [4], and the 4-year GPL conversion clause in the new MSCL is a real commitment to eventual permissiveness. But if you’re building production infrastructure, you need a process for tracking your org’s revenue/headcount thresholds and acquiring a commercial license when you cross them. The honor-system era is ending; registration keys are coming [4].

Realistic setup time: 30–60 minutes for someone with Docker experience. 2–4 hours for a first-timer following a guide, including domain and SSL setup. No installation horror stories surfaced in the available review sources.


Pros and cons

Pros

  • Connect any SQL database you already have. PostgreSQL, MySQL, SQLite, OracleDB, MariaDB, MS-SQL — no forced migration, no vendor data model [README].
  • Instant REST + GraphQL APIs from your schema, with auto-generated documentation and no boilerplate code [README][1].
  • Field-level access control built-in. Granular RBAC down to individual database fields, not an add-on or paid tier [website][1].
  • Studio works for non-technical teammates. Content teams manage records; developers don’t write ticket-driven CRUD endpoints. Multiple production testimonials support this [website][1].
  • MCP-native. Your content layer is immediately usable by Claude Desktop and Cursor as structured AI tools [website].
  • Flows automation included. Visual workflow engine for data-triggered automations, no separate tool needed [1][website].
  • Content versioning. Track and restore historical record states without third-party tooling [1].
  • 34,500+ stars and real production scale. Tripadvisor, Weber, Rescue.org in testimonials; 500,000+ claimed projects [website][merged profile].
  • Railway one-click deploy for teams that want infrastructure without manual Docker configuration [README].

Cons

  • Not open source — source-available with thresholds. BSL 1.1 is not OSI-approved open source. The license is more permissive than proprietary SaaS but less permissive than MIT or Apache. Marketing uses “open source” loosely [README][4].
  • License is actively changing. MSCL + Innovation Grant incoming, registration keys replacing the honor system. Legitimate reasons for the change, but it adds uncertainty for teams in mid-deployment [4].
  • 25-employee ceiling in the incoming Innovation Grant. A growing team can hit the headcount trigger while still well below the revenue trigger [4]. Know which threshold will hit you first.
  • No useful third-party review data in this corpus. SourceForge [2] listed Directus without substantive reviews; SoftwareAdvice [3] returned a Cloudflare block. This review has less independent user opinion than ideal.
  • Overkill for simple content sites. A blog, a marketing site, or a simple product catalog doesn’t justify the infrastructure weight. WordPress or a flat-file CMS is a better fit.
  • Extension catalog is smaller than WordPress. If you need a plugin for a specific third-party integration, you’re more likely to build it with the custom extension system than find it pre-built [1].
  • Flows is less mature than dedicated automation tools. For complex multi-service automations, n8n or Activepieces offers more integrations and better debugging. Flows covers the basics well [1][website].

Who should use this / who shouldn’t

Use Directus if:

  • You have data in a SQL database and want APIs and an admin UI without writing CRUD code.
  • You’re building a custom app, internal tool, or multi-tenant product where non-technical teammates need to manage structured data.
  • Your organization is under $5M revenue and under 25 people (free) or you’ve priced out the commercial license and it’s cheaper than the SaaS alternative.
  • You want field-level access control, content versioning, and workflow automation without assembling separate tools.
  • You’re building AI-assisted content workflows and want MCP integration without custom API wiring.

Skip it (use Payload CMS or Strapi) if:

  • You want a code-first schema where your data model lives in TypeScript files checked into version control, not a GUI config. Payload CMS is fully MIT-licensed and TypeScript-native. Strapi has a larger community and more plugins.

Skip it (use Contentful, Sanity, or Prismic) if:

  • You want a fully managed headless CMS SaaS with no infrastructure responsibility, editorial-focused content modeling, and enterprise support contracts. The ops simplicity costs more, but the tradeoff is real.

Skip it (use PocketBase or a static site) if:

  • Your project is a personal tool, a prototype, or a simple brochure site. PocketBase is a single binary, zero-config, and genuinely MIT-licensed.

Think carefully if:

  • Your organization is approaching $5M revenue or 25 employees — nail down the commercial license terms before you’re dependent on the platform in production.

Alternatives worth considering

From the category and the review context:

  • Strapi — the most direct comparison. Node.js headless CMS, visual schema modeling, large plugin catalog, commercial license for some features. Bigger community than Directus; less flexible on existing databases.
  • Payload CMS — newer, TypeScript-native, MIT-licensed, code-first schema. Strong choice if you want schema-as-code and full license freedom.
  • Sanity — hosted-first, GROQ query language, excellent for editorial teams and structured content workflows. No meaningful self-hosting option.
  • Contentful — enterprise headless CMS incumbent. Large integration catalog, strong editorial features, usage-based pricing that scales steeply. No self-hosting.
  • PocketBase — single-binary SQLite backend with REST APIs and a basic admin UI. Zero infrastructure complexity; limited at scale.
  • Appwrite — open source backend-as-a-service with auth, databases, storage, and functions. Broader scope than Directus but less focused on the headless CMS and SQL-connect use case.
  • WordPress (headless) — the default CMS for the world. REST API, massive plugin library, huge talent pool. Technically self-hostable headless CMS; practically, a worse fit for structured relational data than Directus.

For a non-technical founder escaping expensive headless CMS SaaS bills, the shortlist is Directus vs Payload CMS vs Strapi. Pick Directus if connecting to an existing SQL database is the priority. Pick Payload if you want a code-first schema and MIT license. Pick Strapi if you want the largest pre-built plugin catalog.


Bottom line

Directus is a well-built backend platform that earns its 34,000+ stars. Connect any SQL database, get APIs, an admin Studio, access control, file management, and workflow automation without writing boilerplate. The production track record is real. The thing to understand clearly before committing is the license: “open source” in the marketing copy does not match the BSL 1.1 in the repository, and the license is actively being revised [README][4]. For solo founders and teams under 25 people, it’s effectively free and worth serious evaluation. For teams that might grow past that threshold, build the commercial license cost into your planning before you’re dependent on it.

If the self-hosting setup is the blocker, that’s precisely what unsubbed.co’s parent studio upready.dev deploys for clients — one-time fee, done, you own the infrastructure.


Sources

  1. Harsh Kansagara, 7span.com“In-Depth Guide to Directus CMS: What You Need to Know” (October 24, 2024). https://7span.com/blog/comprehensive-overview-of-directus-cms

  2. SourceForge“Directus Reviews in 2026”. https://sourceforge.net/software/product/Directus/

  3. SoftwareAdvice“Directus Profile” (blocked by Cloudflare; no content retrieved). https://www.softwareadvice.com/api-management/directus-profile/

  4. Directus Community Forum, posted by Ben (Directus Core Team)“Directus License Revision: Community Feedback Requested” (April 3, 2026). https://community.directus.io/t/directus-license-revision-community-feedback-requested/2125

Primary sources:

Features

Integrations & APIs

  • REST API