DevTeardown
English

English comparison articles · 비교글 영어 원문 · 比较文章为英文 · 比較記事は英語 · Artículos en inglés · Articles en anglais

Email Infrastructure Resend vs SendGrid Source review recorded 2026-11-10 · 5 min read

Resend vs SendGrid

At 100,000 emails a month, Resend's Pro plan is $35 and SendGrid's Essentials plan is $34.95. Both vendors then charge exactly $55 more for the next rung, and none of that $55 buys an extra email: it buys the tier where a dedicated IP becomes possible.

Verdict

Under 50,000 emails the two vendors are the same product at the same price, and the free tier is the only real difference. Past 100,000 the choice is decided by one feature: SendGrid includes a dedicated IP at $89.95, Resend sells it for $30 on a plan that already costs $90. If you need an IP, SendGrid; if you need a free tier and a clean API, Resend; if you need volume, check the rung and the overage before either.

In this teardown
  1. At 100,000 emails, both vendors charge $55 for the same feature
  2. The ladder is not monotonic, and overage is sometimes the cheaper rung
  3. Dedicated IP: $30 plus a $55 step, or included at $89.95
  4. Domain authentication is table stakes; the domain count is not
  5. The bottom of the market is where they stop competing
  6. Where each one breaks
  7. Cost arithmetic
  8. Decision matrix
  9. Migration path
  10. FAQ

At a glance

Dimension Resend Free tier SendGrid IP included
Product foundationTransactional email API with React Email templates and inbound parsingEmail API with dynamic templates, subusers and dedicated IPs
Pricing modelFree 3,000/mo · Pro $20 for 50k, $35 for 100k · Scale $90 for 100k to $1,150 for 2.5M60-day trial · Essentials $19.95 for 50k, $34.95 for 100k · Pro $89.95 for 100k to $1,099 for 2.5M
Hosting and deploymentNo (managed sending infrastructure and shared IPs)No (Twilio-managed sending infrastructure)
Runtime and integrationBatch sending and webhooks on every plan; 5 endpoints on Pro, 10 on ScaleEvent webhook on every plan: 1 endpoint on trial, 2 on Essentials, 5 on Pro
AI-related capabilities100 AI credits a month on Pro, 500 on Scale; 10,000 automation runs includedAddress validation included with Pro: 2,500 checks, 5,000 on Premier
Lock-in riskLow: SMTP and REST, and domain reputation travels with your DNSMedium: templates, subusers and IP warm-up history live in the product
Vendor Resend → SendGrid →

1. At 100,000 emails, both vendors charge $55 for the same feature

Resend splits its ladder at 100,000 emails, where the plan name changes: Pro is $20 for 50,000 and $35 for 100,000, while Scale starts at $90 for that same 100,000. The $55 difference buys no volume at all.

SendGrid splits the same way: Essentials is $19.95 for 50,000 emails and $34.95 for 100,000, and Pro is $89.95 for the identical 100,000. The difference is $55.00, to the cent.

At 100,000 emailsCheap tierFeature tierDifference
ResendPro $35.00Scale $90.00$55.00
SendGridEssentials $34.95Pro $89.95$55.00

Two vendors that share no code and no pricing page arrived at the same step, at the same volume, for the same reason: at 100,000 emails the feature gates are what the plan is priced on, not the sending.

2. The ladder is not monotonic, and overage is sometimes the cheaper rung

Read each ladder as cost per 1,000, not as a monthly price.

Volume neededResendPer 1,000SendGridPer 1,000
50,000$20.00 (50k)$0.40$19.95 (50k)$0.40
100,000$35.00 (100k Pro)$0.35$34.95 (100k Essentials)$0.35
200,000$160.00 (200k)$0.80$249.00 (300k)$1.25
500,000$350.00 (500k)$0.70$499.00 (700k)$1.00
1,000,000$650.00 (1M)$0.65$799.00 (1.5M)$0.80
2,500,000$1,150.00 (2.5M)$0.46$1,099.00 (2.5M)$0.44

Where one vendor has no rung at that volume, the column shows the cheapest rung that covers it, which is why SendGrid's 200,000 row is its 300,000 plan.

Resend's 200,000 rung costs $0.80 per 1,000, more than twice its 100,000 rung. That is not a discount curve; it is a plan boundary, and the cheaper block stops at 100,000.

Overage repairs it. Resend charges $0.90 per 1,000 beyond the included volume, so 100,000 on Pro plus 100,000 of overage is $35 + $90 = $125, not $160. SendGrid's same move on Pro is $89.95 + 100,000 × $1.10/1,000 = $199.95, not $249.

3. Dedicated IP: $30 plus a $55 step, or included at $89.95

A dedicated IP is the feature that decides most of these purchases, because shared IP reputation is the thing a growing sender cannot control.

Resend sells it as a $30 per month add-on, and only on Scale, to accounts sending more than 3,000 emails a day. At 100,000 emails that is $90 + $30 = $120, or $1.20 per 1,000.

SendGrid includes one dedicated IP in Pro, which is $89.95 at the same volume, or $0.90 per 1,000.

100,000 emails with a dedicated IPMonthlyPer 1,000
Resend Scale + IP add-on$120.00$1.20
SendGrid Pro$89.95$0.90

There is no Resend Pro path to an IP at any price. That is not a worse deal; it is a missing SKU, and it decides the vendor for anyone whose deliverability depends on one.

4. Domain authentication is table stakes; the domain count is not

Both authenticate sending with DKIM, SPF and DMARC, and both include a REST API, SMTP relay and official SDKs on every paid plan. The differences are in the quantities.

QuantityResendSendGrid
Custom domains3 Free, 10 Pro, 1,000 ScaleDomain authentication included
Extra domains$20/mo adds 100Not a listed line item
TeammatesNot metered1 on Essentials, 1,000 on Pro
Event webhooks5 on Pro, 10 on Scale2 on Essentials, 5 on Pro
SSO$150/mo add-on on ScaleIncluded in Pro

An agency managing dozens of client domains should price the domain line before the email line: Resend's add-on covers 100 extra domains for $20, and SendGrid's inclusion has no printed ceiling.

5. The bottom of the market is where they stop competing

Resend keeps a free plan: 3,000 emails a month, 100 a day, three domains, 30 days of data retention. SendGrid's free option is a 60-day trial at 100 emails a day, after which the account converts to a paid plan starting at $19.95.

That single difference moves a whole segment. A side project, a staging environment or a low-volume notification service runs at $0 on Resend and at $19.95 on SendGrid, and the gap is $239.40 a year before either vendor has been compared on anything else.

It also sets the frame for the first paid tier: $20 on Resend buys 50,000 emails, more than sixteen times what its own free plan allowed, and the same 50,000 that SendGrid now sells as its smallest paid plan.

6. Where each one breaks

Resend breaks on the feature boundary. The dedicated IP, SSO and 1,000 domains all sit on Scale, so the 100,000-email customer who outgrows Pro pays a $55 step and then $30 more for the IP. Marketing email moves to a separate contact-priced plan, and broadcasts only reach existing contacts.

SendGrid breaks on the tier edge and on history. The 50,000 Essentials tier charges $1.33 per 1,000 beyond its volume, so 80,000 emails bills $19.95 + $39.90 = $59.85 against $34.95 for the next tier up. Searchable activity is 3 days on Essentials against 7 on Pro, so a deliverability investigation can outlast the evidence.

Check three numbers before choosing: your monthly volume rounded up to the rung that covers it, whether you need an IP this quarter, and how many domains you will authenticate in a year.

Cost arithmetic at volume

These are computed from the published unit prices, not measured. Each row prints its own formula, so you can replace our assumption with your traffic and redo it.

100,000 emails a month, no dedicated IP
Resend Pro $35 ÷ 100,000 emails × 1,000 = $0.35 per 1,000. SendGrid Essentials $34.95 ÷ 100,000 × 1,000 = $0.35 per 1,000
$35.00 against $34.95, a five-cent gap at the bottom of the ladder
200,000 emails a month, the rung against the overage
Resend: 100,000 Pro at $35 + 100,000 × $0.90/1,000 = $125, against the Scale 200,000 rung at $160. SendGrid: $89.95 + 100,000 × $1.10/1,000 = $199.95, against the Pro 300,000 rung at $249
$125 on Resend and $199.95 on SendGrid, both cheaper than buying the next rung
Overage break-even on the 50,000 tiers
Resend: $20 + $0.90 per 1,000 over 50,000 equals $35 at 16,666 extra emails, so 66,666. SendGrid: $19.95 + $1.33 per 1,000 equals $34.95 at 11,278 extra, so 61,278
Past roughly 61,000 to 67,000 sends the next tier is cheaper than the overage
The same feature at the same volume
Resend: Scale $90 + dedicated IP $30 = $120. SendGrid: Pro $89.95 including one dedicated IP
$120 against $89.95 for 100,000 emails with a dedicated IP, a $30.05 monthly difference

Decision matrix

Rows are the situation you are actually in. Pick the row before you read the pricing page again.

If this is youTakeBecause
Transactional email only, under 50,000 a monthEither$20 on Resend and $19.95 on SendGrid buy the same volume, and the five-cent gap is not a reason to migrate.
You need a dedicated IP at 100,000 emailsSendGrid Pro$89.95 includes one IP, against $90 for Resend Scale plus $30 for the add-on, and Resend Pro cannot buy an IP at all.
A free tier is mandatory for stagingResendResend's free plan sends 3,000 a month, while SendGrid's free option is a 60-day trial and then $19.95.
Agencies authenticating dozens of client domainsResend Scale, with the domain add-on1,000 domains are included on Scale and $20 adds 100 more, against a domain line SendGrid does not print.
SSO and an IP at 500,000 emailsSendGrid ProSSO is included in Pro and so is one IP, while Resend puts SSO at $150 a month and the IP at $30 on top of Scale.
2,500,000 emails a month and nothing exoticSendGrid Pro$1,099 against $1,150 on Resend, and the gap widens with the IP add-on that Resend needs for the same setup.
Marketing broadcasts to a contact listResend marketing plansMarketing is priced per contact rather than per email, so an unlimited number of sends to 10,000 contacts is $80.
Volume swings month to monthEither, with an alert at 60,000Both overage rates are more expensive than the next rung: the break-even is about 61,000 on SendGrid and 67,000 on Resend.

Code and configuration

Resend
// Resend: the idempotency key is what stops a retry from sending twice.
import { Resend } from "resend";
const resend = new Resend(process.env.RESEND_API_KEY);

const { data, error } = await resend.emails.send(
  {
    from: "[email protected]",
    to: order.email,
    subject: `Receipt for ${order.id}`,
    react: Receipt({ order }),
  },
  { idempotencyKey: `receipt-${order.id}` },
);
// Breaks when: the key is built from Date.now(). A retry after a 429 is then a
// second email, and there is no deduplication on the receiving side.
SendGrid
// SendGrid: categories are the only cheap way to separate streams in the event webhook.
import sgMail from "@sendgrid/mail";
sgMail.setApiKey(process.env.SENDGRID_API_KEY);

await sgMail.send({
  to: order.email,
  from: "[email protected]",
  templateId: "d-receipt-v3",
  dynamicTemplateData: { orderId: order.id, total: order.total },
  categories: ["receipt", `region-${order.region}`],
  customArgs: { order_id: order.id }, // echoed in the event webhook
});
// Breaks when: the template renders a total without a currency. The API accepts it,
// the receipt is wrong, and the event webhook reports a delivered message.

What you gain, what you give up

Resend

You gain
  • A free plan that sends 3,000 emails a month, so staging and side projects cost nothing
  • Monthly billing only, with no annual contract to sign before the first send
  • 10 domains on Pro and 1,000 on Scale, with 100 more for $20 a month
  • React Email templates are code, so they live in the repository rather than a dashboard
You give up
  • The dedicated IP is a $30 add-on on Scale only, so Pro customers cannot buy one at any price
  • SSO is $150 a month on Scale and unavailable below it
  • Scale at 100,000 emails is $90 against $35 on Pro, a $55 step for features rather than volume
  • The 200,000 rung costs $0.80 per 1,000, more than twice the 100,000 rung's rate

SendGrid

You gain
  • One dedicated IP is included in Pro, which is the cheapest published way to get one at 100,000 emails
  • SSO and 1,000 teammates arrive with Pro rather than as add-ons
  • Subuser management makes it a fit for agencies and multi-brand senders
  • The ladder keeps falling to $0.44 per 1,000 at 2,500,000, undercutting Resend at the top
You give up
  • No free plan: the trial runs 60 days and then the account is on a paid tier
  • The 50,000 tier charges $1.33 per 1,000 beyond its volume, so 80,000 emails bills $59.85 against $34.95 for the next tier
  • Essentials keeps 3 days of searchable activity against 7 on Pro, which can outlast a deliverability investigation
  • Email validation and content testing are gated to Pro and above

Migration path

What switching actually takes

Both vendors authenticate a domain with DKIM, SPF and DMARC records, so moving means adding new DNS records while the old ones still answer. Keep both authenticated for a week, warm the new domain or IP, then flip the sending domain in code.

The parts that do not travel are templates and reputation. React Email templates are code and move with the repository; SendGrid's dynamic templates are vendor objects. A dedicated IP starts cold on either side, so a sender who relies on one should plan the warm-up as a week of projected volume rather than a switch.

Common questions

Does Resend sell a dedicated IP on Pro?
No. The $30 per month add-on is listed for Scale plans, to accounts sending more than 3,000 emails a day. Pro has no IP option.
What does SendGrid's free plan include now?
A 60-day trial at 100 emails a day, with no credit card. After it ends the account moves to a paid plan, and Essentials starts at $19.95 for 50,000 emails.
Is overage cheaper than buying the next tier?
Usually not. Overage on the 50,000 tiers is $1.33 per 1,000 on SendGrid and $0.90 on Resend, both far above the next tier's per-1,000 rate, so the break-even arrives at 61,000 to 67,000 sends.
Do both include inbound email parsing?
Resend lists inbound email with webhooks on every plan, and SendGrid lists an Inbound Parse webhook as part of the Email API feature set.

Sources & verification

Prices and limits were read from these pages on 2026-11-10. Vendor marketing claims are quoted as claims. Anything derived is arithmetic on the numbers below.

https://resend.com/pricing
https://www.twilio.com/en-us/products/email-api/pricing
https://aws.amazon.com/marketplace/pp/prodview-dp5xcsvbvixai
https://resend.com/docs
https://www.twilio.com/docs/sendgrid

Keep reading

Stripe vs Lemon Squeezy / Paddle

The same $55-style feature step, one decimal place larger.

Datadog vs Grafana Cloud

What happens when a vendor meters the thing your code does by accident.

Try Resend → Explore SendGrid →
Source review date recorded in this article: 2026-11-10. This is not a live price or checkout check. Prices can change. If a number here looks wrong, the vendor's own price sheet wins. Derived figures are arithmetic on published unit prices, not measured benchmarks.