Ship in five minutes.
Sign up, grab your keys, paste the snippet. Web app or mobile app — if you can make an HTTP call, you already know enough.
Pick your track
Web or mobile — the first two steps are the same, then choose the SDK that fits your app.
Create your account
An email address and you're in — first seat is $1, no credit card to start. Your backend is provisioned automatically the moment your account exists.
Grab your keys
Open your project dashboard and copy the API keys. Each project gets its own isolated keys — rotate them any time from the dashboard. Keys are scoped to your data and nothing else.
Drop it into your frontend
Any framework — React, Next.js, Vue, or plain JavaScript. Auth, data, and realtime subscriptions over HTTPS:
// npm i invisibledb
import { InvisibleDB } from 'invisibledb';
const db = new InvisibleDB({
baseUrl: 'https://your-app.invisibledb.app',
apiKey: 'YOUR_API_KEY',
});
// Auth + realtime
await db.auth.signIn('you@example.com', 'password');
const messages = await db.collection('messages').getList();
db.collection('messages').subscribe((e) => {
console.log('live update:', e.action);
});Built for the mobile situation
Mobile lives on flaky connections and backgrounded processes. The Dart SDK is first-class — offline-tolerant realtime, auth that survives app restarts, and the same one-call vector search for on-device AI features. React Native, Swift, and Kotlin go through plain REST below:
// pubspec.yaml
dependencies:
invisibledb: ^1.0.0
// main.dart
import 'package:invisibledb/invisibledb.dart';
final db = InvisibleDB(
baseUrl: 'https://your-app.invisibledb.app',
apiKey: 'YOUR_API_KEY',
);
// Auth
await db.auth.signIn('you@example.com', 'password');
// Realtime collection
final messages = await db.collection('messages').getList();
db.collection('messages').subscribe((e) {
print('live update: ${e.action}');
});Plain HTTP when you need it
Every SDK call maps to a REST endpoint. Anything that speaks HTTP — Swift, Kotlin, curl, your CI — can talk to your backend:
# List records
curl https://your-app.invisibledb.app/api/collections/messages/records \
-H "Authorization: Bearer YOUR_API_KEY"
# Create a record
curl -X POST https://your-app.invisibledb.app/api/collections/messages/records \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text": "hello from curl"}'AI search without a second bill
Semantic search and RAG are built into every seat. Embed your documents once, then query with one authenticated call — no Pinecone account, no separate infrastructure:
# Semantic search over your collection
curl -X POST https://your-app.invisibledb.app/api/vector/query \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"collection": "docs",
"vector": [0.12, -0.44, 0.91],
"limit": 5
}'Vectors live alongside your data in the same SQLite files — which means they leave with you, too.
Want to touch it before you sign up? Fire real requests at a live backend in the API playground, or watch semantic search work in the vector search demo.
Ready to build?
First seat is $1. The docs are short because the product is simple.
Get started