Inbound email for developers

The inbound email API

Parse incoming email into structured JSON. Deliver via webhook or pull from the API. SDKs for every language. No mail server required.

How it works

Three steps to live

  1. 1

    Install the SDK

    npm install @mailkite/sdk — or the equivalent for your language. Every SDK mirrors the same API surface.

  2. 2

    Configure your domain

    Add your domain to MailKite and point MX records. We handle authentication (SPF, DKIM, DMARC) automatically.

  3. 3

    Start receiving

    Register a webhook or poll the API. Every inbound email arrives as structured JSON — ready to act on.

Show me

One SDK call to start receiving

Type-safe, same API surface across every language.

typescript
// Receive inbound email via the MailKite SDK (Node.js)
import { MailKite } from "@mailkite/sdk";

const mailkite = new MailKite({ apiKey: process.env.MAILKITE_API_KEY });

// List recent inbound messages
const messages = await mailkite.emails.list({
domain: "myapp.ai",
limit: 10,
});

// Each message is a clean JSON object:
// {
// id: "msg_2Hk9…",
// from: { address: "ada@example.com" },
// to: [{ address: "support@myapp.ai" }],
// subject: "Re: invoice #1042",
// text: "Looks good — approved!",
// threadId: "<a1b2c3@mail.example.com>",
// attachments: [{ filename: "po.pdf", url: "…" }]
// }
Why teams switch

What you get

REST API + webhook delivery

Pull messages via the REST API or get them pushed to your webhook in real-time. Both paths return the same clean JSON.

SDKs for every language

Type-safe SDKs for Node, Python, Go, Ruby, PHP, Java, .NET, and Rust. Every method mirrors the API 1:1.

HMAC signature verification

Every webhook includes an x-mailkite-signature header. Verify authenticity with one function call in any language.

Built-in threading

threadId resolves In-Reply-To and References headers. Group replies into conversations without parsing email headers.

Attachment handling

Attachments are extracted, stored, and delivered as signed URLs. Download directly or process in your pipeline.

Domain verification

Add a domain, verify MX records, and start receiving in under 5 minutes. SPF, DKIM, and DMARC handled automatically.

In the box

What's included

Questions

What is an inbound email API?

An inbound email API receives email on your behalf, parses the message into structured data (sender, subject, body, attachments), and delivers it to your application via a webhook or API call. MailKite delivers pre-parsed JSON — no MIME handling required.

How does MailKite differ from SendGrid Inbound Parse?

SendGrid delivers inbound email as a multipart form POST, requiring you to re-parse the MIME structure. MailKite delivers a clean JSON payload with HMAC signature verification, built-in threading, and attachment URLs — no re-parsing.

Can I receive email in Node.js / Python / Go?

Yes. MailKite has official SDKs for Node.js, Python, Go, Ruby, PHP, Java, .NET, and Rust. Every SDK mirrors the REST API 1:1 with type-safe bindings.

How fast is delivery?

MailKite parses and delivers inbound email in under 1 second. Webhooks fire immediately; the REST API is updated within seconds of receipt.

Keep reading

Ready to build?

Get an API key, add a domain, receive your first email in under 5 minutes.