Email Marketing & AutomationMarketing Tools

Resend: Transactional Email With a Developer-First API

Password resets, receipts, and onboarding sequences are the messages your product cannot afford to miss. When they land in spam, users assume the app is broken, support tickets pile up, and revenue that should have been automatic never shows up. Engineering is left debugging a black box that was never designed for the rest of the stack.

Most teams still bolt this onto an Email Service Provider (ESP) built for marketers: sluggish interfaces, template languages nobody wants to own, and deliverability that only gets attention after a campaign tanks. Those platforms can blast a newsletter. They are a poor fit when you need to send, receive, authenticate a domain, and inspect a bounce from the same codebase that ships the product.

I recently had lunch with Tim Flint, founder of Flint Analytics, and he introduced me to this incredible developer-first email API for transactional and marketing email.

Resend

Resend enables developers to send through REST, SMTP, official SDKs, or a CLI, then manage domains, templates, broadcasts, inbound messages, and automations from one account.

Getting Started with Resend

Switching isn’t about another dashboard. It is getting production email into the same workflow as the rest of the product. Resend’s API is a REST surface with a Bearer key, plus drop-in SMTP for WordPress, Laravel, Rails, and the authentication providers a lot of teams already use. Official SDKs cover Node.js, PHP, Python, Ruby, Go, Java, Rust, and .NET, so the first send is a few lines instead of a weekend of glue.

Templates are the other tax. HTML email is still a mess of client quirks, and most ESPs lock you into a visual editor or a proprietary language. Resend’s React Email project lets teams write templates as React components, preview them locally, and send the same markup through the API. Hosted templates, a Notion-style broadcast editor, and an AI editor sit on top of that for marketers and designers who share the account.

On Resend, deliverability is treated as domain work, not a mystery. You verify SPF, DKIM, and DMARC on a sending domain, optionally add BIMI and a custom return-path, then send from any address on that domain. Open and click tracking, bounce details, an automatic suppression list, and dedicated IPs on Scale keep inbox placement something you can inspect. According to Resend’s published metrics, the npm package sees 6.8 million weekly downloads, the company has reached 3 million users, and it reported more than a billion emails sent as of its July 2025 rebrand.

Inbound closes a gap many transactional stacks ignore. Point an MX record at Resend (or use a resend.app subdomain), receive parsed JSON plus attachments over webhooks, and reply in-thread. Automations cover the lifecycle side: triggers, delays, conditions, and template sends, with 10,000 runs per month included on paid plans. Teams, MFA, API key permissions, GDPR posture, and SOC 2 Type II sit underneath for companies that cannot treat email as a side project.

Transitioning into production with Resend was a breeze due to its straightforward API and effortless setup. To put it simply, Resend is the developer-centric email API that is actually a joy to work with.

Elliot DeNolf, Founder and CTO, Payload

What You Get with Resend

The product is one account for send, receive, and marketing, not a pile of add-on products. Here is what ships with Resend today:

  • AI Email Editor: Generate and edit broadcasts, templates, and automations from the dashboard. Subject lines, preview text, and alt-text suggestions are available without burning paid credits.
  • Analytics: Track delivery, opens, clicks, and bounces on broadcasts, plus account and segment metrics through the API.
  • Automations: Build lifecycle flows with triggers, delays, wait-for-event steps, conditions, and template sends. Paid plans include 10,000 runs per month.
  • Batch Sending: Send up to 100 messages in one API call, with unique content per recipient.
  • Broadcasts: Compose newsletters in a Notion-style editor (slash commands, markdown, global styles) or through the Broadcasts API, then schedule and measure performance.
  • CLI: Official command-line tool to send local HTML or React Email, manage domains and keys, and listen to webhooks.
  • Contacts and Segments: Import via CSV, API, or the dashboard. Marketing is billed on contacts rather than sends.
  • Dedicated IPs: On Scale, provisioned, warmed, and monitored as an add-on when volume justifies leaving shared IPs.
  • Deliverability Insights: Bounce detail, automatic suppressions, and inbox-placement guidance in the dashboard so you can see why a message missed the inbox.
  • Domain Authentication: Verify SPF, DKIM, and DMARC, plus optional BIMI, a custom return-path, TLS, and multi-region sending. After you verify the domain, any address on it can send.
  • Email API: REST with a Bearer key. Attachments, custom headers, tags, batch, and scheduling are first-class.
  • Inbound Email: Point MX at the platform or use a resend.app subdomain. Inbound mail is parsed to JSON with attachments and webhooks, and received messages count toward quota.
  • Logs and Observability: API request logs, HTML and text previews, and shareable links for debugging a send without guessing.
  • MCP and Agent Skills: Hosted or self-hosted Model Context Protocol (MCP), agent skills, and OAuth 2.1 so agents can send without holding raw API keys.
  • Official SDKs: Node.js, PHP, Laravel, Python, Ruby, Go, Java, Rust, and .NET, plus community packages for other stacks.
  • Open and Click Tracking: Enabled per domain, with optional custom tracking domains.
  • React Email: Open-source React components for HTML email that you write locally and send through the API.
  • Scheduled Emails: Set scheduledAt as ISO 8601 or natural language (in 1 min), then reschedule or cancel in the API or dashboard.
  • SMTP Relay: Drop-in for WordPress, Laravel, Rails, Nodemailer, Supabase Auth, Auth0, and similar tools that already speak SMTP.
  • Teams and Security: Teams, MFA, API key permissions and domain restriction, GDPR, SOC 2 Type II, and SSO on Scale and Enterprise.
  • Templates: Hosted transactional templates with variables, collaboration, and versioning, imported as HTML or React.
  • Webhooks: Events for sent, delivered, opened, clicked, bounced, complained, delayed, failed, received, scheduled, and suppressed, plus domain and contact changes. Endpoints are signed, with retries.

Taken together, that is a full email stack for product teams: transactional sends, inbound replies, broadcasts, and automations on Resend, with domain authentication and webhooks as the control plane rather than a marketing console bolted on after the fact.

Getting Started with Resend

Create a free Resend account (no credit card). Add a sending domain and publish the DNS records for DKIM and SPF, then DMARC. A subdomain is the usual recommendation. You can send test messages to yourself on resend.dev with limits. Create an API key (sending-only or full access, optionally locked to a domain), store it as RESEND_API_KEY, and send through an SDK, REST, SMTP, or the CLI. Once the domain is verified, any From address on that domain works. No extra sender identity to register.

The Free plan covers 3,000 emails per month with a 100-per-day cap, three domains, and ticket support. Pro removes the daily cap. Scale and Enterprise add volume, Slack support, dedicated IPs, SSO, and a 99.99% uptime SLA on the Enterprise contract. Marketing is billed on contacts, with unlimited sends to those contacts.

If you want a visual walkthrough before you write the first send, start with Resend’s YouTube channel.

If transactional email is still the most fragile part of your product, put it on an API your team will actually maintain.

Start Sending with Resend

Related Articles