The backend you
don't have to manage.

KREO gives you a PostgreSQL database, authentication, an auto-generated REST API, caching, realtime and AI — as one secure, multi-tenant platform. Ship your backend in minutes instead of months.

No credit card required · 50,000 requests / month free

<10msCached read latency
EUHosted & operated in the EU
7Products, one platform
AES-256Encryption at rest
Built on the tools you already trust
PostgreSQLRedisWebAuthnpgvectorWebSockets
Dashboard

Your whole backend, in one dashboard

Table editor, SQL console, caching, API keys and realtime — all in one place, ready in minutes.

app.kreo.work/dashboard
Kreo Inc./Overview
Growth

Overview

Your organization at a glance

All systems operational Refresh
Tables
12
In your schema
API Keys
3
Active keys
Workflows
5
Automations
DB Latency
6 ms
Database ping
GET /api/rest/customers
200 · X-Cache: HIT · 6ms
Get started

Up and running in 3 steps

From zero to a production API in minutes.

01

Create your workspace

Sign up and instantly get an isolated PostgreSQL database.

02

Define your schema

Create tables in the visual editor or in SQL — indexes and relations included.

03

Call your API

Every table is already a secured REST endpoint. Mint an API key and go.

Product

Everything your backend needs

Seven building blocks that work together out of the box — so you can focus on your product, not your plumbing.

Postgres Database

A full PostgreSQL database per project with a visual Table Editor and a SQL console. No ORMs to fight, no migrations to babysit.

Auto-generated REST API

Every table instantly becomes a secured REST endpoint — GET, POST, PUT, DELETE — with filtering, pagination and ordering out of the box.

Authentication

Email + password, passkeys (WebAuthn), TOTP MFA and API keys. Multi-tenant from the first request, with per-org isolation enforced in the database.

Turbo-Cache

A Redis-backed read cache you toggle per table. Cached reads never touch your quota and return in single-digit milliseconds.

Realtime

Subscribe to inserts, updates and deletes over WebSockets and push live changes straight to your UI — no polling.

Workflows

Fire webhooks on database events. Wire KREO to Slack, payment systems or your own services without standing up a queue.

AI & Vector search

Ask questions in plain English and get SQL back, plus pgvector similarity search for embeddings and semantic features.

Use cases

Built for what you're building

A solid foundation, whatever your project.

SaaS products

Multi-tenant database, auth and billing ready from day one.

Mobile apps

A REST API and realtime for iOS, Android and Flutter.

Internal tools

Build back-offices and dashboards with no dedicated backend.

AI apps

pgvector and natural-language SQL for your AI features.

Prototypes & MVPs

Validate an idea in a weekend, keep it in production.

APIs & integrations

Expose your data cleanly and wire up services via webhooks.

Database

A real PostgreSQL database, fully yours

Design your schema visually or in raw SQL. Run queries, create indexes, manage relationships — with the full power of Postgres and none of the operational burden.

  • Visual Table Editor and SQL console
  • DDL, views, indexes and constraints
  • Snapshots and one-click restore
  • pgvector for embeddings & semantic search
SELECT c.name, count(o.id) AS orders
FROM customers c
LEFT JOIN orders o ON o.customer_id = c.id
GROUP BY c.name
ORDER BY orders DESC
LIMIT 5;
REST API

Your tables, instantly an API

The moment you create a table, KREO exposes a secured REST endpoint for it. Authenticate with a JWT session or a scoped API key — filtering, pagination and ordering included.

  • GET / POST / PUT / DELETE per table
  • Filter, order & paginate via query params
  • API keys with IP allowlists
  • Turbo-Cache for sub-10ms reads
GET /api/rest/orders?status=paid&order=total&dir=desc

200 OK · X-Cache: HIT
{
  "data": [ { "id": 91, "total": 240 } ],
  "total": 128, "limit": 50, "offset": 0
}
Developer experience

Call it from anywhere

cURL, a typed TypeScript SDK, raw SQL, or a realtime subscription — the same data, the way you prefer to work.

  • Generated, fully-typed TypeScript client
  • Works in Node, edge runtimes & the browser
  • Realtime over WebSockets
# Read rows from any table — instantly
curl https://app.kreo.work/api/rest/customers?limit=10 \
  -H "x-kreo-api-key: $KREO_API_KEY"

# Insert a row
curl -X POST https://app.kreo.work/api/rest/customers \
  -H "x-kreo-api-key: $KREO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Ada Lovelace", "plan": "growth" }'
And a lot more

Batteries included

The details that usually take weeks to build — already done, tested and documented.

Custom domains

Serve your API from api.yourdomain.com with automatic HTTPS.

Audit logs

Every sensitive action recorded, queryable and exportable.

Usage & quotas

Transparent per-plan request and storage metering.

Snapshots

One-click backups and point-in-time restore of your data.

IP allowlists

Lock API keys to specific CIDR ranges.

Typed SDK

Generate a fully-typed TypeScript client for your schema.

Connection pooling

Tuned Postgres pooling so you never exhaust connections.

Multi-tenant

Hard org isolation at the database-role level, not just in code.

Cache invalidation

Writes auto-purge stale cached reads for that table.

Edge-ready

Stateless, JWT-based sessions that scale horizontally.

Encryption at rest

Integration secrets sealed with AES-256-GCM.

Passkeys

Passwordless sign-in with FaceID, TouchID or Windows Hello.

Security

Multi-tenant isolation, enforced by Postgres

Isolation that doesn't rely on application code being perfect. Each tenant runs under its own database role — so a bug in a query can never reach another customer's data.

Per-tenant database roles

Each organisation gets a dedicated PostgreSQL schema and a login role granted access to that schema only. Cross-tenant access is rejected by PostgreSQL itself.

AES-256-GCM vault

Integration credentials and secrets are encrypted at rest with authenticated encryption and rotatable keys.

Passkeys & MFA

WebAuthn passkeys and TOTP multi-factor authentication protect every account out of the box.

IP allowlisting

Restrict API keys to trusted CIDR ranges so a leaked key is useless from anywhere else.

Audit trail

Logins, key rotations and privileged actions are recorded with IP and user agent.

Brute-force protection

Per-IP and per-account rate limiting with constant-time password checks.

Why KREO

Build it yourself, or use KREO

The same backend — weeks of work, or a few minutes.

Building it yourself

  • Provision and operate a PostgreSQL database
  • Build authentication, sessions and MFA
  • Hand-write CRUD endpoints
  • Set up caching and invalidation
  • Build realtime (WebSockets)
  • Configure backups, isolation and multi-tenant security

Weeks of work, then ongoing maintenance.

With KREO

  • Provision and operate a PostgreSQL database
  • Build authentication, sessions and MFA
  • Hand-write CRUD endpoints
  • Set up caching and invalidation
  • Build realtime (WebSockets)
  • Configure backups, isolation and multi-tenant security

All included, ready in minutes.

Pricing

Start free, scale when you do

Transparent, request-based pricing. Cached reads are always free. Upgrade or downgrade anytime.

Starter

Free
Start free
  • 50,000 requests / month
  • 1 GB database storage
  • Turbo-Cache (30s TTL)
  • Auth, REST API & Realtime
  • Community support
Most popular

Growth

€15/ month
Start free
  • 500,000 requests / month
  • 10 GB database storage
  • Unlimited tables
  • Turbo-Cache (5 min TTL)
  • Custom domain
  • Email support

Enterprise

Custom
Contact sales
  • 5M requests / month
  • 100 GB database storage
  • Turbo-Cache (30 min TTL)
  • Priority support
  • Advanced audit logs

Enterprise+

Custom
Contact sales
  • 50M requests / month
  • 1 TB database storage
  • Dedicated infrastructure
  • High availability
  • Solutions engineering

Need something custom? Talk to us.

Built for developers

From schema to typed SDK in one click

KREO inspects your schema and generates a fully-typed client you can drop straight into your codebase. No hand-written types, no drift.

Generate my SDK
import { createClient } from "@kreo/client";

const kreo = createClient({
  apiKey: process.env.KREO_API_KEY!,
});

const { data, error } = await kreo
  .from("orders")
  .select("id, total, status")
  .eq("status", "paid");
FAQ

Questions, answered

Still curious? Email contact@kreo.work.

KREO is a hosted Backend-as-a-Service. You get a PostgreSQL database, authentication, an auto-generated REST API, caching, realtime and AI tooling — without provisioning or operating any of the underlying infrastructure yourself.

No. KREO runs and scales the database, cache and API layer for you. You design your schema in the dashboard and call the API; we handle pooling, backups, TLS and isolation.

Every organisation has its own PostgreSQL schema and a dedicated database login role granted access to that schema only. Cross-tenant reads are rejected by PostgreSQL itself.

Yes. On the Growth plan and above you can point a custom domain at your API; HTTPS is provisioned automatically once your DNS records verify.

Yes — the Starter plan is free and includes 50,000 requests per month and 1 GB of storage, with no credit card required.

Requests are metered per month and reset on your billing date; cached reads never count against your quota. You can upgrade at any time from the dashboard.

Ship your backend today

Spin up a database, secure it, and call your API in the next five minutes — free.