Resend vs SendGrid vs AWS SES: Transactional Email for Startups
SendGrid charged a client $180/month to send password resets and order confirmations. We migrated them to Resend. Same emails, same volume, $20/month.
January 8, 2025 10 min read
SendGrid charged a client $180/month to send password resets and order confirmations. We migrated them to Resend. Same emails, same volume, $20/month.
Email is infrastructure most founders underestimate. You need it for account creation, password resets, notifications, receipts, and alerts. Picking the wrong provider costs hundreds monthly and creates deliverability headaches.
Three providers dominate transactional email for startups: Resend (developer experience winner), SendGrid (incumbent with baggage), and AWS SES (cheapest but hardest to use). The choice depends on whether you optimize for simplicity, features, or cost.
What Transactional Email Actually Means
Transactional emails are triggered by user actions: sign up confirmations, password resets, purchase receipts, shipping notifications, account alerts.
This differs from marketing email (newsletters, promotional campaigns). Different technical requirements, different legal requirements (CAN-SPAM vs transactional exemptions), different deliverability priorities.
Transactional email requirements:
Reliably delivered (users expect these emails within seconds)
High deliverability rates (inbox, not spam folder)
Simple template management
Easy API integration
Reasonable costs that scale with usage
Marketing email platforms (Mailchimp, ConvertKit) handle transactional email poorly. Dedicated transactional providers optimize for speed, reliability, and developer experience.
Resend: The Developer Experience Winner
Resend launched in 2023 targeting developers tired of SendGrid and AWS SES complexity. Built by the Vercel email team's former members, Resend prioritizes clean APIs and great docs.
Stop planning and start building. We turn your idea into a production-ready product in 6-8 weeks.
Free tier:
100 emails per day
3,000 emails per month
All features included (no feature gates)
API access
Email testing and previews
Pro tier ($20/month):
50,000 emails per month included
$1 per additional 1,000 emails
Custom domains
Team collaboration
Advanced analytics
Enterprise tier (custom):
Volume pricing
Dedicated IPs
Priority support
Custom SLAs
For most startups, Pro tier covers needs through significant scale.
Developer Experience
Resend's API is the cleanest in the category:
Compare to SendGrid's API, which requires configuring mail objects with helper classes and less intuitive structure.
React Email integration: Resend's team also built React Email, a library for creating email templates with React components. Write emails in JSX, preview in browser, send via Resend API.
Resend uses battle-tested infrastructure (running on AWS SES under the hood with additional deliverability optimization). Inbox placement rates are comparable to SendGrid.
The advantage: Resend handles DKIM, SPF, and DMARC configuration automatically. Set up takes 5 minutes compared to SendGrid's 30-60 minutes.
When Resend Makes Sense
Modern stack startups: If you are building with Next.js, React, and TypeScript, Resend fits perfectly. The DX (developer experience) is unmatched. For broader tech stack guidance, see our tech stack for non-technical founders guide.
Low to medium volume (<100k emails/month): Pricing is straightforward and competitive. At $20/month base + $1 per 1,000 emails, you are paying $70/month for 50,000 emails.
Teams that value simplicity: No complex dashboards, no feature bloat. Send emails, view analytics, manage domains. That is it.
Need to ship fast: Integration takes 15 minutes. No lengthy onboarding or complex configuration.
SendGrid: The Incumbent with Complexity
SendGrid has been around since 2009. Acquired by Twilio in 2019 for $3 billion. Mature product with extensive features and corresponding complexity.
Pricing
Free tier:
100 emails per day
Forever free
Basic analytics
API access
Essentials tier ($19.95/month):
50,000 emails per month included
$0.60 per 1,000 emails above quota
Email validation
Dedicated IP available (additional cost)
Pro tier ($89.95/month):
100,000 emails included
$0.85 per 1,000 above quota
Advanced analytics
Multiuser accounts
Dedicated IP pools
Premier tier (custom):
Volume pricing
Subuser management
SSO
24/7 support
SendGrid's pricing looks competitive until you factor in hidden costs.
Hidden Costs
IP warming: If you send more than 50,000 emails/month, SendGrid recommends a dedicated IP ($90/month additional). New dedicated IPs require "warming" - gradually increasing volume over 2-4 weeks to build reputation.
During IP warming, deliverability suffers. Your first 10,000 emails might land in spam until the IP builds reputation.
Email validation: SendGrid charges separately for email validation ($0.001 per validation). Validating 10,000 email addresses costs $10. This adds up for apps with significant signup volume.
Additional IPs: Each additional dedicated IP costs $30-90/month depending on tier.
Developer Experience
SendGrid's API works but shows its age:
More verbose than Resend. The SDK has accumulated legacy patterns over 15 years.
Template management: SendGrid offers a visual template editor. It is clunky and generates messy HTML. Most developers use code-based templates instead, defeating the purpose.
Deliverability
SendGrid's deliverability is excellent when configured properly. They have strong relationships with ISPs (Gmail, Outlook, Yahoo) and handle spam reputation carefully.
The downside: achieving good deliverability requires understanding dedicated IPs, IP pools, warm-up schedules, and reputation monitoring. Complexity that startups do not want to manage.
When SendGrid Still Makes Sense
Very high volume with dedicated IPs: At 500,000+ emails per month, SendGrid's volume pricing and infrastructure are competitive.
Enterprise features needed: Subuser management, SSO, advanced segmentation. SendGrid offers features Resend does not.
Existing Twilio integration: If you use Twilio for SMS and phone, consolidating vendors might simplify billing and support.
Need marketing email capabilities: SendGrid supports both transactional and marketing email. Resend is transactional-only.
For most startups, these scenarios are rare. SendGrid's complexity outweighs benefits.
AWS SES: The Cheapest (But Hardest)
AWS Simple Email Service is bare-bones infrastructure. No dashboard, minimal analytics, no template management. Just send and receive emails through AWS APIs.
Pricing
Free tier (if within AWS free tier limits):
62,000 emails per month when sent from EC2
First 1,000 emails per month always free
Paid pricing:
$0.10 per 1,000 emails sent
$0.12 per GB of attachments
For 50,000 emails/month: $5/month. For 500,000 emails/month: $50/month.
This is 75-90% cheaper than competitors. The trade-off is engineering time.
Developer Experience
AWS SES requires:
AWS account setup and IAM permissions configuration
You can build these yourself or use libraries (Nodemailer supports SES). The DIY approach takes 4-8 additional hours.
Deliverability
SES deliverability is excellent because it is AWS infrastructure. Major AWS customers (Amazon.com) use the same pipes.
But: new SES accounts start with reputation 0. Your first 10,000 emails might see lower inbox placement rates as you build sender reputation. This is true for all providers but more manual on SES.
When SES Makes Sense
Very high volume (500k+ emails/month): At this scale, the cost savings are $300-800/month compared to SendGrid or Resend. Worth the engineering time to set up properly.
Already on AWS infrastructure: If you run everything else on AWS (EC2, RDS, S3), adding SES makes sense for consolidation.
Engineering team comfortable with AWS: If your team already manages AWS infrastructure, SES setup is trivial. No learning curve.
Need tight cost control: When $20/month vs $5/month actually matters (very early stage, extremely tight runway).
Request production access (5 min, then wait 24-48 hours)
Install SDK and send test email (15 min)
Set up bounce/complaint handling (30-60 min)
For MVP timelines where every day counts, Resend's simplicity wins.
Cost Modeling at Scale
Calculate total cost of ownership at different volumes:
50,000 Emails/Month (Early Startup)
Resend and SendGrid are equivalent. SES saves $15/month but costs 4 hours setup.
At $100-150/hour blended engineering rate, SES setup costs $400-600. You need 27-40 months to break even on time investment.
200,000 Emails/Month (Growth Stage)
At this volume, SendGrid edges ahead on pure cost. But factor in dedicated IP costs ($90/month) and SendGrid becomes $240/month.
SES is cheapest on usage but requires ongoing maintenance (bounce handling, analytics, template management). Engineering time costs $200-600/month.
Resend remains simplest: $170 with zero maintenance time.
1,000,000 Emails/Month (Scale)
At serious scale, all providers negotiate custom pricing. SES becomes clearly cheaper if you have dedicated email infrastructure engineering.
Most startups at this scale have resources for AWS complexity. The $500-800/month savings justify the engineering investment.
Deliverability Considerations
All three providers have excellent baseline deliverability when configured correctly. Differences are minor:
Sender reputation: New accounts on all platforms start with neutral reputation. First 5,000-10,000 emails build reputation through engagement rates and spam reports.
Shared IP pools: Resend and SendGrid free/low tiers use shared IPs. Your deliverability is affected by other senders on the same IP. Usually fine but occasionally problematic.
Dedicated IPs: Available on all platforms at higher tiers. Required when sending 50,000+ emails/month for maximum deliverability control. Costs:
Resend: Enterprise tier (custom pricing)
SendGrid: $90/month add-on
SES: Free, but requires configuration
Bounce and complaint handling: All providers require you to handle bounces (invalid emails) and complaints (users marking as spam). Resend and SendGrid provide dashboards. SES requires SNS topic configuration.
For most startups, shared IP pools deliver 95%+ inbox placement rates. Dedicated IPs matter when volume exceeds 100,000/month or you are in sensitive industries (finance, healthcare).
Our Recommendation by Use Case
For most Next.js/React startups: Use Resend. Clean API, React Email integration, reasonable pricing, minimal setup time. We use Resend on 80% of client projects.
For very high volume (500k+ emails/month): Negotiate with SendGrid or implement AWS SES properly. At this scale, the engineering investment in SES pays off.
For AWS-heavy infrastructure: Use SES if your team already manages AWS infrastructure. Consolidation and cost savings justify the complexity.
For Twilio customers: Consider SendGrid for vendor consolidation if you already use Twilio SMS/Voice.
For marketing + transactional email: Use SendGrid or dedicated marketing platform (Mailchimp, ConvertKit). Resend does not support marketing campaigns.
Migration Between Providers
Switching email providers is easier than switching databases or auth, but still requires work:
Migration checklist:
Set up new provider account and verify domain (30-60 min)
Update DNS records for new provider (15 min)
Update application code to new SDK (1-4 hours depending on codebase)
Migrate email templates to new format (2-8 hours)
Test all transactional email flows (2-4 hours)
Monitor deliverability after switch (ongoing for 2-4 weeks)
Total migration time: 8-20 hours of engineering effort.
Send emails through both providers during transition to ensure zero downtime. The financial break-even point varies based on cost delta.
Key Takeaways
Email infrastructure is simple in theory, complex in practice when optimizing for cost and deliverability:
Resend: Best developer experience, fair pricing, perfect for modern stacks. $20-170/month for most startups.
SendGrid: Mature features, complex pricing, good for high volume with dedicated IPs. $20-240/month.
Most marketing automation apps treat AI as a feature to add later. Here's why that approach fails—and how to architect AI-native marketing automation from day one.