Your database is a URL.
Execute SQL and key-value operations over HTTP. Zero server, zero connection strings — just fetch().
# Execute SQL via HTTP POST
$ curl -X POST "...sqlite-1.../api/v1/sqlite/db"
?db=/data/app.db \
-d '{
"transaction": [{
"query": "SELECT product_id, COUNT(*) FROM orders GROUP BY product_id LIMIT 5"
}]
}'
# Response with results
HTTP/1.1 200 OK
{
"success": true,
"results": [[
{ "product_id": 1, "count": 42},
{ "product_id": 2, "count": 38}
]]
}
No database server. No connection string. Just HTTP.
Run SQL. See the result.
Execute SQL queries, set key-value pairs with TTL, and increment counters atomically — all over HTTP.
Request
POST /api/v1/sqlite/db?db=/data/app.db
{
"transaction": [{
"query": "SELECT product_id, COUNT(*) FROM orders GROUP BY product_id LIMIT 5"
}]
}
Result (5 rows)
| product_id | COUNT(*) |
|---|---|
| 1 | 42 |
| 2 | 38 |
| 3 | 27 |
| 4 | 19 |
| 5 | 11 |
Pre-computed example result. SELECT query grouped by product_id.
Query results become charts.
Run a SQL query, chart the results instantly. Shareable Base64 URLs let you embed live data in dashboards.
Orders by Product
Example: SELECT product_id, COUNT(*) FROM orders GROUP BY product_id
KV Operations (ops/sec)
Example: SET vs GET operation throughput over 24 hours
Shareable Query URL
GET /api/v1/sqlite/query?db=/data/app.db&sql=U0VMRUNUIFN1bShjb3VudCkgRlJPTSBvcmRlcnM=
Base64-encode any SELECT statement and share a read-only query URL. Anyone can view live data — no write access, perfectly safe.
NoSQL speed. SQL reliability.
Atomic operations, batch updates, and time-travel history — all backed by SQLite, accessible via HTTP.
Atomic Increment
Increment counters without race conditions. Multiple simultaneous requests are serialized atomically — counter goes 5 → 6 → 7, never 5 → 6 → 6.
POST /api/v1/sqlite/kv/views:homepage/incr
{ "oldValue": 5, "newValue": 6 }
Batch 100 Keys
Get, set, or delete up to 100 keys in one atomic HTTP request. All operations succeed or all fail — 100x faster than individual requests.
POST /api/v1/sqlite/kv/batch/set
{ "success": true, "count": 100 }
TTL Auto-Expiry
Set a TTL on any key and it auto-deletes when expired. Perfect for sessions, cache, and tokens — no cleanup jobs needed.
PUT /api/v1/sqlite/kv/session:abc?ttl=3600
{ "success": true, "key": "session:abc" }
Time-Travel History
Every key change is recorded. View history, snapshot values at any timestamp, or rollback to a previous state instantly.
GET /api/v1/sqlite/kv/config:timeout/history
{ "history": [...], "total": 12 }
HTTP beats connection strings.
Hoody SQLite eliminates the operational overhead of traditional database servers. Your database is just a URL.
| Feature | Hoody SQLite over HTTP | Postgres |
|---|---|---|
| Server install | None needed | Server process |
| Connection string | Just a URL | Host/port/user/pass |
| Language driver | Any HTTP client | pg, mysql2 |
| AI agent access | Driver required | |
| Time-travel | Manual migrations | |
| Atomic KV ops | incr/decr/push/pop | App-level only |
| Shareable URL | ||
| Concurrent containers | FUSE mount | Pool per service |
23 Endpoints. SQL and KV over HTTP.
Full SQL transactions, key-value CRUD, atomic ops, batch operations, and time-travel — all as plain HTTP. No SDK required.
SQL Operations
{count, plural, =1 {# endpoint} other {# endpoints}'}POST .../api/v1/sqlite/db → {results: [{changes: 1}]}
KV Core
{count, plural, =1 {# endpoint} other {# endpoints}'}GET .../api/v1/sqlite/kv/session-abc → {value: "...", metadata: {'}'}
Atomic & Batch
{count, plural, =1 {# endpoint} other {# endpoints}'}POST .../api/v1/sqlite/kv/counter/incr → {value: 6, oldValue: 5}
Time-Travel
{count, plural, =1 {# endpoint} other {# endpoints}'}GET .../api/v1/sqlite/kv/price/history → [{op: "set", value: 99}]
Everything your database needs. Nothing it doesn't.
A complete database toolkit: SQL transactions, key-value store, atomic operations, batch processing, and time-travel — all over HTTP.
Web Database UI
Visual SQL query interface in your browser. Execute queries, browse schema, view results in table format — no local tools needed.
SQL Transactions
Execute atomic SQL transactions via HTTP POST. Multiple statements, parameterized queries, and bulk inserts in one request.
Key-Value Store
NoSQL-style GET/SET/DELETE operations on SQLite. Perfect for config, sessions, cache, and feature flags.
Atomic Operations
Thread-safe incr, decr, push, and pop. No race conditions. Works correctly under any concurrency level.
Batch Operations
Get or set up to 100 keys in one atomic request. All-or-nothing semantics. 100x faster than individual requests.
SQLite Drive FUSE
Store databases in /hoody/databases/ for multi-container access. Concurrent-write-safe via host-level FUSE mount.
Your database is a URL.
No server. No driver. Just HTTP. Start executing SQL and key-value operations in minutes.