Resend
Email for developers
Modern email API built for developers. Send transactional emails with React components. Simple pricing, great deliverability, and the best developer experience.
Resend is what happens when developers build an email service for other developers. Beautiful API, React email templates, simple pricing, and email that actually reaches inboxes. It's quickly becoming the standard for transactional emails.
Why Use Resend
Write Emails in React: Instead of wrestling with HTML tables and inline styles, write your emails as React components. They compile to battle-tested HTML that works everywhere.
Amazing Developer Experience: Clean API, excellent docs, TypeScript support, and a testing environment that makes development actually enjoyable.
Built by Developers, for Developers: Created by the creator of Tailwind CSS (Adam Wathan) and the Deno team. They understand what developers need.
Actually Reaches Inboxes: Excellent deliverability out of the box. Your welcome emails, password resets, and notifications won't end up in spam.
Key Features
- React Email Templates - Write emails as React components
- Simple API - One endpoint to send emails, that's it
- Domain Authentication - SPF, DKIM, and DMARC made easy
- Webhooks - Get notified of opens, clicks, bounces
- Testing Environment - Preview emails before sending
- Email Logs - See every email sent with full details
- Batch Sending - Send multiple emails in one API call
- TypeScript SDK - Fully typed, excellent autocomplete
Pricing for Solo Builders
Free Tier:
- 3,000 emails per month
- 100 emails per day
- Perfect for small projects and MVPs
Pro ($20/month):
- 50,000 emails per month
- Unlimited daily sending
- All features included
The free tier is more than enough to launch and validate your product. Upgrade when you start getting traction.
Perfect For
- Welcome emails and onboarding sequences
- Password resets and account verification
- Order confirmations and receipts
- Notifications and alerts
- Weekly digests and updates
- Any transactional email
Code Example
import { Resend } from 'resend';
const resend = new Resend('your_api_key');
// Simple email
await resend.emails.send({
from: 'onboarding@myapp.com',
to: 'user@example.com',
subject: 'Welcome to MyApp!',
html: '<p>Thanks for signing up!</p>'
});
// With React template
import { WelcomeEmail } from './emails/welcome';
await resend.emails.send({
from: 'onboarding@myapp.com',
to: 'user@example.com',
subject: 'Welcome!',
react: WelcomeEmail({ name: 'John' })
});
React Email Template Example
// emails/welcome.tsx
import { Html, Button, Text } from '@react-email/components';
export function WelcomeEmail({ name }: { name: string }) {
return (
<Html>
<Text>Hey {name}!</Text>
<Text>Welcome to our app. We're excited to have you.</Text>
<Button href="https://myapp.com/onboard">
Get Started
</Button>
</Html>
);
}
The React Email components handle all the painful HTML email quirks for you.
Getting Started
- Sign up at resend.com
- Verify your domain (or use their testing domain)
- Install:
npm install resend - Add your API key to
.env - Send your first email
Domain verification takes about 5 minutes. The testing domain works immediately for development.
Common Use Cases
User Authentication Flows:
- Welcome email after sign-up
- Email verification links
- Password reset requests
- Login notifications
SaaS Product Emails:
- Trial expiration reminders
- Usage limit notifications
- Feature announcements
- Billing receipts
Engagement Emails:
- Onboarding sequences
- Weekly digests
- Activity notifications
- Abandoned cart reminders
Integration With Other Tools
Works seamlessly with:
- Next.js via API routes or Server Actions
- Supabase triggers and functions
- Clerk webhooks for user events
- Stripe webhooks for payment receipts
- Any backend language (SDKs available)
Why Not Just Use SendGrid or Mailgun?
Better DX: Resend's API is cleaner and their React email approach is game-changing.
Simpler Pricing: No complicated plans or confusing tiers.
Modern: Built for modern stacks, not legacy enterprise.
Better Docs: Actually readable and helpful.
That said, SendGrid and Mailgun work fine if you're already using them. But for new projects, Resend is the obvious choice.
When to Choose Something Else
Consider alternatives if you need:
- Marketing emails with automation - Use Loops or ConvertKit
- Newsletter platform - Use Buttondown or Substack
- Very high volume (millions of emails) - AWS SES might be cheaper
- Must self-host - Use Postal
But for transactional emails in your app, Resend is hard to beat.
Tips for Solo Builders
- Use the testing domain during development
- Set up domain authentication early (better deliverability)
- Create reusable email templates
- Log email sends to your database for debugging
- Use webhooks to track bounces and update user records
- Start with simple HTML, add React templates as needed
Preview Emails Locally
npm install react-email npx email dev
This starts a local server where you can preview your email templates and see how they look across different email clients.
Domain Setup
Resend provides clear instructions for adding DNS records. Once verified, you can send from any address at your domain. This is important for deliverability - emails from verified domains are less likely to be marked as spam.
Resend makes email development enjoyable instead of painful. For solo builders, that's invaluable.