Migrate from Resend to Notify

Swap Resend for Notify — auth header, send payload, and what maps 1:1.

Notify and Resend both target developers who want a simple transactional email API. Notify is deliberately smaller: send, webhooks, and logs — no template studio. Pro is $10/month for 10,000 emails.

What stays the same

  • You send HTML (or text) you already own
  • You verify a domain for production from addresses
  • You observe delivery via logs and webhooks

What changes

ResendNotify
Recommended clientOfficial resend SDK (resend.emails.send)One fetch — no SDK required
AuthAuthorization: Bearer re_… (SDK wraps this)x-api-key: …
EndpointPOST https://api.resend.com/emailsPOST https://notify.cx/api/email/send
Bodyto, subject, html / textto, subject, message
Product surfaceSDKs, React Email, templates, marketing plansSend + webhooks + logs

Notify uses a single message field for plain text or HTML. html and text are also accepted as quiet aliases; prefer message.


Before / after

Resend (official SDK)

import { Resend } from 'resend';

const resend = new Resend(process.env.RESEND_API_KEY);

const { data, error } = await resend.emails.send({
  from: 'Acme <noreply@acme.com>',
  to: ['user@example.com'],
  subject: 'Welcome',
  html: '<h1>Welcome</h1>'
});

if (error) {
  console.error(error);
  return;
}

console.log(data);

Notify (one fetch — no SDK required)

await fetch('https://notify.cx/api/email/send', {
  method: 'POST',
  headers: {
    'x-api-key': process.env.NOTIFY_API_KEY!,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    from: 'Acme <noreply@acme.com>',
    to: 'user@example.com',
    subject: 'Welcome',
    message: '<h1>Welcome</h1>'
  })
});

Migration checklist

  1. Sign up and copy an API key from Credentials
  2. Verify your domain (SPF, DKIM, DMARC) — see Cloudflare or Route 53
  3. Remove the resend package (or stop calling it) and set NOTIFY_API_KEY
  4. Switch auth to x-api-key
  5. Prefer message (or keep html / text — both work as aliases)
  6. Point webhook endpoints at Notify’s webhook payload (docs) — Pro or Scale
  7. Confirm sends in logs

Your HTML stays yours

Whatever builds your email body — a string template, a React render, Markdown-to-HTML — pass the result as message. Notify does not host a template builder.

Pricing snapshot

PlanPriceEmails / month
Free$01,000
Pro$1010,000
Scale$50100,000

Where to next?