Get started
IntroductionResend is the email API for developers.Create API keyGet started sending emails by creating an API keyAdd domainGet started sending emails by adding a domain to your account.Email typesResend has a wide range of features for sending both transactional and marketing emails.AI onboardingEverything you need to onboard your AI agent to Resend.
Sending examples
Node.js
IntroductionLearn how to send your first email using the Resend Node.js SDK.Next.jsLearn how to send your first email using Next.js and the Resend Node.js SDK.RemixLearn how to send your first email using Remix and the Resend Node.js SDK.NuxtLearn how to send your first email using Nuxt and the Resend Node.js SDK.TanStack StartLearn how to send your first email using TanStack Start and the Resend Node.js SDK.SvelteKitLearn how to send your first email using SvelteKit and the Resend Node.js SDK.ExpressLearn how to send your first email using Express and the Resend Node.js SDK.RedwoodJSLearn how to send your first email using Redwood.js and the Resend Node.js SDK.HonoLearn how to send your first email using Hono and the Resend Node.js SDK.BunLearn how to send your first email using Bun and the Resend Node.js SDK.AstroLearn how to send your first email using Astro, Resend, and Node.js.RailwayLearn how to send your first email using Railway and the Resend Node.js SDK.EncoreLearn how to send your first email using Encore and the Resend Node.js SDK.Better AuthLearn how to send Better Auth transactional emails through Resend using email hooks.
Serverless
Vercel FunctionsLearn how to send your first email using Vercel Functions.Supabase Edge FunctionsLearn how to send your first email using Supabase Edge Functions.Cloudflare WorkersLearn how to send your first email using Cloudflare Workers.Deno DeployLearn how to send your first email using Deno Deploy.AWS LambdaLearn how to send your first email using AWS Lambda.
PHP
Ruby
Python
IntroductionLearn how to send your first email using the Resend Python SDK.FlaskLearn how to send your first email using Flask and the Resend Python SDK.FastAPILearn how to send your first email using FastAPI and the Resend Python SDK.DjangoLearn how to send your first email using Django and the Resend Python SDK.
Go
Rust
Elixir
Java
.NET
SMTP
IntroductionLearn how to integrate Resend via SMTP.Auth0Learn how to send Auth0 transactional emails through Resend using the official integration.Customer.ioLearn how to integrate Customer.io with Resend SMTP.DjangoLearn how to integrate Django with Resend SMTP.LaravelLearn how to send your first email using Laravel with SMTP.LiferayLearn how to integrate Liferay with Resend SMTP.NodemailerLearn how to send your first email using Nodemailer with SMTP.PHPMailerLearn how to send your first email using PHPMailer with SMTP.RailsLearn how to integrate Rails with Resend SMTP.RetoolLearn how to integrate Retool with Resend SMTP.SupabaseLearn how to integrate Supabase Auth with Resend SMTP.WordPressLearn how to send your first email using Wordpress.NextAuthLearn how to send your first email using NextAuth.MetabaseLearn how to integrate Metabase with Resend SMTP.
Learn
Domains
IntroductionAn introduction to verified domains in Resend.Manage DomainsLearn how to view, update, and delete your verified domains in Resend.DMARCImplement DMARC to build trust in your domain and protect against email spoofing and unauthorized use of your domain in email messages.BIMISet up BIMI to gain brand recognition by displaying your logo in the inbox.TrackingTrack open and click rates of your emails.TLSLearn how to configure TLS for your verified domain in Resend.Return PathLearn how to configure a custom Return Path for your verified domain in Resend.RegionsResend offers sending from multiple regionsClaim domainClaim a domain that is already verified by another team.
Sending
IntroductionAn introduction to sending emails with Resend.Manage EmailsAn introduction to managing your sent emails with Resend.Batch SendingSend up to 100 emails in a single API call.AttachmentsSend emails with attachments.Embed ImagesSend emails with inline images.Schedule EmailSend emails at a specific time without additional complexity.Send Test EmailsSimulate different events by sending test emails.Custom HeadersCustomize how emails are sent with your own headers.Idempotency KeysUse idempotency keys to ensure that emails are sent only once.Email BouncesUnderstanding and resolving delivery issues.Email SuppressionsManaging your team Suppressions to protect your sending reputation.Deliverability InsightsImprove your deliverability with tailored insights based on your sending.Unsubscribe LinkLearn how to give email recipients the ability to unsubscribe without searching for the unsubscribe link.TagsAdd unique identifiers to emails sent.
Receiving
IntroductionAn introduction to receiving emails with Resend.Managing EmailsAn introduction to managing your received emails with Resend.Custom DomainsReceive emails using your own domain.Configure webhookLearn how to create a webhook to respond to received emails with Resend.AttachmentsProcess attachments from receiving emails.Email ContentGet the body and headers of a received email.Forward EmailsForward Received emails to another email address.Reply to EmailsReply to Receiving emails in the same thread.
Broadcasts
IntroductionAn introduction to sending bulk marketing emails with Resend.Manage BroadcastsLearn how to view, update, and delete your Broadcasts.Broadcast editorLearn how to write and send your Broadcasts in the Dashboard editorSend with APISend marketing emails using the Broadcasts API.Performance TrackingTrack your Broadcasts email performance in real-time
Automations
IntroductionAn introduction to automating emails with custom events.Create AutomationsCreate an automation triggered by an event in your application.Custom EventsDefine custom events to trigger Automations.ConnectionsConnections between steps in Automation workflows.RunsMonitor and debug your Automation executions.
Steps
Steps ReferenceSteps and their properties in Automation workflows.TriggerStart your Automations based on custom events.ConditionRoute contacts through different paths based on conditions.DelayPause your Automations with time delays.Wait for EventHold your Automations until a specific event is received.Send EmailTrigger templated emails in your Automations.Add to SegmentInclude contacts to a segment as part of your Automation.Contact UpdateUpdate contact fields during an Automation.Contact DeleteRemove a contact from your audience in an Automation.
Templates
IntroductionLearn how to use Templates to send transactional emails.Create TemplateLearn how to create a Template in the Resend Dashboard editor or with the API.Template EditorLearn how to write reusable transactional email Templates in the Dashboard editorTemplate VariablesHow to work with custom variables in Templates.Version HistoryEdit Templates safely in production environments with version history.
Audience
IntroductionLearn how to manage your Contacts and send personalized Broadcasts to them.ContactsLearn how to work with Contacts with Resend.PropertiesLearn how to work with Contact Properties with Resend.SegmentsLearn how to create, retrieve, and delete segments.TopicsGive your users more control over their subscription preferences.Migration GuideLearn how to migrate from Audiences to SegmentsSubscriptionsLearn how to check and remove recipients who have unsubscribed to your marketing emails.
Logs
Webhooks
IntroductionAn introduction to using webhooks to notify your application about email events.Create WebhookLearn how to add a webhook to notify your application about events from Resend.Verify Webhooks RequestsLearn how to use the signing secret to verify your webhooks.Retries and ReplaysLearn how to use the retries and replays to handle webhook failures.Webhook IngesterA self-hosted solution to store all your Resend webhook events in your own database.Storing Webhooks DataStoring your email event data matters. Learn how to set up your own data storage.Event TypesList of supported event types and their payload.
Events reference
email.bouncedReceived when an email bounces.email.clickedReceived when an email link is clicked.email.complainedReceived when an email is marked as spam.email.deliveredReceived when an email is delivered.email.delivery_delayedReceived when an email delivery is delayed.email.failedReceived when an email fails to send.email.openedReceived when an email is opened.email.receivedReceived when an inbound email is received.email.scheduledReceived when an email is scheduled to be sent.email.sentReceived when an email is sent.email.suppressedReceived when an email is suppressed.domain.createdReceived when a domain is created.domain.updatedReceived when a domain is updated.domain.deletedReceived when a domain is deleted.contact.createdReceived when a contact is created.contact.updatedReceived when a contact is updated.contact.deletedReceived when a contact is deleted.suppression.addedReceived when an email address is added to your suppression list.suppression.removedReceived when an email address is removed from your suppression list.
Resources
SDKsOpen source client libraries for your favorite platforms.CLIThe official command-line tool for Resend. Send emails, manage your account, and develop locally from the terminal.MCP ServerConnect your AI agent to Resend using the hosted MCP server.IntegrationsIntegrate Resend with the tools you already use.ExamplesExplore sample apps for different use cases.
Knowledge Base
API Keys
Domains
Avoid MX ConflictsLearn how to avoid conflicts with your existing MX records when setting up a Resend domain.Domain Not VerifyingLearn what steps to take when your domain doesn't seem to be verifying.Error 1010Learn how to resolve a 403 error caused by a missing User-Agent header when sending requests to the Resend API.Domain MismatchLearn how to resolve a 403 error caused by using a domain in your API request that doesn't match your verified domain.resend.dev Domain ErrorLearn how to resolve a 403 error when using the resend.dev domain to send emails to recipients other than your own.Domain already registeredResolve the 403 domain already registered error by verifying domain ownership or starting a self-serve claim.DMARC AnalyzerAnalyze DMARC XML reports with a free, open-source tool built by Resend.
DNS Guides
CloudflareVerify your domain on Cloudflare with Resend.DreamHostVerify your domain on DreamHost with Resend.GandiVerify your domain on Gandi with Resend.GoDaddyVerify your domain on GoDaddy with Resend.HetznerVerify your domain on Hetzner with Resend.HostingerVerify your domain on Hostinger with Resend.IONOSVerify your domain on IONOS with Resend.NamecheapVerify your domain on Namecheap with Resend.PorkbunVerify your domain on Porkbun with Resend.AWS Route 53Verify your domain on Route 53 with Resend.SquarespaceVerify your domain on Squarespace with Resend.StratoVerify your domain on Strato with Resend.VercelVerify your domain on Vercel with Resend.
Sending
What sending feature to use?How to pick between our different sending features depending on your number of recipients and the nature of the message.Why use Topics?Learn when to use Topics to improve deliverability and give recipients control over their email preferences.When to Add an Unsubscribe LinkLearn best practices about using unsubscribe links.How do Dedicated IPs work?When are Dedicated IPs helpful, and how can they be requested.Creating email addressLearn how sending from an email address works on Resend.Unsupported Attachment TypesLearn which file attachment extensions you can't send.CORS IssuesInformation on recommended options to avoid CORS errors when sending emails.Cancel a BroadcastCancel a scheduled Broadcast or stop one that is still sending.
Deliverability
Managing the Suppression ListLearn why your emails land on the Suppression List and how to remove them.Receiving EmailsReceive emails with webhooks and process content, attachments, forwarding, and replies.Subdomain vs Root DomainDiscover why sending emails from a subdomain can be better than using a root domain.Delivered Email Not ArrivingLearn the steps to take when an email is delivered, but the recipient does not receive it.Emails Going to SpamTroubleshoot and resolve emails landing in spam or being quarantined.Avoid Gmail's Spam FolderLearn how to improve inbox placement in Gmail.Avoid Outlook's Spam FolderLearn how to improve inbox placement in Outlook.Avoid iCloud's Spam FolderLearn how to improve inbox placement in iCloud Mail.Avoid Yahoo's Spam FolderLearn how to improve inbox placement in Yahoo Mail.Sending to Apple Private Email RelaySending to Apple Private Email Relay requires specific configuration steps to ensure your emails get deliveredOpen Rates Not AccurateLearn why your open rate statistics are not accurate and what you can do about it.Audience HygieneLearn strategies for maintaining good audience hygiene and maximizing email deliverability.Warm-up GuideLearn how to warm up a domain or IP to avoid deliverability issues.What is email consent?Learn what valid email permission looks like and why it matters.DKIM Key LengthLearn why 1024-bit DKIM is enough for transactional and marketing mail, and how it compares to 2048-bit keys.
Testing
Tutorials
Supabase Resend QuickstartA quick jumpstart to using Resend with Supabase.Supabase Go-Live ChecklistEverything to do before you start sending authentication emails with Resend and Supabase.Set up your logo on Apple MailLearn how to implement Apple Branded Mail to display your logo in Apple Mail clients.Send with an AvatarLearn how to show your avatar in the inbox of your recipients.Inbound: Forward EmailsLearn how to forward receiving emails to another email address with Resend Inbound.React Email TemplatesAuthor email templates as React components and upload them to Resend with the CLI.Embed React Email EditorAdd the open-source React Email editor to your application: base component, styling, Inspector sidebar, and custom extensions.Building an OAuth client for ResendImplement an OAuth 2.1 + PKCE client against the Resend API, from scratch or with a library.Vercel Marketplace IntegrationCreate and connect a Resend account directly from Vercel using the dashboard, the CLI, or v0.Stripe Projects IntegrationProvision Resend for a project directly from Stripe and start sending email.n8n Resend IntegrationLearn how to install and use the official Resend node for n8n to send emails, manage contacts, handle webhooks, and more.Send emails with DevinLearn how to install the Resend MCP server in Devin.ai so your agent can send emails, manage contacts, and run broadcasts.Design emails with PaperLearn how to combine the Paper MCP server and the Resend MCP server so your agent can turn a Paper design into a template or broadcast in your Resend account.
Build with AI
AI Tools
Agent Skills
React EmailBuild HTML emails using React components with AI agents.Resend SkillSend emails through the Resend API with AI agents.Agent Email InboxGive your AI agent a secure email inbox to receive and act on inbound emails.Email Best PracticesComprehensive guide for building production-ready email systems with AI agents.
Chat SDK
OverviewBuild conversational email experiences using the Vercel Chat SDK and Resend.Card EmailsSend rich HTML card emails using the Chat SDK and React Email.AttachmentsHandle inbound email attachments with the Chat SDK adapter.Proactive OutreachStart new email conversations proactively with the Chat SDK adapter.EveConnect to your Eve agent over email.
AI Builder Guides
Anything Resend IntegrationLearn how to add the Resend integration to your Anything project.Lovable Resend IntegrationLearn how to add the Resend integration to your Lovable project.v0 Resend IntegrationLearn how to add the Resend integration to your v0 project.Bolt.new Resend IntegrationLearn how to add the Resend integration to your Bolt.new project.Replit Resend IntegrationLearn how to add the Resend integration to your Replit project.Base44 Resend IntegrationLearn how to add the Resend integration to your Base44 project.Leap Resend IntegrationLearn how to add the Resend integration to your Leap.new project.Appwrite Resend IntegrationLearn how to send emails through Resend using Appwrite Messaging.
Account Management
Change your Email AddressHow to change the email address associated with your Resend account.Add Multi-Factor AuthenticationHow to enable and disable multi-factor authentication (MFA) or two-factor authentication (2FA) on your Resend account.Production ApprovalLearn about production access and account limitations on Resend.Configuring TLSUnderstand the different TLS configurations available.BillingManage your account subscription and billing informationResend PricingLearn more about Resend's pricing plans.Add More DomainsIncrease your domain limit with the domains add-on.Account Quotas And LimitsLearn what quotas and limits apply to accounts.Unsubscribe PageCustomize your unsubscribe pageTeamsManage your account across multiple teamsSingle Sign-OnLet your team sign in to Resend with your identity providerMulti-Tenant SetupLearn how to configure Resend for SaaS platforms where tenants send emails from their own domains.Compliance documentsHow to download compliance and tax documents from your Resend account.Turn Off Message StorageInformation on how you can protect your customer's information.SecurityAn overview of Resend security features and practices.Delete your Resend AccountHow to request your Resend account and data to be deleted.
API Reference
IntroductionUnderstand general concepts, response codes, and authentication strategies.PaginationLearn how pagination works in the Resend API.Usage LimitsLearn about API rate limits, email sending quotas, and contact quotas.ErrorsTroubleshoot problems with this comprehensive breakdown of all error codes.
Sending
Send EmailStart sending emails through the Resend Email API.Send Batch EmailsTrigger up to 100 batch emails at once.Retrieve Sent EmailRetrieve a single sent email.List Sent EmailsRetrieve a list of emails sent by your team.Update EmailUpdate a scheduled email.Cancel EmailCancel a scheduled email.Share EmailCreate a shareable link to view a sent or received email.Retrieve AttachmentRetrieve a single attachment from a sent email.List AttachmentsRetrieve a list of attachments from a sent email.Retrieve MetricsRetrieve account-level email metrics.
Receiving
InboxesBETA
Inbox LabelsBETA
Inbox ThreadsBETA
List ThreadsRetrieve the threads in one folder of an inbox.Retrieve ThreadRetrieve a thread with its full message history.Update ThreadMark a thread read or unread, move it, or apply a label.Delete ThreadMove a thread to the trash folder.Retrieve Thread EmailRetrieve a single message from a thread.Reply to Thread EmailSend a reply to a message in an inbox thread.Forward Thread EmailForward a message in an inbox thread to new recipients.
Inbox DraftsBETA
Create DraftCreate a draft on an inbox, either as a new conversation or as a reply.List DraftsRetrieve the drafts on an inbox.Retrieve DraftRetrieve a single draft by its ID.Update DraftUpdate fields on an existing draft.Delete DraftDiscard an existing draft.Send DraftSend an existing draft from the inbox address.
Broadcasts
Create BroadcastCreate a new broadcast to send to your contacts.Send BroadcastStart sending broadcasts to your audience through the Resend API.Cancel BroadcastCancel a queued or scheduled broadcast.Duplicate BroadcastDuplicate a broadcast.Retrieve BroadcastRetrieve a single broadcast.List BroadcastsRetrieve a list of broadcast.Update BroadcastUpdate a broadcast to send to your contacts.Delete BroadcastRemove an existing broadcast.List RecipientsRetrieve the recipients of a broadcast for a given event type.List Clicked LinksRetrieve the links clicked in a broadcast.
Automations
Create AutomationCreate a new automation to automate email sequences.Update AutomationUpdate an existing automation.Retrieve AutomationRetrieve a single automation.List AutomationsRetrieve a list of automations.Duplicate AutomationDuplicate an existing automation.Stop AutomationStop a running automation.Delete AutomationRemove an existing automation.List Automation RunsRetrieve a list of automation runs.Retrieve Automation RunRetrieve a single automation run.
Events
Create EventCreate a new event that can be used to trigger automations.Send EventSend a named event to trigger matching automations.Retrieve EventRetrieve a single event by ID or name.List EventsRetrieve a list of events.Update EventUpdate an existing event schema.Delete EventRemove an existing event.
Templates
Contacts
Create ContactCreate a contact.Retrieve ContactRetrieve a single contact.List ContactsShow all contacts.Update ContactUpdate an existing contact.Delete ContactRemove an existing contact.Add Contact to SegmentAdd an existing contact to a segment.List Contact SegmentsRetrieve a list of segments that a contact is part of.Delete Contact SegmentRemove an existing contact from a segment.Retrieve Contact TopicsRetrieve a list of topics subscriptions for a contact.Update Contact TopicsUpdate topic subscriptions for a contact.
Contact Properties
Create Contact PropertyCreate a custom property for your contacts.Retrieve Contact PropertyRetrieve a contact property by its ID.List Contact PropertiesRetrieve a list of contact properties.Update Contact PropertyUpdate an existing contact property.Delete Contact PropertyRemove an existing contact property.
Contact Imports
Segments
Create SegmentCreate a new segment for contacts to be added to.Retrieve SegmentRetrieve a single segment.List SegmentsRetrieve a list of segments.Update SegmentUpdate an existing segment.Delete SegmentRemove an existing segment.List Segment ContactsRetrieve a list of contacts in a segment.Retrieve MetricsRetrieve segment metrics.
Topics
AudiencesDEPRECATED
Domains
Create DomainCreate a domain through the Resend Email API.Claim DomainClaim a domain that is already verified by another team.Retrieve Domain ClaimRetrieve the latest claim for a domain.Verify Domain ClaimTrigger DNS verification for a domain claim.Verify DomainVerify an existing domain.Retrieve DomainRetrieve a single domain for the authenticated user.List DomainsRetrieve a list of domains for the authenticated user.Update DomainUpdate an existing domain.Delete DomainRemove an existing domain.
Logs
Usage
API Keys
Suppressions
Add SuppressionAdd an email address to the suppression list.Retrieve SuppressionRetrieve a single suppression by ID or email.List SuppressionsShow all suppressions.Remove SuppressionRemove a single suppression by ID or email.Add Batch SuppressionsAdd up to 100 email addresses to the suppression list at once.Remove Batch SuppressionsRemove up to 100 suppressions from the suppression list at once.
Authorized Apps
Webhooks
Create WebhookCreate a webhook to receive real-time notifications about email events.Retrieve WebhookRetrieve a single webhook for the authenticated user.List WebhooksRetrieve a list of webhooks for the authenticated user.Update WebhookUpdate an existing webhook configuration.Delete WebhookRemove an existing webhook.Rotate Signing SecretGenerate a new signing secret for a webhook.List EventsRetrieve a list of events delivered to a webhook.Retrieve EventRetrieve the details of a single event delivered to a webhook.Replay EventQueue an additional delivery attempt for a webhook event.List AttemptsRetrieve the delivery attempts for a single webhook event.