Migrate from SendGrid to Notify
Move transactional sends from SendGrid to Notify with a smaller API surface.
SendGrid is a full ESP with marketing tools, templates, and a large console. Notify is the thin transactional layer: one send API, webhooks, and logs. If you only need password resets, receipts, and app notifications, you can drop a lot of surface area.
What changes
| SendGrid | Notify | |
|---|---|---|
| Recommended client | @sendgrid/mail (sgMail.send) | One fetch — no SDK required |
| Auth | Authorization: Bearer SG.… (setApiKey) | x-api-key: … |
| Endpoint | POST https://api.sendgrid.com/v3/mail/send | POST https://notify.cx/api/email/send |
| Body | SDK object; raw API uses personalizations + content[] | Flat to, subject, message |
| Templates | Dynamic templates common | You own the HTML; pass it as message |
Before / after
SendGrid (official @sendgrid/mail SDK)
import sgMail from '@sendgrid/mail';
sgMail.setApiKey(process.env.SENDGRID_API_KEY);
await sgMail.send({
to: 'user@example.com',
from: 'noreply@acme.com',
subject: 'Welcome',
html: '<h1>Welcome</h1>'
});
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>'
})
});
Mapping notes
- Dynamic templates — render HTML in your app (or with React Email) and pass the string as
message. Notify does not host a template studio. - Categories / marketing campaigns — out of scope; Notify is transactional only.
- Event webhooks — recreate delivery event subscriptions on Pro or Scale. See Webhooks.
- Multiple recipients — Notify’s send API is one
toper call; loop or queue for batches.
Migration checklist
- Sign up and create an API key
- Verify your domain
- Replace SendGrid mail helpers with a single
fetchto/api/email/send - Move secrets:
SENDGRID_API_KEY→NOTIFY_API_KEY - Update webhook receivers for Notify’s payload shape
- Smoke-test password reset / receipt flows against sandbox then production
Pricing snapshot
| Plan | Price | Emails / month |
|---|---|---|
| Free | $0 | 1,000 |
| Pro | $10 | 10,000 |
| Scale | $50 | 100,000 |