API-first design
Everything you need to build production email
Typed SDKs
Official TypeScript and Python clients with full type coverage. Install with npm install bavimail or pip install bavimail. Zero boilerplate for the common cases.
Inbound webhooks
Receive signed webhook events for 13 event types. HMAC-SHA256 signatures on every delivery. verifyWebhookSignature() ships with the TypeScript and Python SDKs.
Inbound email
Full two-way email via a single MX record and webhook endpoint. Parsed headers, body, HTML, and attachment pre-signed URLs delivered to your endpoint.
Domain verification API
SPF, DKIM, DMARC, and MAIL FROM records generated on-demand. DNS check status via polling or webhook. Fully programmable — no manual copy-paste steps required.
OpenAPI-first
Full OpenAPI 3.1 spec ships with every API version. Generate clients in any language. The Scalar-powered API reference embeds in the Bavimail docs.
Local test mode
Test API keys route sends through a log-only backend. Dashboard shows raw payloads, timing, and delivery status for every API call.
Quickstart
Send your first email in 3 steps
1. Install the SDK
npm install bavimail (TypeScript) or pip install bavimail (Python). For other languages, call the REST API directly with any standard HTTPS client.
2. Set your API key
Create a free account, copy your API key from the dashboard, set BAVIMAIL_API_KEY in your environment.
3. Call emails.send()
Pass aliasId, toEmail, subject, and body. The API returns a message ID. Full send in under 10 lines.
Compare
See how Bavimail compares to the alternatives
Bavimail vs Resend
Both are clean developer APIs. Bavimail adds inbound email and domain tooling.
Learn more
Bavimail vs SendGrid
Bavimail is faster to set up with a simpler pricing model and a modern developer experience.
Learn more
Bavimail vs AgentMail
Bavimail serves both developer and AI-agent use cases at a lower per-email cost.
Learn more
Bavimail vs Postmark
Postmark's deliverability reputation is unmatched. Bavimail offers comparable transactional depth without a $15 monthly floor and includes inbound on every paid plan.
Learn more
Bavimail vs Mailgun
Mailgun pairs Sinch enterprise positioning with a $15 floor and a 100-per-day free tier cap. Bavimail bundles email validation at a lower price.
Learn more
Bavimail vs Amazon SES
SES is the cheapest per-email line item but ships no templates, dashboard, or inbound. Bavimail bundles those at a flat monthly fee with predictable billing.
Learn more
Bavimail vs Cloudflare Email Service
Cloudflare Email Sending requires Workers Paid and your sending domain on Cloudflare DNS, and is in public beta. Bavimail is GA with no platform prerequisites and callable from any backend with REST SDKs.
Learn more
FAQ
Common developer questions
How long does it take to send a first email with Bavimail?
Typical: most developers send their first email in under 5 minutes. Install the SDK with npm install bavimail or pip install bavimail, set your API key, and call emails.send(). Full domain verification is a separate step but is not required to start sending.
Which languages and frameworks does Bavimail support?
Bavimail ships official TypeScript and Python SDKs with full OpenAPI coverage. The REST API works with any language that can make HTTPS requests, including Go, Ruby, and Java via standard HTTP clients.
How do webhooks work in Bavimail?
Bavimail delivers signed webhook events for 13 event types including delivery, open, click, bounce, complaint, and inbound receipt. Signatures use HMAC-SHA256. The SDK includes verifyWebhookSignature() helpers for TypeScript and Python. Endpoints can be added and tested from the dashboard or API.
Does Bavimail support inbound email?
Yes. Inbound email is a first-class feature. Add an MX record pointing to Bavimail, then receive parsed email payloads on your webhook endpoint. Each inbound message includes parsed headers, body text, HTML, and attachment URLs as pre-signed download links.
Is there a local development mode or test environment?
Yes. Bavimail provides a test mode API key that logs sends without delivering to real addresses. You can also use the dashboard to inspect recent API calls, view raw payloads, and trigger test webhook deliveries from any registered endpoint.
Also for your team
Bavimail for every builder
Bavimail for Founders
Start free with 6,000 emails/month. Upgrade to Pro at $5/mo when you grow.
Learn more
Bavimail for AI Agents
Inbox aliases, signed webhook events, two-way email via REST API.
Learn more
More
Keep exploring
Features
Transactional Email API
Send app email with batch sends, scheduling, analytics, and clean domain controls.
Inbound Email Processing
Receive email, parse content, capture attachments, and route inbound traffic to your app.
Email Webhooks
Verify signed webhook events for delivered, opened, clicked, bounced, and complaint workflows.
Domain Verification
Guide teams through SPF, DKIM, DMARC, MAIL FROM, and production-ready domain authentication.
Docs
Docs Overview
Start with the platform model, launch sequence, and production checklist.
API Reference
See the core resources for send, inbound, domains, analytics, and suppressions.
Webhook Docs
Learn the event model, signature verification flow, and retry patterns.
SDK Guides
Install the official TypeScript and Python clients with working examples.
Compare
Bavimail vs Resend
Compare pricing posture, inbound depth, domain tooling, and production workflows.
Bavimail vs SendGrid
See where Bavimail is simpler for modern developer teams and smaller production stacks.
Bavimail vs AgentMail
Compare AI agent email capabilities, pricing, and operational depth.
Bavimail vs Postmark
Strong deliverability without a $15 floor, and inbound included on every paid plan.
Bavimail vs Mailgun
No $15 floor, a higher monthly free allotment, and email validation bundled instead of paid separately.
Bavimail vs Amazon SES
A managed email platform with templates, suppression, and inbound included instead of raw AWS infrastructure plus engineering glue.
Bavimail vs Cloudflare Email Service
A platform-agnostic GA email API instead of a public-beta product that requires Workers Paid as a hard prerequisite.