SnoutData Cloud: a Postgres of your own, and the backend in front of it
SnoutData Cloud is hosted Postgres with the rest of an application's backend in front of it: sign-in, file storage, realtime, a REST and GraphQL API over your tables, and your own TypeScript functions. One command gives you a database, and a client already written against this API shape works by changing one URL.
npx snoutdata login
npx snoutdata init --envThat creates a project named after the folder, waits until it is actually serving queries rather than until a row exists somewhere, and writes DATABASE_URL into your .env. Run it twice and you get the same project, not two.
Each project is Postgres 17 with pgvector available, reachable from anywhere at <ref>.db.snoutdata.com over TLS. Any client works: psql, your ORM, the SnoutData desktop app, a coding agent. There is no proprietary layer to undo later, and you can export a dump whenever you want your own copy.
Two doors, one database
A project has a Postgres door and an HTTPS door, and both lead to the same database. The Postgres door is for anything that speaks Postgres. The HTTPS door, at <ref>.api.snoutdata.com, is for your application: the data API, auth, storage, realtime and functions, all behind one address and two keys.
const db = createClient(
'https://<ref>.api.snoutdata.com',
process.env.SNOUTDATA_ANON_KEY
)
const { data, error } = await db
.from('tasks')
.select('*')Before calling that working, we drove a real application through all of it with the client library unmodified: sign-up and sign-in, an insert and read-back under row-level security, the anonymous refusal, a broadcast, a table change arriving over a socket, a file up and down, a signed URL, a function call and a GraphQL query. 27 checks of 27.
Running that harness against our own stack is also what found the defects worth finding, including one where a realtime subscription answered SUBSCRIBED and then never delivered a thing. Every health signal was green. It is fixed, and the harness is why we know.
Snout Functions
Your own TypeScript, on Deno, so there is no build step and no node_modules. Write the function, deploy the folder, and it answers at <ref>.api.snoutdata.com/functions/v1/<name>.
// functions/hello/index.ts
Deno.serve(async (req) => {
const { name } = await req.json()
return Response.json({ hello: name })
})npx snoutdata functions deploy hello
npx snoutdata secrets set STRIPE_KEY=...A cold start is about 52 ms and a warm call about 2.9 ms, measured on the live host. By default a caller needs one of your project's keys. Secrets reach the function as environment variables. And a function runs on a network that cannot reach the machine's own cloud credentials, which we checked from inside a real function on a real host rather than assumed.
Built to be driven by your agent
Everything the dashboard does is a command, and every command takes --json. So Codex, Claude Code or opencode can create a project, apply migrations, generate TypeScript types and deploy functions from inside your codebase, either through the CLI or as MCP tools:
npx -y snoutdata mcpFor CI and agents there are access tokens (snoutdata tokens create) that do not expire unless you ask them to. The control plane exchanges one for a short-lived session on its side, so row-level security in the database is still the only thing deciding what it can see.
What a sleeping database costs
A project's data is shipped continuously to object storage, which is the only place it has to exist. That is what lets a free project sleep: after seven days with no connection it is backed up and stopped, and the next connection wakes it while the client waits. Plus and Pro projects never pause.
Auth, storage, realtime broadcast and Snout Functions are on every plan, including free. The REST and GraphQL data API and table-change subscriptions need a paid plan, because each is a fixed cost per project whether anybody calls it or not. A free project that asks for one gets a sentence about the plan, not an error. The limits are on the pricing page.
What we hold
This is a regular cloud, run properly. We host your data and your project's password, encrypted. You can retrieve it or rotate it, and every operation on a project is written to your audit log in plain words.
That is deliberately a different promise from the SnoutData desktop app, where your credentials never leave your machine. They are two products with two trust models, and we would rather say so than average them into one sentence that is wrong about both.
Where it is today
SnoutData Cloud is in private testing. Databases and Snout Functions are self-serve. The data API, auth, storage and realtime are switched on per project on request while there is no button for them yet. Email sign-up and sign-in work and really send mail; the screen for adding your own OAuth providers is not built. The limits page lists all of it in one place.
Start at dashboard.snoutdata.com, or read the getting started guide.