On mobile?
Email yourself the setup link so you can finish when you're at your computer.
✓ Email sent! Check your inbox.
× Failed to send. Please try again.
⏱ Too many attempts. Please wait a few minutes and try again.
Real SQL, and nothing to run. Create a table, fire a query, and get your rows back in a single call from iOS, Android, Flutter, React Native or .NET. Fully managed and isolated per team, browsable in your dashboard, and ready for your AI Agent over MCP.
Pairs with Cloud Code and push notifications. No infrastructure to maintain.
| idINT | nameTEXT | priceREAL | activeINT |
|---|---|---|---|
| 4 | Halo Ring | 129 | 0 |
| 7 | Nimbus Speaker | 79 | 1 |
| 18 | Pulse Band | 59 | 1 |
| 12 | Aurora Lamp | 39 | 1 |
| 23 | Terra Mug | 15 | 1 |
Real rows from your database, queried in one call.
Standard SQL, no new query language.
No servers to provision or patch.
Each team's data walled off on its own.
Usage counts toward your AppAmbit bill.
Reach your database through AppAmbitDb: raw SQL when you want full control, a fluent builder when you don't. No connection strings, no drivers, no schema lock-in.
Run any statement with ? placeholders. Values are bound for you, so user input never becomes part of the SQL.
Build reads and writes without writing SQL: where, whereIn, orderBy, limit, then get, first or count.
Update and delete require a where(), so a missing filter can never wipe a whole table by accident.
Send many statements in one round trip, and wrap them in a transaction so they all land or none do.
Map result rows straight onto your own model types, or read them as plain maps. Your choice per query.
Reach the same database over the REST API, from a Cloud Code function, or with your AI Agent over MCP.
Cloud Code →Create tables and run SQL yourself in your AppAmbit dashboard, or ask your AI Agent to do it over MCP. It creates the table, seeds rows, and hands you a live database, ready to query from your app.
Prefer to click? Do the same from the AppAmbit dashboard: create tables, run SQL in the editor, and browse every row.
you › Create a products table and seed a few rows.
→ appambit.database.execute(sql: "CREATE TABLE products …")
| id | name | price |
|---|---|---|
| 1 | Aurora Lamp | 39 |
| 2 | Nimbus Speaker | 79 |
| 3 | Terra Mug | 15 |
Table products created and seeded. Live at /api/db/query.
A table and a few queries cover most of what an app needs to store. Here are clear examples, each reading input to output.
Save each user's profile and settings, then read them straight back on the next launch.
Store products or content and query them with filters, sorting and paging, in one call.
Queue writes while offline, then flush them in a single atomic batch when the app is back online.
Rank scores with ORDER BY and LIMIT, read fresh from the database every time.
Keep app settings and feature switches in a table your app reads on demand.
Append events as they happen and query a per-user feed, sorted and paged, in one query.
A database goes from created to queryable on its own. Once it is active, reach it from every app on your team, with no servers to run and no connection strings to manage.
Spin up a managed database for your app from the dashboard, in a click.
AppAmbit creates and configures it for you. No connection strings to wire up.
Once active it accepts queries. Share one database across apps on the same team.
Read and write from the SDK, the REST API, or a Cloud Code function, all authenticated.
Three ways to reach it
Query from your app in one call, on every platform.
Call the HTTP API directly with your consumer token.
Reach the same database from a server function.
Browse every table, run SQL in the built-in editor, and watch usage as it happens. Link one database, or share it across your team's apps.
| Table | Rows | Size | Updated | |
|---|---|---|---|---|
| products | 1,204 | 96 KB | 2 min ago | Ready |
| users | 356 | 41 KB | 12 min ago | Ready |
| orders | 89 | 12 KB | 1 hour ago | Ready |
| events | 5,320 | 320 KB | just now | Ready |
Browse tables, run SQL, and watch usage, all in one place.
app_db.sql
Drop a file to import
Export a database whenever you want, and import data to seed a new one or move it between apps.
Every query is authenticated, parameterized, and scoped to your app. No standing credentials, no way into another team's data, and risky statements blocked before they run.
Every query runs with a consumer token scoped to your app. No connection strings or credentials live in your code.
The ? placeholders bind user input safely, and a server-side allowlist blocks ATTACH, PRAGMA and other risky statements.
Each team's database is walled off. One app links one database, shared only across apps you own.
No servers to provision, patch, or scale. We run the database, you just write queries.
Standard SQL you already know. No proprietary query language, no new dialect to learn.
Write raw, parameterized SQL, or build reads and writes with a fluent, type-safe API.
Group writes into one round trip and commit them atomically, so partial writes never happen.
Map rows onto your own model types, or read them as plain maps. Filters, sorting and paging built in.
Run SQL from the dashboard editor, from a Cloud Code function, or let your AI Agent do it over MCP.
MCP Agent →Once your database is active, query it by table with AppAmbitDb, on iOS, Android, Flutter, React Native, .NET MAUI and Avalonia. The SDK adds the base URL, the auth and the JSON: you build a query and read the rows back. Prefer SQL? AppAmbitDb.execute() runs any parameterized statement. Full reference is in the docs.
// read active products from your databaseAppAmbitDb.from("products") .where("active", value: true) .orderBy("name") .get { rows, error in guard let rows, error == nil else { return } // rows: [[String: Any]] }
// read active products from your databaseAppAmbitDb.from("products") .where("active", true) .orderBy("name") .get() .then { rows -> // rows: List<Map<String, Any>> } .onError { error -> }
// read active products from your databasefinal rows = await AppAmbitDb.from("products") .where("active", true) .orderBy("name") .get();
import { Database } from "appambit"; // read active products from your databaseconst rows = await Database.from("products") .where("active", true) .orderBy("name") .get();
// read active products from your databasevar rows = await AppAmbitDb.From("products") .Where("active", true) .OrderBy("name") .Get();
// read active products from your databasevar rows = await AppAmbitDb.From("products") .Where("active", true) .OrderBy("name") .Get();
Start free and query your first table in minutes. Create it in your dashboard, or let your AI Agent do it over MCP. No credit card required.
Give your app a SQL database.