What Is Resend?
Resend is a modern, developer-first email API built by the same team behind React Email. Instead of wrestling with SMTP configs or clunky legacy SDKs, you call a clean REST endpoint and your email goes out. It hit one million users in December 2025 and has become the go-to for developers who want transactional email without the overhead.
The standout feature is first-class React Email integration — you write your templates as React components, preview them in a browser during development, and ship them as production emails through the same pipeline. The dashboard is clean and modern, and official SDKs exist for Node, Python, Go, Ruby, and PHP. There’s even a resend.dev test domain so you can send real emails during development without verifying a domain first. If you’ve ever wanted email to feel like the rest of your stack, Resend gets close.
Free Tier Limits
Resend’s free tier gives you 3,000 emails per month with a 100 emails per day cap. It renews monthly — this isn’t a one-time credit — so you can run small projects indefinitely. You get one verified domain, 30 days of email log retention, and basic webhook support.
Here’s what you actually get:
- One verified domain for sending
- 30-day log retention so you can debug delivery issues
- Basic webhooks for tracking bounces, clicks, and opens
- Full API access — no feature gating on the free tier
resend.devtest domain for development without DNS setup
Here’s what’s missing:
- No inbound email handling — you can only send, not receive. If your app needs to parse incoming emails (like support ticket systems), you’ll need to look elsewhere or pay for the Pro tier.
- No WYSIWYG template editor — templates are code-only, which is great for developers but a non-starter for marketing teams.
- The 100/day cap is the real bottleneck — 3,000/month sounds generous, but if you have a single busy day with 150 signups, you’ll hit the ceiling. That means your welcome email, password reset, and verification flow all share those 100 slots per day.
For context, Resend’s Pro plan starts at $20/month for 50,000 emails, with overage pricing around $0.90 per 1,000 emails above your limit.
Setup Guide
Step 1: Install and Configure
npm install resend
Grab your API key from the Resend dashboard and set it as an environment variable:
export RESEND_API_KEY="re_xxxxxxxxxxxx"
Step 2: Send Your First Email
import { Resend } from 'resend';
const resend = new Resend(process.env.RESEND_API_KEY);
const { data, error } = await resend.emails.send({
from: 'onboarding@resend.dev', // Use resend.dev during testing
to: 'user@example.com',
subject: 'Welcome to StacksFree!',
html: '<h1>Hello from Resend</h1><p>Your free email API works!</p>',
});
if (error) {
console.error('Email failed:', error);
} else {
console.log('Email sent:', data?.id);
}
The resend.dev domain lets you test without any DNS setup — emails go out for real but only to verified test addresses.
Step 3: Verify Your Own Domain
When you’re ready to send from your own domain, head to Domains in the dashboard. Resend will generate DKIM, SPF, and DMARC DNS records. Add them to your DNS provider:
| Record | Type | Purpose |
|---|---|---|
| DKIM | TXT | Signs emails to prevent spoofing |
| SPF | TXT | Authorizes Resend’s sending IPs |
| DMARC | TXT | Tells receivers how to handle failures |
Critical tips: SPF has a 10 DNS lookup limit — if you already have multiple services on your domain (Google Workspace, Salesforce, etc.), you may need to flatten your SPF record. Always use -all (hard fail) instead of ~all (soft fail) to prevent spoofing. DNS propagation can take up to 72 hours, though it’s usually 15–30 minutes.
Step 4: Upgrade to React Email (Optional)
npm install @react-email/components react react-dom
Write emails as components:
import { Html, Head, Body, Container, Text, Button } from '@react-email/components';
export function WelcomeEmail({ name }) {
return (
<Html>
<Head />
<Body>
<Container>
<Text>Welcome to StacksFree, {name}!</Text>
<Button href="https://stacksfree.com/login">Get Started</Button>
</Container>
</Body>
</Html>
);
}
Render and send through Resend’s API — your React components become real emails in one pipeline.
Best Use Cases
Resend’s free tier shines for transactional emails — the kind that need to be reliable but don’t need marketing flair:
Account emails. Email verification, password resets, and magic link logins are the bread and butter here. Most SaaS apps send fewer than 100 of these per day, so the cap rarely bites early-stage projects. If you’re launching on Product Hunt and get 500 sign-ups in one day, though, you’ll need to temporarily upgrade.
Welcome sequences. A single welcome email after sign-up is well within reach. Just keep it lean — if you want a multi-email drip campaign, you’ll burn through the daily cap fast.
Developer notifications. CI/CD alerts, error reports, and deployment notifications are one-to-one and low volume by nature. These are perfect for Resend’s free tier and the React Email SDK makes them easy to template.
Side projects and hackathons. If you’re building something that needs email but doesn’t have revenue yet, 3,000 emails/month is more than enough to validate an idea. Combined with the resend.dev test domain, you can go from zero to sending in under 10 minutes.
What doesn’t fit: Newsletter broadcasts, marketing campaigns, and inbound email processing all need either higher volume or features only available on paid plans.
Resend vs Alternatives
Here’s how Resend stacks up against the competition for the free-tier use case:
| Feature | Resend | SendGrid | Postmark | Mailgun |
|---|---|---|---|---|
| Free Tier | 3,000/mo (100/day) | 100/day (unlimited total) | None (starts at $15/mo) | None (flex plan $15/mo) |
| DX / API Quality | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
| WYSIWYG Editor | ❌ | ✅ | ❌ | ❌ |
| Inbound Email | ❌ (Pro only) | ✅ (Parse API) | ✅ | ✅ (best-in-class) |
| React Email Support | ✅ (first-class) | ❌ | ❌ | ❌ |
| Deliverability | Good (AWS SES) | Good | ⭐⭐⭐⭐⭐ (owns infra) | Good |
| Marketing Features | ❌ | ✅ | ❌ | ❌ |
| SDKs | 5+ languages | 7+ languages | 5+ languages | 5+ languages |
SendGrid is the better pick if you need a WYSIWYG template builder for non-technical teammates, marketing campaign tools, or the inbound parse API. Its free tier is 100/day with no monthly cap — same daily limit but no ceiling. Resend wins decisively on developer experience.
Postmark doesn’t offer a free tier at all — plans start at $15/month for 10,000 emails — but it owns its sending infrastructure and consistently has the best deliverability in the industry. If your emails absolutely must land in the inbox (think: financial transaction confirmations), Postmark is worth paying for.
Mailgun excels at inbound email routing and is the go-to if your app needs to receive and parse emails (think: support ticket systems that pipe emails into a queue). Their flex plan starts at $15/month. Resend’s API is cleaner and the React Email integration is unmatched, but Mailgun’s inbound capabilities are more mature.
Tips to Maximize the Free Tier
Batch non-urgent emails. Don’t send a separate email for every event. Queue up notifications and send a single daily digest. One email with five items counts as one against your 100/day cap, not five.
Use the test domain aggressively during development. The resend.dev domain doesn’t count against your quota for verified test addresses. Iterate on templates there, verify your domain, then toggle to production sending only when you’re ready.
Schedule sends intelligently. If your app has predictable traffic patterns (e.g., most sign-ups happen 9 AM–5 PM on weekdays), send welcome emails immediately during those hours and batch-send the rest during quiet periods to stay under the daily cap.
Monitor your usage. The Resend dashboard shows daily send counts prominently. Set up webhook alerts for when you approach the daily limit so you don’t silently drop emails — nothing erodes user trust faster than a missing password-reset email.
Flatten SPF records. If you use Google Workspace, Salesforce, or other mail-sending services alongside Resend, your SPF record can exceed the 10 DNS lookup limit. Use an SPF flattening service or manually inline the IP ranges to stay under the cap.
Conclusion
Resend’s free tier is one of the best on-ramps for developers who need transactional email. The 100/day cap is the real constraint — but for account emails, welcome messages, and side-project notifications, 3,000 emails a month is genuinely useful. The React Email integration alone makes it worth trying: writing templates as components and previewing them locally is a workflow you won’t want to give up. If you outgrow the free tier, the Pro plan at $20/month is competitively priced, and alternatives like SendGrid and Postmark are waiting if your needs diverge. Sign up at Resend and send your first email in under five minutes.
References
[1] React Email [2] Resend’s Pro plan [3] Resend dashboard
