Starter
For your first email program.
$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
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.
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.
83.75 out of 100Total
Nitrosend
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 free77.5 out of 100Total
Rank 368.5 out of 100Total
Rank 467.5 out of 100Total
65.5 out of 100Total
Rank 664.5 out of 100Total
Rank 759.5 out of 100Total
| What we compared | |||||||
|---|---|---|---|---|---|---|---|
| Works from your AI assistant25 points | 9 out of 10 | 8 out of 10 | 8 out of 10 | 6 out of 10 | 7 out of 10 | 6 out of 10 | 3 out of 10 |
| Receipts and newsletters on one plan15 points | 9 out of 10 | 7 out of 10 | 4 out of 10 | 4 out of 10 | 3 out of 10 | 4 out of 10 | 6 out of 10 |
| Emails in your brand, no designer10 points | 9 out of 10 | 6 out of 10 | 6 out of 10 | 5 out of 10 | 2 out of 10 | 5 out of 10 | 5 out of 10 |
| Free plan10 points | 7 out of 10 | 8 out of 10 | 5 out of 10 | 7 out of 10 | 4 out of 10 | 4 out of 10 | 3 out of 10 |
| Price15 points | 8.5 out of 10 | 9 out of 10 | 8 out of 10 | 8 out of 10 | 10 out of 10 | 8 out of 10 | 9 out of 10 |
| Developer tools15 points | 10 out of 10 | 9 out of 10 | 9 out of 10 | 9 out of 10 | 9 out of 10 | 9 out of 10 | 9 out of 10 |
| Track record and support10 points | 4 out of 10 | 6 out of 10 | 6 out of 10 | 9 out of 10 | 9 out of 10 | 9 out of 10 | 8 out of 10 |
| Total scoreout of 100 | 83.75 out of 100,1st | 77.5 out of 100,2nd | 68.5 out of 100,3rd | 67.5 out of 100,4th | 65.5 out of 100,5th | 64.5 out of 100,6th | 59.5 out of 100,7th |
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.
| Service | Answer |
|---|---|
| Yes. Yes, through the MCP server. A single transactional email sends on the call; campaigns and flows stay drafts until approved. | |
| Yes. Yes, once a person has created the account and verified a sending domain. | |
| Yes. Yes, once a person has signed up and authorized the MCP connection. | |
| Yes. Yes, once a person has created the account and handed the MCP server an API key. | |
| Not a yes or no. Only through a sample or general AWS MCP server, with AWS credentials a person sets up. | |
| Yes. Yes, once a person has set up the account and handed the MCP server a server token. | |
| Not a yes or no. Only by writing code against the API. Twilio's own MCP server searches the docs and does not send. |
| Service | Answer |
|---|---|
| Yes. Yes. A remote server at api.nitrosend.com/mcp, with OAuth sign-in. | |
| Yes. Yes. A remote server at mcp.resend.com/mcp, with OAuth sign-in. | |
| Yes. Yes. Connect by URL and authorize access to the account. | |
| No. No. Mailgun's docs say the server runs locally and no hosted version exists. | |
| No. No hosted SES MCP server. | |
| No. No. The official server runs locally through npx with an API token. | |
| No. No. Every SendGrid server on the official MCP registry is community built, none hosted by Twilio. |
| Service | Answer |
|---|---|
| Yes. Yes. Signup is an API call, and each brand gets a ready sender on a Nitrosend subdomain. | |
| No. No. Resend's own agent guide says a person must create the account. | |
| No. No. A person signs up, with a card even on Free, and verifies a domain. | |
| No. No. A person signs up and verifies a sending domain first. | |
| No. No. A person opens the AWS account, verifies a domain and requests production access. | |
| No. No. A person signs up and confirms a sender signature or domain first. | |
| No. No. A sender or a domain has to be verified before real sending. |
| Service | Answer |
|---|---|
| Yes. Yes, on every plan including Free. | |
| Not a yes or no. Broadcasts and automations are in the same account, on a separate marketing plan. | |
| No. No. Bulk emailing, but no campaign builder or flows. | |
| No. No. Mailing lists and templates, but no campaign builder or flows. | |
| No. No. SES sends, and the campaigns and flows are yours to build. | |
| Not a yes or no. Broadcast streams handle bulk sends. There is no campaign builder or automation flows. | |
| No. No. Marketing Campaigns is a separate plan, from $15 a month. |
| Service | Answer |
|---|---|
| Yes. Yes. 5,000 emails up front, then 500 a month. | |
| Yes. Yes. 3,000 emails a month, 100 a day. | |
| Yes. Yes. 500 emails a month. | |
| Yes. Yes. 100 emails a day. | |
| No. No. Up to $200 in AWS credits for new customers. | |
| Yes. Yes. 100 emails a month on the Developer plan, with no expiry. | |
| No. No. 100 emails a day for 60 days, then a paid plan. |
| Service | Answer |
|---|---|
| Yes. Yes. Brand Kit scans your site, and AI Memory keeps house style. | |
| Not a yes or no. Its AI features list URL and brand analysis, which its docs do not describe yet. | |
| No. No. Templates are built in its editors. | |
| No. No. Templates are built in its builder or in HTML. | |
| No. No. Templates are HTML you write. | |
| No. No. A template library you edit into your own brand. | |
| No. No. Templates and a design editor, but you supply the design. |
| Service | Answer |
|---|---|
| Not a yes or no. An agent inbox on your own domain, enabled by request. | |
| Yes. Yes, on every plan. | |
| Yes. Yes, through inbound routing. | |
| Yes. Yes, through inbound routes. | |
| Yes. Yes. SES receives mail through receipt rules and Mail Manager. | |
| Yes. Yes, with inbound processing on Pro and Platform. | |
| Yes. Yes, with Inbound Parse. |
| Service | Answer |
|---|---|
| Yes. Yes. @nitrosend/sdk 0.11.1 lists none on npm. | |
| No. No. resend 6.31.0 pulls in 2 on npm. | |
| No. No. mailersend 3.4.1 pulls in 2 on npm. | |
| No. No. mailgun.js 14.0.1 pulls in 3 on npm. | |
| No. No. @aws-sdk/client-sesv2 3.1141.0 pulls in 9 on npm. | |
| Yes. Yes. postmark 5.1.0 lists none on npm. | |
| No. No. @sendgrid/mail 8.1.6 pulls in 2 on npm. |
| Service | Answer |
|---|---|
| Yes. Yes. @nitrosend/sdk 0.11.1 was published on October 1, 2026. | |
| Yes. Yes. resend 6.31.0 was published on September 29, 2026. | |
| Yes. Yes. mailersend 3.4.1 was published on September 22, 2026. | |
| Yes. Yes. mailgun.js 14.0.1 was published on September 4, 2026. | |
| Yes. Yes. @aws-sdk/client-sesv2 3.1141.0 was published on September 25, 2026. | |
| Yes. Yes. postmark 5.1.0 was published on July 10, 2026. | |
| No. No. @sendgrid/mail 8.1.6 was published on September 19, 2025. |
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.
Nitrosend does not win every test. Read these before you choose it.
resend package is typed and released often, most recently in the last week of September 2026.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.@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.mailgun.js covers inbound routes and a validation API, and Mailgun scores 9 on track record.mailersend package had a release on September 22, 2026.@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.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.
| Service | 20,000 emails a month | 1,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 |
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.
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.
Every package here ships its own TypeScript types. What separates them is weight and upkeep.
@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 6.31.0. Typed, with two dependencies, one of them for verifying webhooks.postmark 5.1.0. Typed, no dependencies.mailersend 3.4.1. Typed, with two dependencies.mailgun.js 14.0.1. Typed, with three dependencies, including axios.@aws-sdk/client-sesv2. Typed, with nine dependencies from the AWS SDK v3 core.@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.
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.
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.
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.
Every paid plan includes 3 agent inboxes and no Nitrosend footer.
For your first email program.
$192 billed yearly.
20,000 emails / month
Choose StarterFor a growing audience.
$480 billed yearly.
60,000 emails / month
Choose ProFor teams and agencies.
$1,440 billed yearly.
200,000 emails / month
Choose GrowthFor high-volume sending.
$2,880 billed yearly.
500,000 emails / month
Choose ScaleSending 500,000+ emails a month? Get a custom plan designed for you, with volume pricing for sending, verification and enrichment.
5,000 emails to start, then 500 emails every month. No expiry on your starter emails.
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 →