Build content-driven products on Brandfine
A multi-tenant headless CMS with localized content, structured navigations, and instant cache invalidation via webhooks. Everything you need to wire up a marketing site, a SaaS dashboard, or a content portal.
What is Brandfine?
A headless CMS that treats your frontend as a first-class consumer. Structured content, typed APIs, and an SDK that handles the boring parts (auth, caching, locale resolution).
Multi-tenant by design
Every team has isolated workspaces. API keys, content, and webhooks are scoped — no cross-tenant leakage.
Localized content
First-class locales. Translation groups link sibling posts; the SDK resolves the right one per request.
Webhook-driven SWR
Server-side caches refresh the moment editors publish. Stale-while-revalidate keeps requests fast.
Pick your path
Same data, two integration shapes. Use the SDK if you're on Node-flavored TypeScript; drop to REST anywhere else.
TypeScript SDK
RecommendedTyped client + server-side caches + locale resolvers + a one-line webhook handler. Works on Astro, Next, Remix, Bun, Workers.
npm i @brandfine/clientRead the SDK guide→REST API
Plain HTTP under /external/*. Bring your own client, your own caching layer, your own language. Bearer-token auth, JSON in and out.
curl -H 'Authorization: Bearer …' …Read the API reference→From zero to fetching content
Three steps. Create a workspace API key in the dashboard, install the SDK, fetch your first post. The SDK ships with stale-while-revalidate caches, so production reads are served from memory.
Full getting-started guide →import { createBrandfineClient } from '@brandfine/client'
export const bf = createBrandfineClient({
baseUrl: process.env.BRANDFINE_API_URL!,
apiKey: process.env.BRANDFINE_API_KEY!,
})
const posts = await bf.posts.list({
type: 'blog',
locale: 'en',
})Using ChatGPT, Claude, or Cursor?
We ship llms.txt files so AI tools can ingest these docs without scraping styled HTML. Drop the URL below into your prompt — the model picks up the entire reference in one shot.
Explore the docs
Or just hit ⌘K to search.