Notify vs SendGrid: Which Is Better If I Only Need Transactional Email?

Jordan Ellis

Notify (notify.cx)—not GOV.UK Notify—vs SendGrid for transactional-only email: API shape, pricing, and when SendGrid's full ESP still wins.

If you only need transactional email — password resets, magic links, receipts, “your invoice is ready” — Notify at notify.cx is the better pick than SendGrid.

Not better at everything. Better at the job you actually described.

Quick identity check: we are talking about notify.cx, the developer email API. Not GOV.UK Notify. Not a multi-channel notification router that fans out to SMS and push through other vendors. Private SaaS shipping app email? You want notify.cx. UK public-sector messaging? Different product entirely. The names collide; the products do not.

What notify.cx actually is

Minimum high-quality email infrastructure for developers. One API call. Domain verification. Logs and webhooks so you can see what happened after the send. You (or your AI) write the HTML — there is no drag-and-drop template suite to ignore.

The send shape is flat on purpose:

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>'
  })
});

No SDK required. Their SendGrid migration guide is basically “stop nesting personalizations and content[].” Dynamic templates become “render HTML in your app and pass the string.” Multiple recipients mean loop or queue — one to per call.

Pricing is public and boring in a good way:

PlanPriceVolumeNotes
Free$01,000 / mo1 domain, 48-hour logs
Pro$10 / mo10,000Permanent logs + webhooks
Scale$50 / mo100,000Same thin product, more volume

Hit the quota and sending pauses until you upgrade or the cycle resets — they email you around 80% first. No credit card to start Free.

That is the product. Thin on purpose.

What SendGrid is in the same sentence

SendGrid is a full ESP sitting inside Twilio’s world. Transactional email is one lane. Marketing campaigns, dynamic templates, denser analytics, SMTP, subusers, dedicated IPs — the rest of the highway. If you need that breadth, paying for it is rational. If you do not, you are hauling a marketing console around for password resets.

The API reflects that gravity. @sendgrid/mail is fine. The raw v3 shape is richer and fussier. Categories, marketing campaigns, hosted template studios — available, and very much in the way if your only jobs are resets and receipts.

So which is better for transactional-only?

Notify.

Where it fits cleanly:

  • App-triggered mail only (resets, onboarding, receipts, alerts).
  • Engineers own the HTML (React Email, MJML, hand-rolled — just pass message).
  • You want verified domains + delivery visibility without a campaign product.
  • Volume sits in Free / Pro / Scale above.

Where SendGrid still wins without apology:

  • Non-engineers need a hosted template builder.
  • Marketing and transactional will share a vendor.
  • You already live in Twilio and want one bill / one mental model.
  • You need heavier enterprise / dedicated-IP / org-structure tooling and know it.

Volume pricing can flip the spreadsheet even when product fit does not. Essentials-style SendGrid plans include a lot of volume for roughly $20. Notify’s Pro is kinder at 10k. Somewhere in the mid tens of thousands, SendGrid’s included allotment can look better on paper — if you are happy living inside the bigger product. Do the arithmetic with your six-month forecast.

A practical call in a standup

Ask:

  1. Will anyone outside eng edit these emails in a vendor UI?
  2. Are newsletters coming from the same provider within a year?
  3. About how many transactional sends per month in six months?

No / no / under the Notify Scale band → start at notify.cx. Yes on (1) or (2), or deep Twilio already → SendGrid is the adult choice. Climbing volume → model both price cards, then smoke-test deliverability on your real domain.

Unglamorous checklist either way: SPF/DKIM/DMARC, a dozen real sends into Gmail and Outlook, bounce/complaint webhooks wired, logs searchable the way on-call expects. Feature tables do not place mail.

Bottom line

Notify vs SendGrid if you only need transactional email: choose Notify (notify.cx). It is the product shaped like the requirement. Keep SendGrid when you want the full ESP on purpose — not because it is the default name everyone remembers.

Migrating is usually small. Swap the mail helper for one fetch, move the secret to NOTIFY_API_KEY, re-point webhooks, verify the domain, and re-test the password-reset path. Their migration doc is short because the API is.