Resend logo displayed in white text on a black background.
BLOG

Migrating From SendGrid to Resend: A Developer's Guide

A practical overview of how to switch from SendGrid to Resend, including domain verification, API configuration, and code refactoring.
December 2, 2025
analog clock icon
Reading time:
8
min
OUR EXPERTISE
|
CMS & Custom Development
Photo of Aaron Kronberger
Aaron Kronberger
Senior Web Developer, Consultant

At the end of July 2025, SendGrid suddenly announced that they would discontinue their Free Tier for sending emails. This kind of infrastructure change can cause issues for internal environments, automated notifications, and staging stacks that rely on lightweight email delivery. Although we used SendGrid’s free tier only for internal environments, we still needed a dependable alternative that would be simple to integrate without rewriting major pieces of our codebase.

After reviewing a number of options, we determined that the Resend free tier met our needs most effectively.

Why Make the Switch from SendGrid To Resend?

Resend provides a generous free tier that works well for development and internal systems, with 100 daily emails and 3000 monthly emails. It is also designed with developers in mind. Their documentation includes examples in multiple languages, and the setup process is intentionally straightforward. For teams that need to replace SendGrid quickly without committing to a paid platform, this makes Resend an easy choice.

Introducing Resend

Before you can send emails through Resend, you must create an account and configure a domain. Resend handles most of this through a guided setup in the Domains menu. If your primary domain already handles normal email traffic, you should use a separate subdomain for transactional email. This keeps your DNS records clean and reduces the risk of conflicting with your organization’s existing mail routing.

Resend dashboard showing free tier usage limits and current email activity.
Resend dashboard showing free tier usage limits and current email activity.

Step 1: Setting Up Your Account and Verifying Your Sending Domain

Here is what the domain configuration screen looks like. Resend provides DNS records that must be added to your DNS host such as Namecheap, GoDaddy, or Cloudflare. These records verify that you control the domain and that Resend is allowed to send mail on your behalf.

Pay close attention to the MX records. If you are adding a dedicated subdomain to Resend, the MX records they provide will not interfere with your primary domain’s mail handling. If you are working directly with the main domain, make sure you do not overwrite your existing base MX record unless you intend to change how the domain handles incoming mail.

Resend domain setup page displaying required DNS records for domain verification.
Resend domain setup page displaying required DNS records for domain verification.

Once your domain is set up, the next step is to generate an API key. You will find this under the “API Keys” section. Click “Create API Key” and provide a descriptive name so your team understands what the key is used for. Choose either Full access or Sending access based on your needs. If you do not plan to manage domains, keys, or accounts through the API, Sending access is sufficient.

Popup window in Resend for creating a new API key with name, permissions, and domain options.
Popup window in Resend for creating a new API key with name, permissions, and domain options.

A list of API keys that were created
Resend API keys dashboard listing existing keys with options to view or create new ones.

Step 2: Replacing Your API Keys and Environment Variables

With your API key created, you can update your application. If you are using Node or Next.js, this is usually as simple as placing your API key and verified sender address into your environment variables or secure vault. The values Resend provides need to be placed wherever your application previously stored its SendGrid credentials.

Code editor showing API key and verified sender values being added to environment variables in a Node or Next.js project.
Code editor showing API key and verified sender values being added to environment variables in a Node or Next.js project.

Step 3: Refactoring Your Application's Codebase

Resend offers code snippets that can replace your old SendGrid mail sending calls. You will find these examples inside the API Keys menu by selecting the “</> API” button. These snippets illustrate how to construct the request, what fields are required, and how to authenticate.

Make sure to include any necessary imports, confirm that your verified sender address matches the domain you configured, and rebuild your project so the environment picks up the new keys. If you run into issues, double check that your receiving email system is allowed to accept mail sent from your new subdomain.

Resend interface displaying sample API code for sending email, including imports and request structure.
Resend interface displaying sample API code for sending email, including imports and request structure.

Conclusion: Finalizing Your Migration

After your application is updated, send a few test emails and confirm that they appear inside the Emails menu within Resend. This screen shows delivery attempts, statuses, and basic message details. It does not control the entire delivery chain, so if an email does not appear in your inbox, make sure your endpoint mailbox or spam filters are not blocking it.

Resend Emails page listing recently sent messages with status indicators and delivery details.
Resend Emails page listing recently sent messages with status indicators and delivery details.

Once everything is verified, your migration is complete. Resend should now handle your development and internal email notifications without interruption and without the limitations introduced by the end of SendGrid’s free tier.

Latest Blogs

Resend logo displayed in white text on a black background.
OUR EXPERTISE
|
CMS & Custom Development

Migrating From SendGrid to Resend: A Developer's Guide

A practical overview of how to switch from SendGrid to Resend, including domain verification, API configuration, and code refactoring.
December 2, 2025
analog clock icon
Reading time:
8
min
Photo of Aaron Kronberger
Aaron Kronberger
Senior Web Developer, Consultant
Image of code on a computer screen in a dark room.
OUR EXPERTISE
|
CMS & Custom Development

Using AJAX and MVC for Filtering and Paging a Directory

Learn how to build a dynamic resource directory with AJAX and MVC, featuring filtering and paging for a seamless user experience.
June 5, 2025
analog clock icon
Reading time:
8
min
Photo of Chad Heinle
Chad Heinle
VP of Consulting, Solutions Architect
Colorful graphic of several people on digital devices gathered around a globe
NEWS & EVENTS
|
Inclusive Design

Why Accessibility Isn’t Optional: Celebrating GAAD at High Monkey

Recognizing Global Accessibility Awareness Day with resources, insights, and episodes from our podcast that promote inclusive digital experiences.
May 15, 2025
analog clock icon
Reading time:
3
min
High Monkey Icon
High Monkey
The original source

Your success story starts here

Contact us for a free consultation, and let’s work together to build a strategic plan that tackles your challenges and lifts your organization to a new level.