Home/Best email API/For Node.js

The 7 best Node.js email APIs for AI agents

Seven email APIs ranked on how well each one works as an AI agent's email tool, from Claude, ChatGPT, Cursor or Codex, with each Node package checked on npm. Nitrosend wins: the only one an agent can sign up to and send from with no dashboard, a typed SDK with no dependencies, and $20 a month for 20,000 emails.

VerifiedKam LowBy Kam Low, Co-founder and CTO·Updated

Nitrosend is the best email API for Node.js teams that run email from AI agents, with the top score of 83.75 out of 100 across the seven reviewed here. It is the only service here your AI assistant, whether Claude, ChatGPT, Cursor or Codex, can sign up to and send from without anyone opening a dashboard, and it scores 9 out of 10 on that test, the one worth the most points. To send email from an AI agent with Nitrosend, add its MCP server at api.nitrosend.com/mcp to Claude, ChatGPT, Cursor or Codex and sign in with OAuth; an agent you build yourself in Node gets the same tools from the @nitrosend/ai-sdk package. Its Node package, @nitrosend/sdk, is fully typed and installs with no dependencies at all. Your receipts, newsletters and automated flows go out on one key and one bill, from $20 a month for 20,000 emails. Resend comes next, at 77.5.

The ranking

Rank 1

Nitrosend

nitrosend.com

83.75 out of 100Total

Priced by
Emails sent
Free plan
5,000 emails, then 500 a month
Entry plan
$20 a month, 20,000 emails
  • Works from your AI assistant9 out of 10Official MCP server, account signup over the API and a ready-made sender, so an agent sends with no dashboard (docs).
  • Receipts and newsletters on one plan9 out of 10Receipts, campaigns and flows share one plan, one API and one allowance, on separate streams (pricing).
  • Emails in your brand, no designer9 out of 10Brand Kit reads your site for logo, colors, fonts and voice, and every drafted email uses it (docs).
  • Free plan7 out of 105,000 emails up front, then 500 every month, no card and no expiry (pricing).
  • Price8.5 out of 10$20 a month for 20,000 emails on Starter and $650 for a million emails on Scale including overage, with unlimited contacts on every plan (pricing).
  • Developer tools10 out of 10REST API with an OpenAPI spec, a typed TypeScript SDK, a CLI, an MCP server, signed event webhooks, idempotent sends and test sends (docs).
  • Track record and support4 out of 10A young product from a small team. Dedicated IPs available as a provisioned add-on on Scale or Enterprise, a 99.9% SLA only on Enterprise (pricing).

Nitrosend

Ask your agent for the next campaign

Connect Nitrosend to Claude, ChatGPT, Cursor or Codex, point Brand Kit at your site, and describe the email. Contacts are unlimited on every plan.

Free: 5,000 emails to start, then 500 a month. No credit card.

Start free
Rank 2

77.5 out of 100Total

Priced by
Emails sent, plus contacts for marketing
Free plan
3,000 emails a month, 100 a day
Entry plan
$20 a month, 50,000 emails
  • Works from your AI assistant8 out of 10Hosted MCP server with OAuth, plus agent plugins and a CLI, but a person creates the account and verifies a domain (docs).
  • Receipts and newsletters on one plan7 out of 10Broadcasts and automations share the account and API, but marketing is a second plan priced by contacts (pricing).
  • Emails in your brand, no designer6 out of 10An AI writer in the editor with URL and brand analysis listed, and React Email for coded templates (pricing).
  • Free plan8 out of 103,000 emails a month, up to 100 a day, on a free plan that does not expire (pricing).
  • Price9 out of 10$20 a month for 20,000 emails on Pro, the same as Nitrosend, but $650 for a million on Scale (pricing).
  • Developer tools9 out of 10Official SDKs, an SMTP relay, webhooks, inbound email, React Email and a CLI on every plan (pricing).
  • Track record and support6 out of 10Newer than the incumbents, with SOC 2 Type II, dedicated IPs on Scale and a 99.99% SLA on Enterprise (pricing).
Rank 3

MailerSend

mailersend.com

68.5 out of 100Total

Priced by
Emails sent
Free plan
500 emails a month, card required
Entry plan
$7 a month, 5,000 emails (Hobby)
  • Works from your AI assistant8 out of 10Hosted MCP server connected by OAuth that sends and schedules email, sets up domains and webhooks and reads email activity, once a person has signed up (docs).
  • Receipts and newsletters on one plan4 out of 10Bulk emailing through the same API, but no campaign builder, segments or automation flows (pricing).
  • Emails in your brand, no designer6 out of 10Drag-and-drop, HTML and rich-text builders with ready-made templates, which you still set up in your brand (pricing).
  • Free plan5 out of 10A Free plan of 500 emails a month with 100 API requests a day, and a card on file (pricing).
  • Price8 out of 10$35 a month for 20,000 emails on Starter, which covers 50,000, and $600 for a million on Starter (pricing).
  • Developer tools9 out of 10Seven SDKs, an OpenAPI collection, SMTP relay, webhooks, inbound routing and testing features (pricing).
  • Track record and support6 out of 10A 99.5% uptime SLA on its top plans, with dedicated IPs on Enterprise above 100,000 emails a week (pricing).
Rank 4

67.5 out of 100Total

Priced by
Emails sent
Free plan
100 emails a day
Entry plan
$15 a month, 10,000 emails
  • Works from your AI assistant6 out of 10Official MCP server for sends, analytics and validation, run locally with an API key. Mailgun offers no hosted version (docs).
  • Receipts and newsletters on one plan4 out of 10Mailing lists and a template builder on the sending API, but no campaign builder or automation flows (pricing).
  • Emails in your brand, no designer5 out of 10An email template builder and templates API, but the brand design is yours to build (pricing).
  • Free plan7 out of 10A free plan of 100 emails a day, one sending domain and one inbound route (pricing).
  • Price8 out of 10$33 a month for 20,000 emails on Basic with overage, and $700 for a million on Scale (pricing).
  • Developer tools9 out of 10Official SDKs in six languages, SMTP relay, webhooks, inbound routes and a validation API (docs).
  • Track record and support9 out of 10A long-running sending API, now part of Sinch, with dedicated IP pools, IP warm-up and an uptime SLA (pricing).
Rank 5

Amazon SES

aws.amazon.com

65.5 out of 100Total

Priced by
Emails sent
Free plan
None. New AWS customers get up to $200 in credits
Entry price
$0.10 per 1,000 emails, or $0.16 on Essentials
  • Works from your AI assistant7 out of 10AWS's own managed MCP server runs SES API calls, so an agent can send and read sending data, but it connects with IAM credentials a person sets up, and new accounts start in the SES sandbox (AWS).
  • Receipts and newsletters on one plan3 out of 10A sending service with contact lists and subscription management, but no campaign builder or automation flows (pricing).
  • Emails in your brand, no designer2 out of 10Stored templates are HTML and text you write yourself. There is no visual editor and no brand setup (pricing).
  • Free plan4 out of 10No standing free plan. New AWS customers get up to $200 in Free Tier credits that apply to SES (pricing).
  • Price10 out of 10Metered at $0.16 per 1,000 on Essentials, so $3.20 for 20,000 emails and $160 for a million (pricing).
  • Developer tools9 out of 10AWS SDKs in every major language, SMTP, event publishing, inbound receiving and a mailbox simulator for tests (docs).
  • Track record and support9 out of 10Running at Amazon scale since 2011, with managed dedicated IPs, Virtual Deliverability Manager and tenant isolation (pricing).
Rank 6

64.5 out of 100Total

Priced by
Emails sent
Free plan
100 emails a month, no expiry
Entry plan
$15 a month, 10,000 emails
  • Works from your AI assistant6 out of 10Official MCP server with 24 tools, run locally with a server token a person creates first (Postmark).
  • Receipts and newsletters on one plan4 out of 10Broadcast streams send bulk mail from the same account, but there is no campaign builder or flows (docs).
  • Emails in your brand, no designer5 out of 10A library of ready-made transactional templates, which you still edit into your own brand (Postmark).
  • Free plan4 out of 10A free Developer plan of 100 emails a month that never expires, for testing (pricing).
  • Price8 out of 10$29.50 a month for 20,000 emails on Pro with overage, and $775 on Basic for the 1.5 million step (pricing).
  • Developer tools9 out of 10Official libraries for Node.js and TypeScript, Python, Ruby, .NET, Java and PHP, SMTP, delivery and bounce webhooks, and inbound processing (docs).
  • Track record and support9 out of 10A transactional specialist since 2010, with separate streams, managed dedicated IPs and 45-day retention (pricing).
Rank 7

59.5 out of 100Total

Priced by
Emails sent (Email API)
Free plan
Trial: 100 a day for 60 days
Entry plan
$19.95 a month, 50,000 emails
  • Works from your AI assistant3 out of 10No first-party SendGrid MCP server. Twilio's beta MCP server searches API docs and does not send (Twilio).
  • Receipts and newsletters on one plan6 out of 10Marketing Campaigns is a separate product with its own plan, priced on contacts stored (Twilio).
  • Emails in your brand, no designer5 out of 10Dynamic templates, a design editor and a Designs API, but the design is yours to build (docs).
  • Free plan3 out of 10A trial, not a plan: 100 emails a day for 60 days, then pay (pricing).
  • Price9 out of 10$19.95 a month for 20,000 emails on Essentials, and $799 for the Pro 1.5 million step (pricing).
  • Developer tools9 out of 10SDKs in seven languages, SMTP relay, event webhooks, Inbound Parse and a sandbox mode (docs).
  • Track record and support8 out of 10Sending since 2009, owned by Twilio since 2019, dedicated IPs included on Pro (pricing).

How they compare

How each one scores

Scores out of 10, September 26, 2026
Scores out of 10 for 7 services on 7 tests, with the total out of 100.
What we comparedNitrosendResendMailerSendMailgunSESPostmarkSendGrid
Works from your AI assistant25 points9 out of 108 out of 108 out of 106 out of 107 out of 106 out of 103 out of 10
Receipts and newsletters on one plan15 points9 out of 107 out of 104 out of 104 out of 103 out of 104 out of 106 out of 10
Emails in your brand, no designer10 points9 out of 106 out of 106 out of 105 out of 102 out of 105 out of 105 out of 10
Free plan10 points7 out of 108 out of 105 out of 107 out of 104 out of 104 out of 103 out of 10
Price15 points8.5 out of 109 out of 108 out of 108 out of 1010 out of 108 out of 109 out of 10
Developer tools15 points10 out of 109 out of 109 out of 109 out of 109 out of 109 out of 109 out of 10
Track record and support10 points4 out of 106 out of 106 out of 109 out of 109 out of 109 out of 108 out of 10
Total scoreout of 10083.75 out of 100,1st77.5 out of 100,2nd68.5 out of 100,3rd67.5 out of 100,4th65.5 out of 100,5th64.5 out of 100,6th59.5 out of 100,7th
Each score out of 10 counts for the points shown beside the test, and the points add up to 100. The best score on each line is in bold, and a tie is bold for everyone who shares it. The reason and source for every score are on the cards above.

Here are nine yes-or-no questions Node developers usually ask before they pick an email API, two of them about the npm package itself. A tick means the service does it, as described on its own pages or on npm today. A dash means the answer is not a clean yes or no.

7 services, side by side

Checked September 26, 2026
QuestionNitrosendResendMailerSendMailgunSESPostmarkSendGrid
Send from the chatCan an agent send a transactional email without anyone opening the web app?Nitrosend: Yes.Resend: Yes.MailerSend: Yes.Mailgun: Yes.SES: Not a yes or no.Postmark: Yes.SendGrid: Not a yes or no.
ServiceAnswer
NitrosendYes. Yes, through the MCP server. A single transactional email sends on the call; campaigns and flows stay drafts until approved.
ResendYes. Yes, once a person has created the account and verified a sending domain.
MailerSendYes. Yes, once a person has signed up and authorized the MCP connection.
MailgunYes. Yes, once a person has created the account and handed the MCP server an API key.
SESNot a yes or no. Only through a sample or general AWS MCP server, with AWS credentials a person sets up.
PostmarkYes. Yes, once a person has set up the account and handed the MCP server a server token.
SendGridNot a yes or no. Only by writing code against the API. Twilio's own MCP server searches the docs and does not send.
Hosted MCP serverCan a chat app connect over the web, with no local install?Nitrosend: Yes.Resend: Yes.MailerSend: Yes.Mailgun: No.SES: No.Postmark: No.SendGrid: No.
ServiceAnswer
NitrosendYes. Yes. A remote server at api.nitrosend.com/mcp, with OAuth sign-in.
ResendYes. Yes. A remote server at mcp.resend.com/mcp, with OAuth sign-in.
MailerSendYes. Yes. Connect by URL and authorize access to the account.
MailgunNo. No. Mailgun's docs say the server runs locally and no hosted version exists.
SESNo. No hosted SES MCP server.
PostmarkNo. No. The official server runs locally through npx with an API token.
SendGridNo. No. Every SendGrid server on the official MCP registry is community built, none hosted by Twilio.
Sign up with no personCan an agent create the account and send a first email with no DNS work?Nitrosend: Yes.Resend: No.MailerSend: No.Mailgun: No.SES: No.Postmark: No.SendGrid: No.
ServiceAnswer
NitrosendYes. Yes. Signup is an API call, and each brand gets a ready sender on a Nitrosend subdomain.
ResendNo. No. Resend's own agent guide says a person must create the account.
MailerSendNo. No. A person signs up, with a card even on Free, and verifies a domain.
MailgunNo. No. A person signs up and verifies a sending domain first.
SESNo. No. A person opens the AWS account, verifies a domain and requests production access.
PostmarkNo. No. A person signs up and confirms a sender signature or domain first.
SendGridNo. No. A sender or a domain has to be verified before real sending.
Campaigns and flows in the same planDo newsletters and automations come with the transactional plan?Nitrosend: Yes.Resend: Not a yes or no.MailerSend: No.Mailgun: No.SES: No.Postmark: Not a yes or no.SendGrid: No.
ServiceAnswer
NitrosendYes. Yes, on every plan including Free.
ResendNot a yes or no. Broadcasts and automations are in the same account, on a separate marketing plan.
MailerSendNo. No. Bulk emailing, but no campaign builder or flows.
MailgunNo. No. Mailing lists and templates, but no campaign builder or flows.
SESNo. No. SES sends, and the campaigns and flows are yours to build.
PostmarkNot a yes or no. Broadcast streams handle bulk sends. There is no campaign builder or automation flows.
SendGridNo. No. Marketing Campaigns is a separate plan, from $15 a month.
Perpetual free planIs there a free plan that does not run out?Nitrosend: Yes.Resend: Yes.MailerSend: Yes.Mailgun: Yes.SES: No.Postmark: Yes.SendGrid: No.
ServiceAnswer
NitrosendYes. Yes. 5,000 emails up front, then 500 a month.
ResendYes. Yes. 3,000 emails a month, 100 a day.
MailerSendYes. Yes. 500 emails a month.
MailgunYes. Yes. 100 emails a day.
SESNo. No. Up to $200 in AWS credits for new customers.
PostmarkYes. Yes. 100 emails a month on the Developer plan, with no expiry.
SendGridNo. No. 100 emails a day for 60 days, then a paid plan.
Brand learned from your siteDoes it pick up your logo, colors, fonts and voice without a designer?Nitrosend: Yes.Resend: Not a yes or no.MailerSend: No.Mailgun: No.SES: No.Postmark: No.SendGrid: No.
ServiceAnswer
NitrosendYes. Yes. Brand Kit scans your site, and AI Memory keeps house style.
ResendNot a yes or no. Its AI features list URL and brand analysis, which its docs do not describe yet.
MailerSendNo. No. Templates are built in its editors.
MailgunNo. No. Templates are built in its builder or in HTML.
SESNo. No. Templates are HTML you write.
PostmarkNo. No. A template library you edit into your own brand.
SendGridNo. No. Templates and a design editor, but you supply the design.
Inbound emailCan it receive and parse email sent to your domain?Nitrosend: Not a yes or no.Resend: Yes.MailerSend: Yes.Mailgun: Yes.SES: Yes.Postmark: Yes.SendGrid: Yes.
ServiceAnswer
NitrosendNot a yes or no. An agent inbox on your own domain, enabled by request.
ResendYes. Yes, on every plan.
MailerSendYes. Yes, through inbound routing.
MailgunYes. Yes, through inbound routes.
SESYes. Yes. SES receives mail through receipt rules and Mail Manager.
PostmarkYes. Yes, with inbound processing on Pro and Platform.
SendGridYes. Yes, with Inbound Parse.
Node package with no dependenciesDoes the official Node.js package install with no runtime dependencies of its own?Nitrosend: Yes.Resend: No.MailerSend: No.Mailgun: No.SES: No.Postmark: Yes.SendGrid: No.
ServiceAnswer
NitrosendYes. Yes. @nitrosend/sdk 0.11.1 lists none on npm.
ResendNo. No. resend 6.31.0 pulls in 2 on npm.
MailerSendNo. No. mailersend 3.4.1 pulls in 2 on npm.
MailgunNo. No. mailgun.js 14.0.1 pulls in 3 on npm.
SESNo. No. @aws-sdk/client-sesv2 3.1141.0 pulls in 9 on npm.
PostmarkYes. Yes. postmark 5.1.0 lists none on npm.
SendGridNo. No. @sendgrid/mail 8.1.6 pulls in 2 on npm.
Node package updated this yearHas the official Node.js package had a release in the last six months?Nitrosend: Yes.Resend: Yes.MailerSend: Yes.Mailgun: Yes.SES: Yes.Postmark: Yes.SendGrid: No.
ServiceAnswer
NitrosendYes. Yes. @nitrosend/sdk 0.11.1 was published on October 1, 2026.
ResendYes. Yes. resend 6.31.0 was published on September 29, 2026.
MailerSendYes. Yes. mailersend 3.4.1 was published on September 22, 2026.
MailgunYes. Yes. mailgun.js 14.0.1 was published on September 4, 2026.
SESYes. Yes. @aws-sdk/client-sesv2 3.1141.0 was published on September 25, 2026.
PostmarkYes. Yes. postmark 5.1.0 was published on July 10, 2026.
SendGridNo. No. @sendgrid/mail 8.1.6 was published on September 19, 2025.
Yes answersOut of the questions that have a yes or no for that service8 of 8 yes for Nitrosend5 of 7 yes for Resend5 of 9 yes for MailerSend4 of 9 yes for Mailgun2 of 8 yes for SES5 of 8 yes for Postmark1 of 8 yes for SendGrid
Open a question to read each answer in full, from the service's own pages. A dash means the question is not a yes or no for that service.

At a glance

7 services, the same 7 tests, 100 points in all. In order: Nitrosend 83.75, Resend 77.5, MailerSend 68.5, Mailgun 67.5, SES 65.5, Postmark 64.5, SendGrid 59.5. Nitrosend has the best score on Works from your AI assistant, Receipts and newsletters on one plan, Emails in your brand, no designer and Developer tools. Every price and feature was read on each company's own pages on September 26, 2026.

When another service is the better pick

Nitrosend does not win every test. Read these before you choose it.

  • Pick Resend if you only send transactional email from Node. It scores 9 on developer tools, and every Resend plan includes an SMTP relay, official SDKs, inbound email and React Email. Its resend package is typed and released often, most recently in the last week of September 2026.
  • Pick Postmark if delivery certainty outranks everything. The postmark package is typed and, like Nitrosend's, has no dependencies. Postmark scores 9 on developer tools and 9 on track record, and keeps transactional and broadcast mail in separate message streams.
  • Pick Amazon SES if you already run on AWS SDK v3. @aws-sdk/client-sesv2 pulls in nine dependencies, most of which an AWS project already has. It is $3.20 for 20,000 emails and $160 for a million on Essentials, and the product layer is yours to build.
  • Pick Mailgun if you route inbound mail through your Node service. mailgun.js covers inbound routes and a validation API, and Mailgun scores 9 on track record.
  • Pick MailerSend if you want seven SDKs and an SMTP relay at a middle price. MailerSend lists SDKs for Node, Python, Java, Laravel, PHP, Go and Ruby alongside its SMTP relay, and its typed mailersend package had a release on September 22, 2026.
  • Pick SendGrid only if your team already runs on it. Its latest @sendgrid/mail release is 8.1.6, from September 19, 2025, and its free option is now a trial of 100 emails a day for 60 days.

What each one costs in 2026

Every service here charges by emails sent, except Amazon SES, which is metered per email. SendGrid prices its Email API by send volume and Marketing Campaigns by contacts stored, so if you want both, you pay twice.

What sending costs

List prices, USD, monthly, September 26, 2026
Service20,000 emails a month1,000,000 emails a month
Nitrosend (pricing page)$20Pro, contacts unlimited$650Scale, contacts unlimited, including overage
Resend (pricing page)$20Pro, which covers 50,000$650Scale
MailerSend (pricing page)$35Starter, the first plan with 50 webhooks and 250 templates. Hobby with overage is $29.50 but has 1 webhook and 10 templates$600Starter
Mailgun (pricing page)$33Basic, 10,000 included and $1.80 per 1,000 after$700Scale
SES (pricing page)$3.20Lowest. Essentials, the default for a new account, or $2 a la carte. Charged per email$160Lowest. Essentials, the default for a new account, or $100 a la carte. Charged per email
Postmark (pricing page)$29.50Pro, 10,000 included and $1.30 per 1,000 after. Basic is $33$775Basic, the 1,500,000 plan. Pro is $852.50
SendGrid (pricing page)$19.95Essentials, which covers 50,000$799Pro, the 1,500,000 plan. The 700,000 plan is $499
List prices in US dollars, paid monthly, read from each company's pricing page on September 26, 2026, at the cheapest plan that covers the volume. Where the plan covers more than the column's volume, its size is named. Amazon SES charges per email, so both of its rates are shown. Each name links to the pricing page the price was read from.

At 20,000 emails a month, where most teams start, Nitrosend is $20. Amazon SES is $3.20, SendGrid $19.95, Resend $20, Postmark $29.50, Mailgun $33 and MailerSend $35.

At a million emails a month, Nitrosend is $650. MailerSend is $600, Resend $650, Mailgun $700, Postmark $775 and SendGrid $799. With Amazon SES the templates, unsubscribe handling and reporting are yours to build.

The $20 also covers the rest of the stack. The same key and the same Node package reach lists, segments, automated flows, brands and templates, alongside a single-call transactional send. If you would otherwise buy a second product for campaigns, add the two bills together before you compare.

How we scored

Every service gets a score out of 10 on the same seven tests used on the email API service rankings. Each test is worth a set number of points, 100 in all. Working from your AI assistant is worth the most, 25 points, because that is where email is heading, and for a Node team it is no longer a separate world: the Vercel AI SDK connects to MCP servers directly, so a service with a good MCP server is a service your own agent can use. Price, developer tools and track record, where the older services are strongest, share 40 points, so a service that is better there gets full credit for it.

Each test is a question with one answer per service, checked against the service's own pages on September 26, 2026. A 10 means it does the job fully on its normal plans. A 5 means it does part of it, or only on a higher plan or in a second product.

Works from your AI assistant, 25 points. Can an agent inside Claude, ChatGPT, Cursor or Codex go from nothing to a delivered transactional email, and then read back what happened to it, with no person opening the web app along the way? Scored on the first-party MCP server and what its tools cover, a CLI that works in a non-interactive runner, account and sender setup over the API, and listings in the chat apps people already work in. Scored on one written rule for every vendor: a first-party server the vendor runs and that can send counts fully; a third-party wrapper (Zapier, Composio, Kanopi, community servers) counts for less; a server that only drafts or reads counts for less than one that sends.

Receipts and newsletters on one plan, 15 points. Can receipts and password resets, and the newsletters and automated flows that follow them, go out from one account, on one bill, through one API, with the two streams kept apart?

Emails in your brand, no designer, 10 points. Does the product produce the receipt, reset and welcome emails in your brand's own logo, colors, fonts and voice, or does a developer have to write or buy the HTML template first?

Free plan, 10 points. How far can a developer get on the free plan before paying: the monthly volume, the daily ceiling, any one-off starter allowance, and whether the plan is perpetual or a trial that ends.

Price, 15 points. What does sending cost at 20,000 emails a month, where most teams start, and at 1,000,000, where a busy product ends up? Scored on list prices in US dollars, paid monthly, at the cheapest plan that covers the volume. Every ranking on this site uses the same fixed scale. At 20,000 emails, $20 or less scores 10, then $25 scores 9, $32 scores 8, $40 scores 7, $50 scores 6, $70 scores 5, $100 scores 4 and $140 scores 3. At 1,000,000, $500 or less scores 10, then $625, $800, $1,000, $1,250, $1,750, $2,500 and $3,500 step down the same way. Anything dearer, or a price given only by quote, scores 2. The score is the average of the two.

Developer tools, 15 points. How complete is what a developer builds on: a REST API with an OpenAPI spec, official SDKs across languages, a CLI, an SMTP relay, documented delivery-event webhooks, idempotent sends, a test or sandbox mode, inbound email handling, and how deep the reference docs go?

Track record and support, 10 points. How long has it run transactional sending at scale, which deliverability controls can you own (dedicated IPs, suppression, separate streams, a published uptime SLA), and what support comes with the plan?

The two npm questions in the table above are not scored. They are there because they are what a Node developer checks first, and they come straight from the npm registry, last checked on October 1, 2026.

The Node packages, side by side

Every package here ships its own TypeScript types. What separates them is weight and upkeep.

  • Nitrosend, @nitrosend/sdk 0.11.1. Fully typed, no dependencies, Node 18 or later, released on October 1, 2026. Errors are typed, so you branch with instanceof on ValidationError or NotFoundError instead of matching a message. A transactional send takes an idempotency key as its second argument. The secret nskey_live_ key belongs in server code only, and a separate browser client, @nitrosend/sdk/browser, takes a public key for signup forms and refuses a secret one. The same package verifies the signed delivery webhooks with verifyWebhook.
  • Resend, resend 6.31.0. Typed, with two dependencies, one of them for verifying webhooks.
  • Postmark, postmark 5.1.0. Typed, no dependencies.
  • MailerSend, mailersend 3.4.1. Typed, with two dependencies.
  • Mailgun, mailgun.js 14.0.1. Typed, with three dependencies, including axios.
  • Amazon SES, @aws-sdk/client-sesv2. Typed, with nine dependencies from the AWS SDK v3 core.
  • SendGrid, @sendgrid/mail 8.1.6. Typed, with two dependencies, and no release for a year.

Fewer dependencies is a security question as much as a tidiness one. In September 2025 a self-replicating worm called Shai-Hulud compromised more than 500 npm packages and harvested the API keys it found, and an email package sits in exactly the process that holds your sending key. Every dependency is one more maintainer whose account can publish into your build. The Node.js email API guide has working code for Nitrosend.

Two agent paths matter on a Node project, and they are different packages. The assistant you code with (Claude, Cursor, Codex) connects to the hosted MCP server and never needs the SDK. The agent you ship inside your own app, built on the Vercel AI SDK, gets Nitrosend's tools from @nitrosend/ai-sdk, which is listed in the AI SDK tools registry and wraps the same remote MCP server. It adds tools, not a model, so it works with whichever model package you already use.

Things that will bite you

Retries and idempotency. Serverless platforms retry for you. AWS Lambda, by default, runs a failed asynchronous invocation two more times, and a timeout counts as a failure even if the send call had already finished. Without an idempotency key, that retry sends the receipt again. Nitrosend's send endpoint takes an Idempotency-Key header, and it also catches the opposite bug: reusing a key with a different payload returns 409 idempotency_conflict instead of quietly handing back the earlier message. Build the key from something stable, such as the order number, never from a timestamp.

Webhook signatures and body parsers. A signature is computed over the exact bytes that were sent. Run express.json() first and the body you verify is a re-serialized copy, so a correct secret still fails, a trap Stripe's signature docs call out by name for Express. Mount the webhook route with express.raw() before any JSON parser, then pass the raw string to verifyWebhook.

Keys in Next.js. Any variable prefixed NEXT_PUBLIC_ is inlined into the JavaScript sent to the browser at build time. A secret email key with that prefix is published to every visitor. Keep the secret key unprefixed and server-side, and use a public key for anything that runs in the browser.

Attachment size. Base64 turns every 3 bytes into 4 characters, so a file grows by a third on the way into a JSON body. A memory-limited function then holds the file and its larger encoded copy at the same time. Send a link rather than the file wherever you can.

For events coming back, use webhooks rather than polling. If you are weighing Nitrosend against its closest rival here, the Nitrosend and Resend comparison goes test by test.

Node.js email API FAQ

Nitrosend, with the top score in this review, 83.75 out of 100. Its typed Node SDK has no dependencies, covers the whole platform, and runs alongside an MCP server your AI assistant can sign up to and send from, from $20 a month. Pick Resend for transactional-only sending with official SDKs across languages, or Postmark if delivery certainty outranks everything.

Nitrosend's @nitrosend/sdk and Postmark's postmark both install with no runtime dependencies, according to npm on October 1, 2026. Resend, MailerSend and SendGrid each pull in two, Mailgun three and the AWS SES client nine.

Nitrosend, which scores 9 out of 10 on working from your AI assistant, the test worth 25 of the 100 points. An agent in Claude, ChatGPT, Cursor or Codex can sign up, get a ready-made sender and send with no dashboard. Resend and MailerSend score 8 with hosted MCP servers, Amazon SES 7 through AWS's own managed MCP server, Postmark and Mailgun 6 and SendGrid 3, and on each of those a person sets up the account first.

Install @nitrosend/ai-sdk and pass its tools to generateText or streamText in the Vercel AI SDK. The package wraps Nitrosend's remote MCP server, so your agent can draft campaigns, manage contacts, build flows and send tests with the model you already use. For the assistant you code with, run claude mcp add --transport http nitrosend https://api.nitrosend.com/mcp in Claude Code, or add the same URL in ChatGPT, Cursor or Codex, and sign in with OAuth.

Yes. Use the HTTP API rather than SMTP, because SMTP's connection handshake is a poor fit for short-lived processes, and set an idempotency key so a platform retry does not send twice.

Not a first-party one today. Node and TypeScript are the first-party languages, and other stacks call the same REST API. Email API languages has examples.

Yes. Nitrosend's MCP server lets Claude, ChatGPT, Cursor or Codex send, manage contacts, segments and flows, and read reporting. Campaigns and flows stay drafts until approved; a single transactional email sends on the call. Resend, Postmark, Mailgun and MailerSend also publish MCP servers, but on each of them a person creates the account first.

Go deeper

Run your email from the assistant you already use.

Simple pricing. Unlimited contacts.

Every plan includes full stack emailing: Flows, Newsletter Campaigns and Transactional Email, plus our NitroWheel LLM and all agent integrations (Claude, ChatGPT, Codex, Cursor and others). Pay for what you send, not who you store.

Choose your billing interval

Every paid plan includes 3 agent inboxes and no Nitrosend footer.

Starter

For your first email program.

$16USD / month

$192 billed yearly.

20,000 emails / month

Choose Starter
  • 5 brands · 3 seats
  • 5 custom sending domains
  • 500 email verifications/month
  • $1.50 / 1,000 extra emails

Pro

For a growing audience.

$40USD / month

$480 billed yearly.

60,000 emails / month

Choose Pro
  • 10 brands · 5 seats
  • 10 custom sending domains
  • 1,000 email verifications/month
  • $1.20 / 1,000 extra emails

Growth

For teams and agencies.

$120USD / month

$1,440 billed yearly.

200,000 emails / month

Choose Growth
  • Unlimited brands · 10 seats
  • 25 custom sending domains
  • 2,500 email verifications/month
  • $0.90 / 1,000 extra emails

Scale

For high-volume sending.

$240USD / month

$2,880 billed yearly.

500,000 emails / month

Choose Scale
  • Unlimited brands · 20 seats
  • 100 custom sending domains
  • 5,000 email verifications/month
  • $0.70 / 1,000 extra emails
Enterprise

Hey, big sender.

Sending 500,000+ emails a month? Get a custom plan designed for you, with volume pricing for sending, verification and enrichment.

Start free. No card needed.

5,000 emails to start, then 500 emails every month. No expiry on your starter emails.

Start free

Daily allowances depend on your plan and sender standing. Strong list, domain and delivery evidence can raise standing, including on day one. Trusted receives the full plan allowance; available email credits, safety checks and delivery pacing still apply.

Free forever. No credit card required. See full comparison →