REST email API
POST /api/v1/emails with from, to, subject, html. Bearer-token auth, JSON in/out, predictable error codes — built to feel familiar if you have ever shipped with Resend, Postmark, or Mailgun.
Email API + unified inbox in one workspace
Send transactional and marketing email through a clean REST API. Read replies in a Gmail-style inbox. Manage domains, audiences, templates, and webhooks from the same workspace. Stop paying for Resend and Front.
stripe@receipts
Payment of $1,240 received
alice@customer.io
Re: Onboarding question
alerts@infra
[OK] Deploy finished — api v2.4.1
marketing@bytloop
Weekly digest is ready to review
API — POST /api/v1/emails accepted · delivered in 1.4s
For developers
A REST API that does what you expect. Bearer-token auth, idempotent sends, batch endpoints, and webhooks for every state change. No SDK required — just curl, fetch, or your favorite HTTP client.
curl -X POST https://mail.bytloop.com/api/v1/emails \
-H "Authorization: Bearer bm_live_xxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"from": "Welcome <hi@yourdomain.com>",
"to": ["customer@example.com"],
"subject": "Welcome to your account",
"html": "<p>Hi! Thanks for signing up.</p>"
}'{
"id": "em_2N5kQpZxV9wKqL3jH7yT",
"status": "queued",
"to": ["customer@example.com"],
"createdAt": "2026-04-14T20:31:14.892Z"
}POST /api/v1/emails with from, to, subject, html. Bearer-token auth, JSON in/out, predictable error codes — built to feel familiar if you have ever shipped with Resend, Postmark, or Mailgun.
Add a domain via API or dashboard, get DKIM + SPF + return-path records back. Optional Cloudflare auto-sync publishes them for you with one click.
email.sent, delivered, opened, clicked, bounced, complained, delivery_delayed, suppressed, received. HMAC-SHA256 signed, retried with exponential backoff, auto-disabled after 100 failures.
Mint live and test keys per workspace. Hashed at rest, prefix-displayed in the dashboard, revocable in one click. Per-key rate limits.
Hard bounces and complaints are added automatically. Manage manual suppressions, unsubscribes, and per-recipient holds via API or UI.
Per-domain toggle. Tracking pixels and link rewrites are injected at send time, opens/clicks are recorded as events and surfaced in logs and analytics.
For teams
Marketing, support, and ops shouldn't need a separate $20/seat tool to read replies. Bytloop ships a Gmail-style inbox in the same workspace as your API — same domains, same templates, same data.
Read and reply from a focused mail UI with multiple mailboxes, threaded conversations, and search across the whole workspace.
Rich-text editor, drag-and-drop attachments uploaded directly to your storage, signature blocks per mailbox, draft auto-save.
Visual editor (powered by GrapesJS) for marketing and transactional templates. Reusable variables, no HTML needed for non-engineers.
Group contacts into audiences and segments, send one-off broadcasts, track opens and clicks per recipient.
Build a campaign, pick a template, attach a recipient list, schedule or send now. Live stats per campaign as events arrive.
Inbound rules apply labels, archive, mark as read, or trigger an out-of-office reply. Configure per-mailbox in seconds.
Inbox, Sent, Drafts, Trash, Spam, Archive plus custom labels. Same mental model as Gmail, scoped per workspace.
Pick a future time, or snooze a thread until later. Background workers (Trigger.dev) handle delivery and re-surfacing reliably.
How it works
Drop in your domain. We return DKIM, SPF, and DMARC records — or sync them to Cloudflare automatically.
Create a scoped key in the dashboard. Use it from your backend, scripts, or Postman within seconds.
POST /api/v1/emails. Watch it land in real time on the Logs page, with delivery and open events streaming in.
Replies route into the unified inbox so non-engineers can respond without ever touching the API.
Platform
Run separate orgs from the same login. Switch instantly, invite teammates, scope every resource by tenant.
Send volume, delivery rate, open rate, click rate, bounce rate, deliverability score over 7/30/90-day windows.
Every API call, every send, every event — filterable by status, recipient, time range. Click through from a log row to the full event timeline.
Email + password (with verification), Google, and GitHub OAuth out of the box. JWT sessions, server-side enforcement, secure cookies.
Pay for what you send. No per-seat fees on the inbox, ever.
Get started with 3,000 emails per month.
For small teams sending up to 50k emails a month.
For growing teams sending up to 200k emails a month.
For scaling businesses sending 1M+ emails a month.
Custom volumes with SSO, dedicated IPs, and SLA.
Yes for the API surface — POST emails, manage domains, register webhooks, suppression lists, audiences, broadcasts. We also ship a unified inbox so the same workspace can read replies, which Resend doesn't do.
Multi-region deliverability providers behind a transport-agnostic adapter, with per-tenant reputation isolation via dedicated IP pools when you buy in. Bounce and complaint events flow back through the event pipeline in seconds, and inbound mail routes through the platform's receipt layer to your mailboxes. Provider details are an implementation detail — the API contract is what you code against.
Yes. Add it in Settings → Domains, publish the DNS records we return (or click Sync to Cloudflare), and start sending in minutes once verification clears.
Each verified domain gets MX records routed to our inbound endpoint. Incoming messages are parsed, threaded, labeled, and dropped into the matching mailbox. Filters and auto-responders fire automatically.
The Free plan covers 3,000 emails/month, 1 domain, and 1 mailbox. Perfect for side projects, internal tools, and pre-launch products.
Spin up a workspace, verify a domain, and send your first message in under five minutes. Free forever for side projects.