Spawn inboxes, catch emails, extract data — in seconds.
Open-source core you can self-host. Managed cloud when you need scale.
Every feature designed for programmatic consumption. Your agents get email superpowers without the human baggage.
Fresh @spawnmail.sh address in under a second. One API call. No browser, no CAPTCHA.
Inbound emails via long-poll or webhooks. Your agent gets structured JSON the moment mail arrives.
Parse subject, body, headers, and attachments. Structured output ready for LLM consumption.
Inbox and all data gone atomically. Zero residue, zero traces. Cryptographic certainty.
SpawnMail core is open-source. Inspect the code, self-host on your infrastructure, contribute back. No vendor lock-in, no black boxes.
# Clone and run the full stack
$ git clone https://github.com/posterity-labs/spawnmail
$ cd spawnmail
# One command. Postfix + API + DB.
$ docker compose up -d
→ spawnmail-api running on :8000
→ spawnmail-smtp running on :25
→ spawnmail-db running on :5432
# Your instance. Your data. Your rules.
$ curl http://localhost:8000/health
→ { "status": "ok" } Free to use, modify, and distribute. Forever. No license gotchas.
Single docker compose up runs the full stack. Postfix + API + PostgreSQL.
Open roadmap, public issues, PRs welcome. Built in the open.
Same open-source core, managed by us. Custom domains, dedicated IPs, SSO, and SLA — so your team ships agents, not infrastructure.
Use your own domain for agent inboxes. Full DNS management.
Isolated sending reputation. Your agents don't share IP space.
Email authentication out of the box. No deliverability headaches.
Enterprise identity providers. Okta, Azure AD, Google Workspace.
99.9% uptime commitment. Contractual guarantees for production workloads.
Dedicated Slack channel. Direct access to the engineering team.
Every API designed for programmatic consumption. Here's what teams build with SpawnMail.
Autonomous agents create accounts, verify emails, and extract OTPs — without human intervention.
Learn more →Disposable inboxes for CI pipelines. Test email flows without shared mailboxes or flaky state.
Learn more →Isolated inboxes per customer, per agent, per workflow. Complete data separation by design.
Learn more →CLI for scripts. HTTP API for everything else. Your agent speaks spawnmail in three lines.
# Create a disposable inbox
$ spawnmail create
→ abc123@spawnmail.sh
# Wait for an email (long-poll)
$ spawnmail wait abc123 --timeout 60
→ { from: "noreply@example.com", subject: "Verify" }
# Extract and destroy
$ spawnmail read abc123 --json | jq '.body_text'
$ spawnmail destroy abc123
→ gone. import requests
# SpawnMail inbox
inbox = requests.post("http://localhost:8000/inboxes",
headers={"x-api-key": API_KEY}
).json()
# Use in agent flow
agent.signup(email=inbox["address"])
# Long-poll for email
email = requests.get(
f"http://localhost:8000/inboxes/{inbox['id']}/wait",
headers={"x-api-key": API_KEY}
).json()
otp = extract_otp(email["body_text"]) A full-stack email platform purpose-built for autonomous workflows. Not a wrapper around Gmail — a ground-up system designed for machines.
Provision, manage, and operate isolated email inboxes entirely via REST API. Each inbox gets a unique address — ready to receive mail in under a second.
POST /inboxes → { "address": "a7f3c1@spawnmail.sh" } Account-scoped API keys with SHA-256 hashing. x-api-key header on every request.
Every inbox has a configurable time-to-live. Expired inboxes and all data are purged automatically.
Block on /wait until an email arrives — up to 120 seconds. One request, one response.
First-class CLI for shell scripts and CI pipelines. Full REST API for everything else. Structured JSON output.
Production Postfix MTA with pipe transport. Inbound mail parsed, stored, and queryable within seconds.
Cascade-delete removes inbox, emails, and raw payloads atomically. After destroy, no data exists anywhere.