Auth + Data.
One API key.

Backend-as-a-service for micro-builders who ship a project a day. Zero config.

User Auth

Email/password signup, login, sessions, and magic links. Your users authenticate through our API — you get tokens back.

Document Store

Create, read, update, and delete JSON documents in named collections. No schemas, no migrations — just JSON.

Querying

Filter, sort, and paginate with a simple JSON query language. Equality, comparison, and prefix operators built in.

Three API calls. That's it.

// 1. Sign up your end-users
const res = await fetch("https://marsh.mallo.ws/v1/auth/signup", {
  method: "POST",
  headers: {
    "X-API-Key": "mm_your_api_key",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    email: "user@example.com",
    password: "securepassword"
  })
});

const { user, session_token } = await res.json();
// 2. Store documents
await fetch("https://marsh.mallo.ws/v1/collections/todos/documents", {
  method: "POST",
  headers: {
    "X-API-Key": "mm_your_api_key",
    "Authorization": "Bearer " + session_token,
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    title: "Ship it",
    done: false
  })
});
// 3. Query documents
const res = await fetch("https://marsh.mallo.ws/v1/collections/todos/query", {
  method: "POST",
  headers: {
    "X-API-Key": "mm_your_api_key",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    filter: { done: false },
    sort: [{ field: "_createdAt", order: "desc" }],
    limit: 20
  })
});

const { documents } = await res.json();

Simple pricing

$20

per month, per account

  • Up to 100 projects
  • User auth (email/password + magic links)
  • Document storage + querying
  • Scoped tokens for fine-grained access
  • Usage dashboard
Join the waitlist