Zero-Overhead Local SDK

Use SveltyCMS as a library inside your SvelteKit process. Zero HTTP, zero serialisation, microsecond latency.

0.002ms

Cached read latency · 533,665 RPS

As Simple as a Function Call

// +page.server.ts — no HTTP, no fetch, no network
export const load = async ({ locals }) => {
  const posts = await locals.cms.find('posts', {
    where: { status: 'published' },
    limit: 10
  });
  return { posts };
};
// Avg: 0.002ms (L1 cache hit) vs 0.603ms HTTP

The Latency Gap

Every millisecond saved on an internal query compounds across thousands of page renders. The Local SDK eliminates the HTTP stack entirely.

Access LayerAvg LatencyRPS
Local SDK (In-Process)0.002 ms533,665
REST Dispatcher0.034 ms29,241
HTTP Warm0.603 ms1,658
Payload Local API (est.)~1 ms~1,000
Strapi (HTTP required)2–5 ms~300

In-Process Queries

locals.cms is injected into SvelteKit's event.locals by middleware. No HTTP client, no fetch, no network stack — just a direct function call.

Full Type Safety

The SDK is fully typed end-to-end from database schema to your +page.server.ts. TypeScript catches mismatches at build time, not in production.

ACID Transactions

Use the same unified transaction API across all 4 database adapters. Commit, rollback, and batch — all in-process.

System Context

Pass system: true to bypass row-level permissions for background services and migrations — with full audit trail intact.

How We Compare

Payload CMS

Payload has a Local API — but it is deeply entangled with Next.js and React, adding baseline overhead. ~1ms per call.

Strapi

Strapi requires HTTP for all internal access. No in-process API. 2–5ms minimum per call.

Directus

Directus has no native in-process SDK. All access is via HTTP. 3–8ms minimum.

SveltyCMS

SveltyCMS: 0.002ms cached reads via the Local SDK. Orders of magnitude faster than any competitor.

Read Documentation See Full Comparison