Brandfine Docs

Welcome

Brandfine is a multi-tenant headless CMS. Pick your integration path.

Brandfine ships every workspace's content through one stable HTTP surface: /external/*. Consumer sites — Astro, Next.js, Remix, anywhere with fetch — read posts, navigations, categories, and workspace metadata from that surface and render them however they like.

Two integration paths:

REST API

Plain HTTP. Use it directly from any language with a JSON HTTP client. Auth is a single workspace-scoped X-Api-Key header.

Start with authentication →

SDK (TypeScript)

@brandfine/client wraps the REST surface with typed methods, server-side caches with stale-while-revalidate semantics, locale helpers, navigation resolvers, and a framework-agnostic webhook handler. @brandfine/client-astro adds an Astro APIRoute shape on top.

npm install @brandfine/client @brandfine/client-astro

Start with the SDK quickstart →

Core concepts

Whichever path you take, you'll work with the same domain model: workspaces own posts (grouped by post types), categories, and navigations. Translation groups tie locale variants of the same article together.

Read the concepts overview →

Built-in analytics

Every workspace gets a self-hosted analytics surface inside the CMS — visitor counts, top pages, sources, real-time view, and a content × traffic join that links each pageview back to the post that produced it. Cookieless, no consent banner, no third-party data sharing.

Concept overview → · SDK install →

Contact-form submissions

bf.submissions.create({...}) ingests contact-form submissions into the workspace's Submissions inbox. Standard fields (name, email, message) plus optional phone, subject, source, and free-form metadata round-tripped to the CMS.

SDK guide → · REST endpoint →

Work in Brandfine from Claude

Connect Claude (web, desktop, mobile or Claude Code) to your Brandfine account and ask it to draft, edit, translate and publish posts. You sign in once in the browser; no API keys to copy.

Connect Claude →

Using AI to integrate?

These docs ship with llms.txt and llms-full.txt — markdown-formatted, AI-friendly versions of everything you see here. Drop the URL into ChatGPT, Claude, or Cursor (@docs https://docs.brandfine.co/llms-full.txt) and the model has the full reference in context.

On this page