A clean email API. First send in under 5 minutes.
Typical path
Everything you need to build production email
Typed SDKs
Official TypeScript, Python, and .NET 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.
Send your first email in 3 steps
1. Install the SDK
npm install bavimail (TypeScript) or pip install bavimail (Python). The .NET package is Bavimail on NuGet.
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.
See how Bavimail compares to the alternatives
Bavimail vs Resend
Both are clean developer APIs. Bavimail adds inbound email and domain tooling.
Learn moreBavimail vs SendGrid
Bavimail is faster to set up with a simpler pricing model and a modern developer experience.
Learn moreBavimail vs AgentMail
Bavimail serves both developer and AI-agent use cases at a lower per-email cost.
Learn moreCommon developer questions
How long does it take to send a first email with Bavimail?
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, Python, and .NET SDKs with full OpenAPI coverage. The REST API works with any language that can make HTTPS requests. Third-party community wrappers exist for Go and Ruby.
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.
Bavimail for every builder
Bavimail for Founders
Start free with 5,000 emails/month. Upgrade to Pro at $4/mo when you grow.
Learn moreBavimail for AI Agents
Per-agent inbox identities, signed webhook events, two-way email via REST API.
Learn moreKeep exploring
Need pricing context?
See the plan structure, retention windows, and overage model before you ship.
View pricingNeed implementation help?
Use the docs hub for quickstarts, API concepts, SDKs, and webhook guides.
Read docsNeed migration proof?
Compare Bavimail against incumbent options before you change providers.
Compare providers