MailKite
Start Free
Free for developers

Free transactional email

Unlimited domains, 3K emails/month, free. Receive email as a webhook, send with one API. No credit card required.

  • No credit card
  • Unlimited domains
  • 3K emails/month
Our Tier-1 Networks
Amazon SES Cloudflare Postmark
Switched from SendGrid, inbox placement went from ~92% to ~99% in two weeks.

MarkAdRender.app

Send · one API

One API call, delivered

The same address that receives can send. One endpoint, one key — transactional mail, replies, and broadcasts go out over your own authenticated domain, built on Cloudflare’s edge.

  • HTML + text bodies and attachments in one POST
  • DKIM-signed and aligned automatically — lands in the inbox
  • Reply in-thread to anything you received
  • Scoped API keys, idempotent sends

No code to add? Point WordPress, a CRM, or any app that speaks SMTP at our relay →

import { MailKite } from "mailkite";

const mk = new MailKite(process.env.MAILKITE_API_KEY);

const { id, status } = await mk.send({
from: "hello@myapp.ai",
to: "ada@example.com",
subject: "Your invoice #1042",
html: "<p>Thanks! Receipt attached.</p>",
});
Install Docs →
Receive · the payload

One webhook, the whole message

This is exactly what hits your endpoint the moment an email arrives — no MIME wrangling, no encoding surprises.

  • Plain text and HTML bodies, already decoded
  • Attachments behind short-lived signed URLs
  • Stable message IDs for idempotent processing
  • Full headers when you need them
import express from "express";
import { MailKite } from "mailkite";

const app = express();
app.use(express.json());

app.post("/hooks/mailkite", (req, res) => {
// Verify the signature in production — see /docs/webhook-security
const email = req.body; // { from, subject, text, html, attachments }
res.json(MailKite.replyOk()); // {"status":"ok"}
});
Install Docs →
Best-path routing

The right provider for every message

Transactional, broadcast, or a brand-new domain — MailKite reads each message and routes it through the provider most likely to land it: Amazon SES, Cloudflare, or Postmark. Warm pools on day one, and an automatic reroute if a network degrades. You never pick a provider or babysit an IP.

provider routing optimal path per message
your sends route engine picks the best provider Postmark transactional Priority lane time-sensitive mail Amazon SES high volume Bulk lane broadcasts & campaigns Cloudflare new domain Warm-up pool shared, warmed for you transactional high volume new domain

MailKite routes each message through the provider most likely to land it — and reroutes automatically if one degrades.

What you get

Everything you need, free

Unlimited domains

Add as many domains as you need. Each gets its own inbound routes, webhook targets, and sending identity. No per-domain charges, no limits.

3K emails/month

Send and receive up to 3,000 emails per month on the free tier. Enough for most side projects, MVPs, and early-stage products.

Inbound as webhook

Every incoming email parsed into clean JSON and POSTed to your endpoint. No multipart form decoding, no MIME assembly.

Send with one API

Transactional email via REST API or SDK. DKIM signing, deliverability tracking, and bounce handling built in.

No credit card

Sign up, get an API key, start sending. No payment info required. Upgrade only when you need to.

MCP-native

Give your AI agents their own inbox. Native MCP support means agents can read, send, and manage email without custom glue code.

Compare

MailKite vs the others

MailKite SendGrid Mailgun
Domains Unlimited, free 1 (free tier) 1 (free tier)
Emails/month 3,000 100/day (~3,000) 5,000
Inbound email Webhook, clean JSON Multipart parse Inbound routes
Outbound sends 3K/month included 100/day limit 5,000/month
SDKs 8 languages 8 languages 7 languages
MCP / AI agents Native support Not available Not available
Credit card required No No (but limited) No (but limited)

Still deciding? Get your API key and try it yourself — no credit card.

Before you sign up

Is MailKite really free?

Yes. Unlimited domains, 3K emails per month, no credit card, no daily send cap. You pay only when volume grows past the free threshold.

What's included in the free tier?

Unlimited domains, 3K emails per month, inbound email as webhook, outbound send API, SDKs for every language, HMAC-signed payloads, built-in threading, and full dashboard access. No feature gating.

How does this compare to SendGrid's free tier?

SendGrid's free tier is limited to 100 emails/day and 1 domain. MailKite gives you unlimited domains and 3K emails/month with no daily cap — and MCP support for AI agents that SendGrid doesn't offer.

What happens when I exceed the free tier?

MailKite uses graceful overage — your service never stops. You're notified when approaching limits and can upgrade with one click. No surprise cutoffs, no silent suspensions.

Start sending email today

Unlimited domains, 3K emails/month, free. No credit card. Under 5 minutes to first email.

Free up to 3,000 emails/mo. $20/mo when you scale — no credit card.