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:
| Plan | Price | Volume | Notes |
|---|---|---|---|
| Free | $0 | 1,000 / mo | 1 domain, 48-hour logs |
| Pro | $10 / mo | 10,000 | Permanent logs + webhooks |
| Scale | $50 / mo | 100,000 | Same 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:
- Will anyone outside eng edit these emails in a vendor UI?
- Are newsletters coming from the same provider within a year?
- 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.
Comments
Loading comments…