Ultra-fast transactional email for Bun runtimes with native global fetch
Zero-dependency, high-throughput email dispatch built specifically for Bun. Dispatch thousands of transactional messages per second with low latency.
Drop into your application in under 60 seconds
Native typed interfaces with zero unnecessary dependencies. Built for standard fetch and modern edge runtimes.
import { SadaSend } from 'sadasend';
const sadasend = new SadaSend(Bun.env.SADASEND_API_KEY);
Bun.serve({
port: 6000,
async fetch(req) {
if (req.method === 'POST' && new URL(req.url).pathname === '/send') {
const { to, subject, html } = await req.json();
const result = await sadasend.emails.send({
from: 'alerts@yourdomain.com',
to,
subject,
html,
});
return Response.json({ success: true, id: result.id });
}
return new Response('Not Found', { status: 404 });
},
});
console.log('Bun HTTP server running on port 6000');Pure TypeScript server for Bun using native Bun.serve and zero external C-bindings or heavyweight shims.
Engineered for high deliverability and zero incident risk
Every layer from edge connection pooling to per-key rate limits is designed to keep critical transactional dispatches fast, reliable, and contained.
Engineered for Bun Fast Engine
Maximizes Bun high-speed HTTP dispatch, achieving thousands of requests per second.
Zero C-Binding Dependencies
Pure TypeScript and native global fetch eliminates crashes from incompatible Node-gyp C++ addons.
Native Bun.env Integration
Automatically loads environment variables from .env files without requiring dotenv.
Microsecond Cold Starts
Instant execution on edge nodes and containerized microservices without module loading lag.
Full TypeScript Support
Native .ts file execution out of the box with zero compilation or transpile steps required.
RFC 8058 Automatic Headers
Compliant List-Unsubscribe headers injected seamlessly on all outbound emails.
SadaSend vs Node.js + Legacy SMTP Libraries
Compare Bun ultra-fast native HTTP architecture against legacy Node.js mailers.
| Feature & Capability | SadaSend | Node.js + Legacy SMTP Libraries |
|---|---|---|
| Native Global Fetch Architecture | Heavy socket wrappers | |
| Runtime Cold Start Time | No cold start (Bun native) | 150 - 500ms (Node.js) |
| Zero C-Binding Dependencies | Vulnerable to build errors | |
| Per-Key Staging Allowlists | ||
| Hosted MCP Tool Integration | ||
| Free Monthly Tier | 6,000 sends forever | Trial only |
Start with 3,000 emails every month at zero cost
No artificial paywalls on security. Unlike legacy providers that reserve recipient allowlists or dedicated IP pools for high enterprise tiers, every SadaSend account receives full safety controls from day one.
Everything you need to know about Bun email API
Clear, transparent answers on deliverability, API authentication, and rate limits.
Related developer guides and architectural tutorials
Explore step-by-step production implementation blueprints, benchmarks, and protocols.
REST API Reference & Endpoints
Complete REST API reference for sending emails, managing API keys, tracking delivery events, and configuring recipient allowlists with low latency.
Official Client SDKs (TypeScript & Python)
Official zero-dependency client SDKs for SadaSend. TypeScript and Python packages are live on npm and PyPI with typed results and auto-idempotency.
API Error Codes & Troubleshooting
HTTP status codes, machine-readable error reasons, and step-by-step remediation guides for API key rate limits, circuit breakers, and bounce handling.
How to Send Transactional Email with Bun and TypeScript (Zero Dependencies)
Stop wrestling with bloated Node.js polyfills. Learn how to send transactional emails in Bun with sub-millisecond cold starts and full TypeScript type safety.
Building a transactional email queue on Bun and BullMQ without losing messages
The worst bug an email service can have is not a crash. It is accepting a message, returning 202, and never sending it.
Nodemailer vs Native Fetch in 2026: Why Modern Runtimes Abandoned Legacy SMTP
Nodemailer served the Node.js ecosystem for 15 years. Here is why modern serverless and edge runtimes have replaced raw SMTP libraries with native fetch.
FastAPI & Python 3.12 Email Agent with Pydantic Validation
FastAPI and Pydantic v2 provide unmatched performance for Python backends. Learn how to build an async transactional email microservice with allowlist guards.
Why your transactional email goes to spam
People assume transactional mail is exempt from filtering because it was requested. Mailbox providers do not know that, and mostly do not care.