Platform features

Everything you need to send application email — and trust it

A Resend-compatible API your existing code already speaks, plus the deliverability, observability, and white-label control most providers make you stitch together yourself. All of it runs on our own dedicated sending infrastructure — not a reseller layer on top of someone else's.

Start free Read the docs

Drop-in for the resend SDK Inbox-grade deliverability White-label multi-tenancy

Sending API

A drop-in Resend-compatible API

Point the resend SDK at our base URL and your code keeps working — same payloads, same response shapes. Migrate in one line, then grow into the superset.

POST /emails

Send with the exact Resend payload: from, to, cc, bcc, reply_to, subject, html, text, attachments, headers, and tags. Validation returns actionable errors, not 500s.

Batch sending

POST /emails/batch accepts up to a hundred messages in a single request — distinct recipients, subjects, and tags per entry — so high-volume jobs stay one round trip instead of a hundred.

Scheduling

Pass scheduled_at to queue a send for later, fetch it with GET /emails/:id, and cancel it before it leaves. Natural-language and ISO 8601 times both work.

Idempotency keys

Send the same Idempotency-Key header twice and the second request returns the first result instead of a duplicate email. Safe retries through any flaky network.

Fast, durable accept

Send-accept lands at p99 under 300ms because we enqueue durably and return immediately. Your request thread never blocks on the actual delivery.

SDKs & SMTP

Official usermails SDKs, a documented resend drop-in via base-URL override, and SMTP relay credentials for the stacks that still speak SMTP.

# one line to migrate — same SDK, our base URL import { Resend } from 'resend'; const resend = new Resend('um_live_••••••••', { baseUrl: 'https://api.usermails.com' }); await resend.emails.send({ from: 'noreply@acme.com', to: 'user@example.com', subject: 'Reset your password', html: '<strong>Click to reset</strong>', tags: [{ name: 'category', value: 'auth' }] });

Resend compatibility is a contract, not a one-time port. Features ship as a superset — your existing payloads never break.

Domains & identity

Sender authentication that takes one click

Add a domain and we generate the keys and records that decide whether you reach the inbox — then verify them live.

SPF, DKIM & DMARC

We generate DKIM keys and derive the SPF, DMARC, optional MAIL FROM, and tracking CNAME records every authenticated sender needs — alignment included, no guesswork.

One-click DNS

Publish records straight to supported DNS providers, or copy-paste them into any registrar. Live re-verification shows pending, verified, or failed per record.

Alignment as a gate

We warn before you send on a misaligned or unverified domain, with DMARC policy guidance from none to quarantine to reject and a readiness checker — plus BIMI once you reach enforcement.

Keys & pipeline

Scoped keys and a send pipeline that doesn't lose mail

Credentials scoped to a single project, and a delivery path engineered so an accepted send is a kept promise.

Scoped, hashed API keys

Create and revoke keys per project, each scoped to exactly what it should touch. Keys are shown once and stored only as hashes — we can never reveal them back. Per-key rate limits and usage are visible at a glance.

Durable send pipeline

Every send enters a durable queue before it leaves, with retry policies for transient failures and automatic suppression on hard bounce or complaint. No silent send loss, ever — accepted means delivered or accounted for.

Pre-send suppression

Per-project suppression lists are enforced before a message is ever queued, so you can't re-mail an address that already bounced or complained — your reputation is protected by default.

Encrypted at rest

Sensitive payload fields are encrypted at rest, keys live hashed, and every resource is isolated to its tenant at the data layer — not just hidden in the UI.

Events & observability

Signed webhooks and logs you can actually search

Every delivery, bounce, complaint, open, and click is captured — pushed to you signed, and queryable per message.

Signed webhooks

Register endpoints per project and subscribe to the event types you care about. Every payload is HMAC-signed so you can verify it came from us and nobody else.

Retries & replay

At-least-once delivery with exponential backoff on failure, a full delivery log per endpoint, and one-click manual replay when your receiver was down.

Searchable logs

Filter the email log by status, recipient, subject, tag, domain, and date — at high volume, backed by an analytics store built for the query load.

Per-message timeline

Open any message to see its full event timeline — queued, sent, delivered, opened, clicked — alongside the rendered content and raw headers.

Explain the failure

When a send fails we tell you why in plain language — the bounce class, the suppression reason, the auth gap — so you fix the cause, not the symptom.

Deliverability analytics

Sends, delivered, bounced, complained, opened, and clicked over time, with per-domain reputation summaries and bounce and complaint-rate alerts.

Deliverability suite

Inbox placement as a measurable promise

We run our own dedicated sending infrastructure, so we can see and steer reputation across every tenant — the things raw infrastructure can't do for you.

Dedicated IP pools

Shared pools for low volume, dedicated pools for scale — with transactional and marketing streams kept on separate reputations so one never poisons the other.

Automated warmup

Ramp schedules that throttle volume per IP per day and auto-adjust to engagement and bounce signals — no spreadsheet, no manual babysitting.

Inbox-placement testing

Seed-list tests across major mailbox providers report exactly where your mail lands — inbox, spam, or missing — provider by provider.

Blocklist & reputation

Continuous monitoring of your sending IPs and domains against the major blocklists, plus a composite reputation score with trend and alerts.

DMARC reports & BIMI

We ingest your DMARC aggregate reports to surface who's sending as you and where alignment fails — and guide BIMI setup once you reach enforcement.

Abuse prevention

Signup screening, send-pattern anomaly detection, per-tenant caps, and a fast kill-switch — so shared infrastructure stays clean for everyone on it.

See the full deliverability suite

White-label multi-tenancy

Resell email under your own brand

Multi-tenant from the schema up — organizations contain projects, projects scope every key, domain, log, and send. Isolation is enforced at the data layer, not the interface.

Orgs → projects → keys

A clean tenancy spine with role-based access — owner, admin, developer, viewer — per org. Every resource belongs to exactly one project; no cross-tenant access is possible.

Custom domains & branding

Your own dashboard domain, logo, and colors, with custom sending and tracking domains per org and a "powered by" toggle. Your customers see your brand, end to end.

Reseller usage rollups

List your sub-tenants, see per-tenant usage at a glance, and export billing-ready rollups — everything an agency or platform needs to charge for email it resells.

Coming next

Marketing on the same event stream

Transactional ships first because that's the acute pain. Lifecycle and marketing land on the very same events — one account, one stream, no second vendor.

Contacts & segments

A first-class contact store with dynamic segments built from the same activity and engagement signals your transactional sends already produce.

Broadcasts

One-off and recurring campaigns with a block editor, templates, A/B testing, and one-click unsubscribe — sent through the same authenticated, warmed infrastructure.

Automations

Journeys triggered by the same event stream and your product events via the API and webhooks — welcome series, win-backs, and lifecycle flows without a separate tool.

Phased on purpose: a developer can fully migrate off Resend today, then turn on marketing when it ships — without re-platforming.

Send your first email in five minutes

Create a project, verify a domain, drop in a key, and change one base URL. Free to start, no card required.

Start free Read the docs

resend SDK compatible dedicated infrastructure inbox-grade deliverability