resend-node
The official Node.js and TypeScript SDK for sending email through the Resend API.
Repository Health
Technical Analysis
Resend’s official Node.js SDK is a fully typed client for the Resend email API, letting you send transactional and marketing email with a few lines of code. It wraps every Resend endpoint — emails, batches, broadcasts, domains, contacts, audiences/segments, API keys, webhooks, and more — behind a single ergonomic Resend class.
Beyond plain text and HTML, the SDK can render React email components to HTML at send time via @react-email/render, so you can author templates as JSX and ship them without a separate build step. It targets modern Node.js (>=20), ships dual ESM/CJS builds, and returns a consistent { data, error } shape on every call.
What You Get
- A single typed
Resendclient exposing every Resend API resource (emails, batch, broadcasts, domains, contacts, segments, API keys, webhooks, templates, and more). - First-class React email support that renders JSX templates to HTML at send time via the optional
@react-email/renderpeer dependency. - A consistent
{ data, error }return shape on every call, so failures are handled as values rather than thrown exceptions. - Dual ESM/CJS builds with bundled
.d.tstype declarations and idempotency-key support for safe retries.
Common Use Cases
- Sending transactional email such as sign-up confirmations, password resets, and receipts from a Node.js backend.
- Delivering marketing broadcasts and managing contacts, segments, and suppressions programmatically.
- Rendering React Email components to HTML and sending them directly without a separate template pipeline.
Under The Hood
Architecture — The public surface is a single Resend class in src/resend.ts that holds a base URL, user agent, and an auth Headers object, then instantiates one resource controller per API area (Emails, Batch, Broadcasts, Domains, Contacts, Segments, ApiKeys, Webhooks, and more) as readonly fields. Each controller receives the Resend instance and calls its shared post/get/put/patch/delete helpers, which funnel into one fetchRequest method wrapping the native fetch; that method normalizes every outcome into a { data, error, headers } response so errors are returned as values. React templates are rendered to HTML in src/render.ts, which lazily imports @react-email/render only when a react payload is supplied.
Tech Stack — Written in TypeScript targeting Node.js >=20, with a build via tsdown producing dual ESM/CJS output plus .d.ts declarations. Runtime dependencies are minimal: postal-mime for inbound email parsing and standardwebhooks for webhook verification, with @react-email/render as an optional peer dependency. Tooling uses Biome for lint/format, Vitest for tests, and PollyJS for recorded HTTP fixtures.
Code Quality — Testing is thorough: 36 *.spec.ts files sit alongside the source, plus integration specs backed by recorded HAR fixtures under __recordings__ and a separate e2e/ suite. Each resource is split into a controller plus a dedicated interfaces/ directory, giving strong type coverage and consistent naming. Error handling is deliberate — fetchRequest distinguishes JSON API errors, malformed responses, and network failures, returning a typed ErrorResponse in each case.
API Design — The developer experience is a highlight: a two-line setup (new Resend(key) then resend.emails.send(...)) gets you sending, method names mirror REST verbs and resource names, and the uniform { data, error } return removes try/catch boilerplate. All request and response types are exported from the package root, the README documents text, HTML, and React flows, and idempotency keys are a first-class option for safe retries.
Used by 40 apps in this directory
MentraOS
AI Development · Developer Tools
The open source operating system and SDK that lets developers build one app and run it across smart glasses from Even Realities, Vuzix, Mentra Live, and more.
Midday
Invoicing Finance · Productivity
All-in-one AI-powered business operations platform for freelancers and solo entrepreneurs to manage invoicing, time tracking, banking, and financial intelligence.
Novu
Developer Tools
Open-source communication infrastructure that connects your products and AI agents to every channel your users live on — Inbox, Email, SMS, Push, Chat, and more.
Onlook
AI Design Tools · Design Tools
An open-source, AI-first visual editor that lets designers and developers build, style, and deploy React apps directly in code — no handoff required.
OpenStatus
Devops · Monitoring
Open-source status pages and uptime monitoring with global synthetic checks, monitoring-as-code, and AI agent integration via MCP.
OpenPanel
Analytics
Open-source Mixpanel alternative with session replay, MCP integration, and privacy-first product analytics you fully control.
openwork
AI Assistants · Automation
OpenWork is a free, open-source desktop app for running AI agent workflows on your own files with 50+ LLMs, extensible skills, and MCP server support — the open-source alternative to Claude Cowork and Codex.
Operational
Analytics · Automation · Monitoring
Open-source event tracker with real-time push notifications and action buttons for tech founders.
Papermark
Digital Signiture · File Storage
Open-source DocSend alternative with page-by-page analytics, secure data rooms, and custom domains for document sharing.