Fóir as an alternative to Directus

Directus wraps a SQL database you bring and gives it an API and a data studio. Fóir models content first and generates the database, the API and the editor from it. Closer than most, and the differences are specific.

Side by side

Price

Fóir
£0.99, £29 or £99 a month
Directus
Free self-hosted, or from $99 a month for Directus Cloud

Content management

Fóir
Standard
Directus
Standard

Hosted auth

Fóir
Included
Directus
Included

Automation

Fóir
Operations, hooks, schedules, secrets
Directus
Flows

Media

Fóir
Library, transformations, renditions
Directus
Library and transformations

Editing surface

Fóir
Shaped like content
Directus
Shaped like tables

Personalisation

Fóir
Built in, resolved per request
Directus
Build it yourself

Per-tenant schema

Fóir
Per project or organisation
Directus
One schema per instance

Agent access

Fóir
Content and control plane
Directus
Content over MCP

Search and vectors

Fóir
Full text, embeddings, geo
Directus
Full text and geo

Directus's behaviour is taken from its published documentation, current at August 2026. Where we say a thing is absent we mean absent from the product and its official plugins, not impossible to build. Corrections are welcome and we will make them.

Modelled as content, not as tables

Directus reflects your database, so the editing surface follows the shape the schema already has: rows, columns and joins. That is ideal when the data came first.

Fóir goes the other way. You describe content, and the storage, the API and the editor come from that, so a page composed of blocks reads like a page rather than a join.

Audiences and variants, already resolved

Serving a different version to a different visitor is yours to design on Directus, and yours to repeat in every client.

In Fóir a variant can replace a whole record or one field inside it, resolved server-side per request.

One schema across many clients

Running several Directus instances means keeping several schemas in step by hand.

Fóir defines a model once on a project and every organisation inside it inherits it. An organisation can add models of its own where a client needs more.

Built for agents as well as people

Fóir's agent surface covers the control plane, not only records: models, hooks, schedules, keys and configuration.

Destructive calls are held for approval, and the gate fails closed when it cannot classify an action.

What you would otherwise assemble

A content API is the smallest part of what an application needs. These come with it.

Publishing

Drafts, full version history, revert, publish at a future time, and bulk rollouts when a batch has to go live together.

Model behaviour

Per model: versioning, publishing, variants, or none of them. Records can be plain data, owned by a customer, or public.

Permissions

Roles for your team and roles for your customers, plus per-record visibility and grants to a named person.

Hosted sign-in

Password, one-time code, and social or OIDC providers, on your own domain, with tokens and refresh handled for you.

Media and assets

An asset library with upload, transformations and responsive renditions, and the same access rules over files as records.

API keys

Each key reaches exactly the models and operations you allow, against a schema generated for that project.

Automation

Cron schedules, lifecycle hooks on publish and change, outbound operations, and a vault for the keys they need.

Notifications

Transactional email and push to web, iOS and Android, from the same events your content already emits.

Notes and tasks

Comments anchored to the record they concern rather than to a page, assignable to whoever has to act on them.

Ask Fóir

An assistant that works your content through the same tools and permissions your team has, staging its edits for review.

Work that carries on without you

Assign a task to Fóir and it works while you are away, coming back on the note when it needs an answer or is done.

Extensions

Install apps that add your own tools to the admin, beside the content they operate on.

Search and vectors

Full-text search, and embeddings generated for your records so you can retrieve by meaning rather than by keyword.

Geo

Store coordinates on any model and query by proximity: what is near this point, ordered by distance.

See it against your own models

Create a project, define a model, and read it back over the API.