Solution

A new product's email, live in minutes.

Search and register a domain from the dashboard and MailKite provisions SPF, DKIM, and MX automatically — it's usually verified the moment it's registered. Not ready to commit to a domain yet? Claim a free MailKite subdomain and start sending and receiving today.

Why it fits

What you get

Register without leaving the dashboard

Search availability and register a new domain from MailKite — no separate registrar account, no copy-pasting nameservers.

DNS provisioned automatically

SPF, DKIM, and MX are set up as part of registration, so a newly registered domain is typically verified immediately — no manual records to paste.

Or skip owning a domain

Claim a free MailKite subdomain and send and receive today, then move to your own domain later without changing your integration.

Same account, same quota

A newly registered domain or a managed subdomain works exactly like any other domain on your account — same API, same webhook, same free tier.

How it works

Three steps to live

  1. 1

    Check availability

    Search a domain name from the dashboard (or the API) and see what's available to register.

  2. 2

    Register it

    Register the domain in your name — MailKite provisions the mail DNS as part of the flow, so there's no separate DNS step.

  3. 3

    Start sending and receiving

    The domain is typically verified the moment it's registered — create a mailbox, a route, or start calling the Send API right away.

Show me

check and register

Registration and mail DNS happen together — no nameserver copy-paste, no waiting on propagation.

check and register
import { MailKite } from "mailkite";

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

// Read-only — no charge.
const check = await mk.checkDomainAvailability("myapp.dev");

if (check.available) {
// Charges your card, then provisions SPF/DKIM/MX and adds the
// domain to your account in the same call.
const res = await mk.registerDomain({
domain: "myapp.dev",
contact: {
firstName: "Ada", lastName: "Lovelace",
email: "ada@example.com", phone: "+1.4155551234",
address: "1 Main St", city: "San Francisco",
zip: "94105", country: "US",
},
});
}
Install Docs →
what comes back
{
"domain": { "id": "dom_…", "domain": "myapp.dev", "status": "verified" },
"dns": [
{ "type": "MX", "name": "myapp.dev", "value": "mx.mailkite.dev", "priority": 10 },
{ "type": "TXT", "name": "myapp.dev", "value": "v=spf1 include:mailkite.dev ~all" },
{ "type": "TXT", "name": "mailkite._domainkey.myapp.dev", "value": "v=DKIM1; k=rsa; p=…" }
],
"registration": { "status": "registered", "reference": "reg_…" },
"dnsProvisioned": true,
"charge": { "amount": 1200, "currency": "usd", "status": "captured" }
}
In the box

What's included

Questions

Do I have to register through MailKite?

No — bring any domain you already own and point its MX/SPF/DKIM at MailKite instead. Registering through MailKite is for when you don't have a domain yet and want the purchase and DNS handled in one step.

Is registering a domain through MailKite free?

No — you pay the registrar cost for the domain itself (shown before you confirm), charged to your card on file. What's free is the mail DNS: SPF, DKIM, and MX are provisioned automatically as part of registration.

What is a free MailKite subdomain for?

It's a free, instantly-verified subdomain for testing or launching before you've settled on (or paid for) a real domain — sending and receiving both work immediately.

Can I move from a MailKite subdomain to my own domain later?

Yes — add and verify your own domain whenever you're ready and switch addresses over; your API integration and account don't change.

Keep reading

Ready to build?

Start free on unlimited domains — no credit card. Or browse the other solutions.