Model any content
Products, events, sermons or case studies, each with a clean form.
Headless CMS with live site data, hosted in the EU
Model content once, deliver it to Next.js, Astro or any stack through a typed API, and see visitors, events and form submissions right next to it.

Works with
and anything that can send an HTTP request
Model content once, deliver it to any framework, and see what visitors do with it.
Products, events, sermons or case studies, each with a clean form.
Next.js, Astro, Shopify or a plain fetch. The SDK types every field.
Visitors, sources and events, next to the content that brought them.
Roles for owners, editors and the agency. Every save is a version.
Add a type, pick its fields, mark what’s required and what changes per language.
Three lines with the SDK, or a plain fetch. Content arrives typed, cached and in the right language.
Publish when it’s ready and see visitors, events and form submissions on the dashboard.
One entry feeds the website, the shop and the app, each in the languages it needs.
Every screen here is the real admin, with the demo client Aurora Coffee.

Fields, languages, a Google preview, versions and scheduling, on one page.Learn more

Build content types from 20 field types. Validation keeps every entry clean.Learn more

Upload once, set the focal point and alt text, and get the right size for every screen.Learn more

Code ready to paste for each content type, with your project and key filled in.Learn more

Every submission from your sites in one inbox, with spam kept apart and a CSV export.Learn more

Bring content from CSV, WordPress, Webflow or JSON, with a dry run before anything is saved.Learn more
Read published content from any framework with the TypeScript SDK or plain REST. Generate types from your schema and every field autocompletes.
import { createClient } from "@manifolio/sdk";
export const cms = createClient({
project: process.env.MANIFOLIO_PROJECT!,
key: process.env.MANIFOLIO_KEY!,
locale: "en",
});
// typed by `npx manifolio types`
const products = await cms.entries("product", {
fields: ["name", "slug", "price"],
sort: "-published",
limit: 12,
});---
import { cms } from "../lib/manifolio";
const products = await cms.entries("product", { limit: 12 });
---
<ul class="shop">
{products.map((p) => (
<li><a href={`/shop/${p.slug}`}>{p.name}</a> {p.price} lei</li>
))}
</ul>curl "https://api.manifolio.com/delivery/v1/$MANIFOLIO_PROJECT/entries/product?limit=3&locale=ro" \
-H "Authorization: Bearer $MANIFOLIO_KEY"npx manifolio types
Wrote 6 content types to manifolio.d.ts
Add one script tag and every site reports visits, sources, custom events and Core Web Vitals. No cookies, and nothing personal kept.
Demo data from aurora.coffee, the sample client in every new account
Use the arrow keys to switch
Example clients. Each one sees only its own sites and team.
Run all your clients from one account. Each client gets its own sites, team and logo in the admin, and never sees anyone else.
Isolation, two-factor sign-in and EU hosting are the defaults, not an add-on.
The database runs in Frankfurt and media sits in Cloudflare R2 with EU jurisdiction.
Every query is scoped to the client, and Postgres row-level security checks it again.
Authenticator codes with backup codes, required for agency staff.
Shown once, scoped to an environment and revoked the moment you ask.
Every change is recorded in a log that can only grow.
Visitors are counted with a hash that changes daily. IP addresses are never stored.
Start free, upgrade when you add more sites.
Features:
Features:
Features:
Still have a question? Write to us
Yes, with anything that can call an API. There are ready starters for Next.js, Astro, Nuxt, SvelteKit and plain HTML, a Shopify Liquid set with a small proxy, a TypeScript SDK and plain REST.
It doesn’t use cookies, and it sits next to your content, so you see which entries bring visitors, events and form submissions without a separate tool.
No. Fields are validated, every save is a version you can restore, and the agency can protect fields so only their labels change.
In the EU, in Frankfurt. Content, media and analytics stay in one region.
Yes, that is what the Agency plan is for. Each client gets their own sites, team and logo in the admin.
Yes. Import a WordPress export, a Webflow CSV, any CSV or JSON. You match columns to fields, check a dry run of the first rows, and images come along into the media library.
Yes. Early access is free and needs no card. Paid plans open with the public launch, and everything you build carries over.
Free while you try it. No card needed, and your content is yours to export.