Back to blogUmbraco

Going headless with Umbraco 15 and Vue

How we combine the Umbraco Delivery API with a Vue front-end, what it means for editors — and when going headless is (not) worth it.

contact-person

Nicola Nauwynck

Co-founder & CEO

14 Oct 2026 · 8 min read
behind-1

Headless is not a goal on its own. It is a way to give editors the Umbraco they love, while the front-end team ships with the tools they love.

Why we went headless

For content-heavy marketing sites, classic Umbraco views are still hard to beat. But as soon as the same content feeds an app, a portal and a website, the Delivery API becomes the single source of truth.

useContent.ts
const res = await fetch(`${API}/umbraco/delivery/api/v2/content/item/${path}`, {
  headers: { 'Accept-Language': locale },
});
const page = await res.json();
“Editors should not notice we went headless — except that everything got faster.”
Nicola Nauwynck — Co-founder, Numble

What we learned

  • Keep the content model the same — only the rendering moves
  • Block previews keep editing visual in the backoffice
  • Cache at the edge, revalidate on publish
behind-3
Front-end and back-end at one table: our headless kick-off session.

Our stack

Umbraco 17 on .NET 10, a Vue 3 + Vite SSR front-end on Node, and a shared design system in Storybook.

Blog

Keep reading

More articles from our blog.

All articles
Questions? Ask our assistant