Inbound Email Simplified

A refreshingly simple inbound email API

Turn inbound email into a reliable data stream your app can trust. Provision unique email addresses via API, receive clean JSON payloads at your webhook, and scale safely with SOC 2 practices and no long‑term content storage.

Inbound‑first email processing that turns any message into structured JSON — streamed to your webhook in real time.

01

Create

Provision a unique inbound address on demand. Every address ships with its own secret and own webhook so you don't need routing glue code.

02

Stream

Incoming messages are parsed and streamed as JSON to your endpoint — headers, text, HTML, attachments, DKIM/SPF verdicts, spam score, and optional enrichment.

03

Secure

Reject‑unknown at RCPT TO (no "trash later"), HMAC‑signed webhooks, TLS‑only transport, no long‑term content storage. Metadata‑only logs for audits.

04

Scale

Multi‑region MX, bounded retries with jitter, concurrency controls, and throughput that grows with your workload — without re‑architecting your app.

Why Developers Choose MERU

Inbound‑only focus

Less complexity, faster time‑to‑value. We specialize in receiving email, not sending it — no SMTP complications or delivery reputation management.

Clean JSON contract

No MIME wrangling, fewer edge cases. Get structured data every time with guaranteed UTF‑8 normalization and optional HTML sanitization.

Compliance by design

SOC 2 alignment, short‑lived spools, delete‑on‑delivery. Built for teams that need enterprise security without the enterprise complexity.

Industries We Support

If your workflow starts in an inbox and ends in an app, MERU is the bridge. Developers across industries trust our inbound email API to power their integrations.

SaaS & Tech
Enterprise SaaS
E‑commerce
Fintech
Healthcare
Real Estate
Agencies
Consulting
Education
Logistics
Media
Hospitality
Nonprofits
Telecom
Legal
Automotive
HR
Construction
Energy
Consumer Products
SaaS & Tech
Enterprise SaaS
E‑commerce
Fintech
Healthcare
Real Estate
Agencies
Consulting
Education
Logistics
Media
Hospitality
Nonprofits
Telecom
Legal
Automotive
HR
Construction
Energy
Consumer Products

MERU is designed to turn email into reliable data streams.

Instant Address Provisioning

POST https://api.meruhook.com/v1/addresses

{
  "webhook_url": "https://yourapp.com/webhook",
  "is_permanent": true,
  "description": "Customer support emails"
}

Response:
{
  "id": "addr_abc123",
  "address": "user123@inbound.meruhook.com",
  "webhook_secret": "whsec_def456ghi789"
}

Per‑Address Webhooks

// One address → one webhook URL
webhook_url: "https://app.com/webhook"

// HMAC SHA-256 signatures with replay protection
Meru-Signature: v1,t=1693123456,s=abc123def456...

// Each address gets unique webhook secret
webhook_secret: "whsec_..."

Structured JSON Payloads

{
  "event_id": "evt_abc123def456",
  "address_id": "addr_abc123",
  "timestamp": "2025-09-05T10:30:00Z",
  "envelope": {
    "mail_from": "sender@example.com",
    "rcpt_to": ["user123@inbound.meruhook.com"]
  },
  "headers": {
    "from": "John Doe <sender@example.com>",
    "subject": "Customer Support Request"
  },
  "content": {
    "text": "Email body text",
    "html": "<p>Email body HTML</p>"
  },
  "attachments": [
    {
      "filename": "document.pdf",
      "content_type": "application/pdf",
      "size_bytes": 1024,
      "content": "base64..."
    }
  ],
  "spam": {
    "score": 0.3,
    "verdict": "not_spam"
  }
}

Security & Compliance

// Reject unknown recipients at SMTP time (pre-DATA)
// TLS enforced; disk encryption for transient spools
// No long-term content storage
// Metadata-only logs (configurable 7–30 days)

550 5.1.1 Recipient not found

Reliability & Scaling

// Exponential backoff retries (5xx/timeouts only)
Retry-After: 30s, 60s, 120s, 240s...

// Multi-region MX with failover
mx1.example.com (priority 10)
mx2.example.com (priority 20)

// Per-destination circuit breakers

Smart Pipelines

{
  "spam": {
    "score": 0.3,
    "verdict": "not_spam",
    "details": {
      "spf": "pass",
      "dkim": "pass",
      "dmarc": "pass"
    }
  },
  "metadata": {
    "received_at": "2025-09-05T10:30:00Z",
    "processing_time_ms": 156,
    "retry_count": 0
  }
}

Observability

// Usage tracking
GET https://api.meruhook.com/v1/usage

{
  "emails": {
    "total": 1250,
    "successful": 1200,
    "failed": 50
  },
  "webhooks": {
    "delivered": 1180,
    "failed": 70,
    "retrying": 0
  },
  "success_rate": 96.0
}

// Event-level audit trails available

Developer Experience

// Clear docs, SDKs, copy-paste snippets
npm install @meru/webhook-sdk

const webhook = new MeruWebhook(secret);
const payload = webhook.verify(body, signature);

// Language-specific one-pagers and examples

Access Controls

// API token management
POST https://api.meruhook.com/v1/account/tokens

{
  "name": "Production API",
  "permissions": ["addresses:read", "addresses:write"]
}

// Usage audit trails
GET https://api.meruhook.com/v1/usage/events

// Per-address TTL & rate limits built-in

Integrations

// First-class webhook support
// Zapier, Make, n8n automation triggers

{
  "attachments": [
    {
      "presigned_url": "https://s3.amazonaws.com/...",
      "expires_at": "2024-01-01T12:00:00Z"
    }
  ]
}

// Datadog & OpenTelemetry events

Ready to turn inbound email into structured data?