Structured content APIs. Zero-config static site builder. One platform.
SleekCMS is the only platform that gives you a clean REST content API and a fully automated static site builder — powered by the same content models. Use one, the other, or both.
Free forever plan No credit card required
import { createSyncClient } from '@sleekcms/client';
const client = await createSyncClient({
siteToken: 'sk_prod_xxxxxxxxxxxxxxxx',
env: 'production'
});
// Fetch a single page
const page = client.getPage('/about');
// Fetch all blog posts
const posts = client.getPages('/blog');
// Access shared data
const footer = client.getEntry('footer');
// Get all blog slugs (for SSG)
const slugs = client.getSlugs('/blog');
Plays well with your entire stack
Frameworks
Fetch content from any JS framework
Hosting & Deployment
Sites go live automatically — no setup
Your site is hosted automatically on SleekCMS CDN. Point a CNAME record to go live on your own domain — free on all plans, no extra setup required.
Two platforms. One content model.
Choose what your project needs — a clean content API for your own frontend, an automated site builder, or both running side-by-side from the same schema.
REST API
One authenticated endpoint returns your entire content graph as structured JSON. Instantly cacheable and always in sync.
TypeScript-native SDK
@sleekcms/client ships with full types. Sync or async client modes for SSG and SSR.
Sync + Async modes
Prefetch all content upfront for SSG, or fetch on-demand for SSR — same API, different strategy.
React hooks
usePage(), useEntry() and more. Loading states, error handling, and automatic refetching built in.
Built-in EJS editor
Bind templates to your content models directly in the browser — no local setup, no tooling required.
Zero-config builds
No Git, no CI/CD pipelines, no servers to configure. SleekCMS compiles and deploys on every save.
Preview before publish
Review every change in a live preview environment before it reaches production. Editors love it.
CDN delivery
Deploy to SleekCMS hosting, Netlify, Vercel, or download as a ZIP. Global CDN on all plans.
Use either independently, or both from the same content models.
From model to live site in minutes
Model your content
Define pages, entries, and blocks with a visual schema editor. Set field types, references, and block structures — your API reflects exactly what you modeled.
Create and publish
Editors fill fields, compose page layouts from drag-and-drop blocks, and publish to environments. Draft → staging → production, with preview at every step.
Deliver anywhere
Fetch via REST API in your own stack, or let SleekCMS generate and host the site for you. Same content models, your choice of delivery.
Built for modern content teams
Every feature you'd build yourself — content modeling, APIs, image optimization, forms, environments — built into the platform.
Structured content modeling
Pages, entries, and blocks — with full field type coverage and references.
REST API
One endpoint, entire content graph. Environment-scoped, instantly cacheable, and zero configuration.
TypeScript SDK
Sync and async client modes. Full types. npm install and go.
Static site builder
EJS templates, automatic compilation, CDN deployment. No external tooling.
Multi-environment publishing
Draft → staging → production. Environment aliases, version revert, webhooks.
cms-cli + AI tools
Build entire sites locally with VS Code, Cursor, or Claude. AI context injected automatically.
Image optimization
Serverless resize, crop, WebP conversion, blur — via URL parameters.
Forms & lead management
Add data-sleekcms to any form. Submissions captured, stored, and webhook-ready.
Ship in the time it takes to install
One package. Synchronous methods. Everything your frontend needs in a single fetch.
import { createSyncClient } from '@sleekcms/client';
const client = await createSyncClient({
siteToken: 'YOUR_SITE_TOKEN',
env: 'production'
});
const page = client.getPage('/about');
const posts = client.getPages('/blog');
const footer = client.getEntry('footer');
const slugs = client.getSlugs('/blog');
const page = client.getPage('/');
// Responsive hero image
const heroUrl = `${page.banner.raw}?w=1200&h=600&fit=cover&fmt=webp`;
// Retina OG image
const ogUrl = `${page.banner.raw}?w=1200&h=630&dpr=2&fmt=jpg&q=85`;
// Blurred background
const bgUrl = `${page.banner.raw}?w=1920&blur=20&q=40`;
// Thumbnail
const thumbUrl = `${page.banner.raw}?w=400&h=300&fit=cover&fmt=webp`;
import { usePage } from '@sleekcms/react';
export default function AboutPage() {
const { page, loading, error } = usePage('/about');
if (loading) return <Spinner />;
if (error) return <ErrorState />;
return (
<article>
<h1>{page.title}</h1>
<p>{page.description}</p>
</article>
);
}
Built for every team that ships content
Developers
A clean REST API, TypeScript-friendly SDK, and a CLI that lets you build entire sites locally with full AI-agent support. Your stack, your way.
Solutions for Developers →Web Agencies
Manage every client site from one org dashboard. Clone any site as a reusable template. Give clients a focused editing UI without risking data structure changes.
Solutions for Agencies →Small Businesses
Launch a professional website without writing code. Pick a free template, add your content, connect your domain, and publish. Update anytime — no developer required.
Solutions for Small Businesses →Three primitives. Infinite structure.
Every content problem reduces to pages, entries, and blocks. Model them with full field type coverage — text, rich text, images, references, and more.
Pages
Routable content with URLs. Static pages and slug-based collections. /about, /blog/[slug], /docs/[section].
Entries
Shared structured data without URLs. Authors, navigation, site settings, option sets — referenced by any page.
Blocks
Composable components editors assemble into page layouts. Hero, features grid, testimonials, pricing tables.
Publish with confidence. Revert without panic.
Draft → staging for review → production when approved. Your live site reads from an environment alias — nothing changes until you say so.
Start free. Grow when you're ready.
No seat fees, no hidden limits on content or API calls. The free plan is the full product — not a stripped trial.