A database, an API, and a dashboard.

Spin up managed Postgres, get a REST API generated from your tables, and keep using plain SQL for everything else. Start free, then $10 a month and pay only for what you store.

Free plan, no credit card. One database to start.

Postgres 16
on Cloud SQL
100%
stock Postgres
6
services per project
$10
a month, against Supabase's $25

Have a look

The dashboard, without signing up

Filter the table and watch the REST URL change — it is the same query grammar the real endpoint parses. The rows are an example, and the preview says so.

todos · publicInteractive preview · example data
5 rows
idtaskdoneprioritycreated_at
1Design the schema12026-02-03
2Add row-level security12026-02-04
3Wire up the webhook22026-02-08
4Write the migration12026-02-09
5Ship it32026-02-11

The real editor edits cells in place and writes straight to Postgres. The filters above are the same ones the REST tab turns into a URL.

Everything per project

Six services, one connection string

Each project you create is a complete backend. Nothing to wire together, and nothing you cannot reach with SQL.

Real Postgres

A dedicated database on Google Cloud SQL with its own role and connection string. Use any driver you already know.

Instant REST API

Every table becomes an endpoint the moment you create it. Filters, ordering, pagination and batch writes included.

SQL editor

Run migrations and queries from the browser as your own database role. No hidden layer between you and Postgres.

Auth built in

Email and password accounts for your app's users, with JWTs signed per project so tokens never cross projects.

File storage

Private buckets on Google Cloud Storage, indexed in your own database so you can join against them in SQL.

Realtime

Subscribe over WebSocket and receive inserts, updates and deletes the moment they commit.

One project, many doors

Reach it however you like

Create a table once. It is immediately a REST resource, a realtime stream, and a table in psql.

in the SQL editor
create table todos (
  id         serial primary key,
  task       text not null,
  done       boolean not null default false,
  created_at timestamptz not null default now()
);

How it works

Three steps, then you are writing product code

  1. 1

    Create a project

    Name it, pick a region. A Postgres database and a scoped login role are provisioned in seconds.

  2. 2

    Define your schema

    Write SQL in the editor, or connect with psql and run migrations you already have.

  3. 3

    Ship

    Your tables are already an API. Grab the key and start querying from your app.

Pricing

Pay for capacity, not features

Every plan gets every feature. You pay a small base price and then only for what you actually store — $0.4per GB of database, $0.05 per GB of files. Nothing to provision, nothing included you did not ask for.

2
5 GB
10 GB

Database size includes indexes, so it reads higher than your rows alone. Storage grows automatically as you fill it — there is nothing to provision.

You, on Pro$12.50 / mo
  • Pro base$10.00
  • 5 GB database × $0.4$2.00
  • 10 GB files × $0.05$0.50
Supabase, same setup$35.00
You save$22.50 / mo

Supabase figures estimated from their published rates: $25 base, ~$10 per additional project, 8 GB of database included per project then $0.125/GB, 100 GB of file storage then $0.021/GB. Check their pricing page for the current numbers.

Free

Free

  • 1 database
  • 500 MB database, up to 1 GB
  • 1 GB file storage
  • 2 GB egress / month
  • Paused after 7 days idle
  • Community support
Start free
Most popular

Pro

$10/ month

  • 2 databases, then $4/month each
  • $0.40/GB database, up to 50 GB
  • $0.05/GB files, up to 50 GB
  • 3 GB egress included, then $0.15/GB
  • Daily backups
  • Email support
Choose Pro

Team

$29/ month

  • 10 databases, then $3/month each
  • $0.30/GB database, up to 200 GB
  • $0.04/GB files, up to 500 GB
  • 10 GB egress included, then $0.12/GB
  • Point-in-time recovery
  • Priority support
Choose Team

Questions

Yes — a database on Google Cloud SQL, with its own login role and connection string. Point psql, Prisma, Drizzle or any Postgres driver at it. Nothing about your schema is proprietary, and there is no migration path to escape because there is nothing to escape from.

Run pg_dump against your connection string and you have everything. We store your tables in stock Postgres with no custom extensions required.

You skip provisioning, connection handling, and writing a CRUD API. Creating a project gives you a database plus generated REST endpoints, email/password auth, file storage and change subscriptions — all of which you would otherwise assemble by hand.

No, deliberately. Access is a per-project API key checked at the API layer, which means the key is a server-side secret and grants full access to your public schema. If you need per-user data rules, enforce them in your own backend rather than in database policies.

In a shared Cloud SQL instance, as its own database with its own role. Other tenants cannot connect to it — CONNECT is revoked from PUBLIC and granted only to your role. Dedicated instances are not offered.

The free plan is one database with 500 MB of storage. Paid plans raise the database count and storage ceiling. Every plan gets the same features — pricing changes capacity, not capability.

Your first database is free

Create a project and query it in under a minute.

Get started