Fóir as an alternative to Strapi

Strapi is the open-source headless CMS you run yourself. Both model content and both sign in your end users. The differences are what you operate, and what arrives already built.

Side by side

Price

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

Content management

Fóir
Standard
Strapi
Standard

Hosted auth

Fóir
Included
Strapi
Included

Keeping it running

Fóir
Managed, nothing to patch
Strapi
You run, upgrade and scale it

Personalisation

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

Per-tenant schema

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

Agent access

Fóir
Content and control plane
Strapi
Content over MCP

Search and vectors

Fóir
Full text, embeddings, geo
Strapi
Plugin or an external service

Data ownership

Fóir
Postgres export, access rules included
Strapi
Your own database from day one

Strapi'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.

The upgrade you do not run

Strapi is yours, which also means the version bumps, the plugin compatibility and the scaling are yours on the day they matter.

Fóir is managed. The trade is real and it runs one way: you give up the server, and you keep an export that carries your access rules with it.

Audiences without a second system

Serving different content to different visitors on Strapi is something you design: a field convention, resolution logic in every client, and a way to preview it.

In Fóir an audience is a model you own, and the API returns content already resolved for the request.

Many clients from one workspace

Several Strapi clients usually means several instances, each with its own copy of the content types and its own upgrade.

Fóir gives each client a project in one workspace, with no instance to upgrade. Clients who share a schema are organisations inside one project, where the model is defined once and each of them inherits it.

Retrieval past the keyword

Semantic search on Strapi is an external vector service you keep in sync with your content.

Fóir generates embeddings for your records, and stores coordinates on any model so you can ask what is nearby.

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.