Abstract flat illustration of a large envelope with two-way arrows above a row of nine rounded API blocks, the first one highlighted

9 Best Email APIs in 2026 (Free Tiers Compared)

An email API lets your code send mail over HTTP instead of SMTP. Most of them are built for one direction: receipts, password resets and alerts going out.

So the first question is whether your mail ever comes back. That splits this list in two.

The quick answer: if your app has to receive mail and answer it (an AI agent with its own address, a support inbox, per-customer addresses), use CarlyEmail. It gives you real inboxes with threads, signed arrival webhooks and in-thread replies, free for 3 inboxes and 1,000 emails a month with your own domain and no card. For one-way transactional sending, Resend has the best developer experience, Postmark the strongest deliverability reputation, and Amazon SES the lowest price per email.

Prices were read from each vendor’s live pricing page on October 2, 2026, in USD, billed monthly.

The best email APIs compared

Best forFree tierPaid fromWhen mail comes back
CarlyEmailApps that send and receive: agents, support, per-customer inboxes3 inboxes, 1,000 emails/mo, custom domain, no card$20/mo: 25 inboxes, 10K emails, no daily capReal inboxes and threads, kept until you delete them, never counted against your quota
ResendDeveloper experience3,000/mo, 100/day$20/mo: 50K emailsWebhook on every plan; counts against quota; 30-day retention
PostmarkTransactional deliverability100/mo$15/mo: 10K emailsJSON webhook from Pro ($16.50); counts toward volume
Amazon SESLowest cost per emailNone (sandbox until approved)$0.16 per 1,000, no base feeRaw MIME to S3 or SNS; you build the rest
MailgunRouting rules at volume100/day$15/mo: 10K emailsRoutes; stored 1 day (Foundation) to 7 (Scale)
SendGridTeams already on Twilio60-day trial only, 100/day$19.95/mo: 50K emailsInbound Parse webhook; nothing stored
BrevoTransactional plus marketing300/day$9/mo: 5,000 emailsInbound parsing webhook
MailtrapTesting plus sending4,000/mo, 150/day$15/mo: 10K emailsAgent inboxes; shares quota with sending
AgentMailAgent inboxes3 inboxes, 3,000/mo, no custom domain, “Sent via” footer$20/mo: 10 inboxes, 1,000/day capInboxes and threads

Read the table honestly: for one-way sending at volume, every transactional sender here is cheaper per message than CarlyEmail. CarlyEmail is priced per inbox because each address receives, stores and threads its conversations. If all you send is receipts, buy a sender. If mail has to come back and be answered, that’s what CarlyEmail is for, and plenty of teams run one of each.

How to choose an email API

One-way or two-way. Transactional APIs push mail out, and receiving is a webhook that hands you a message and forgets it. That’s enough for a contact form. If someone writes back and your app has to answer (support, an AI agent, a marketplace relaying buyers and sellers), you need storage, threading and a reply that lands in the sender’s thread, which is the job of an inbox API like CarlyEmail. A third kind acts inside your users’ own Gmail or Outlook accounts: the Gmail API, Microsoft Graph, or a unified API like Nylas, each with its own quotas (Gmail API limits).

Volume. At 100,000 emails a month, Amazon SES is about $16 on its default plan, Mailtrap $30, SendGrid $34.95, Resend $35 and Mailgun $75. CarlyEmail is $200 for 100,000 sent emails, because that plan also carries 250 inboxes that receive and store mail without touching the count. Free tiers are usually capped per day too: 100 on Resend, Mailgun, CarlyEmail and AgentMail, 150 on Mailtrap, 300 on Brevo.

Inbound. Ask four things about mail that arrives: is it stored, is it threaded, is forged mail separated out, and does it count against your sending quota? Resend, Postmark and Mailtrap count every received email against the same allowance as your sends. SendGrid’s Inbound Parse stores nothing, and SES drops raw MIME into S3. CarlyEmail stores, parses and threads every message and never counts it against the quota. Email to webhook compares every inbound option in detail.

Retention. How long a provider keeps your mail decides whether you can answer “did that customer email us last month?” SendGrid keeps 3 days of email activity on Essentials and 7 on Pro. Mailgun keeps logs 1 to 30 days and stored messages 1 to 7 days, by plan. Resend keeps 30 days and Postmark 45 by default. CarlyEmail keeps messages until you delete them, within your plan’s storage (1 GB free, 25 GB at $20).

Who’s calling it. If the caller is an AI agent, look for a hosted MCP server and API keys you can scope to a single inbox or customer. Email MCP servers covers which vendors have one.


1. CarlyEmail

The best email API for apps that send and receive. Most email APIs start from sending and bolt inbound on as a webhook. CarlyEmail starts from the inbox: one call creates a real address that receives, stores and threads mail, sends with SPF, DKIM and DMARC passing, and replies inside the conversation.

import { CarlyEmail } from "carlyemail";

const carly = new CarlyEmail(); // reads CARLYEMAIL_API_KEY

// One call: an address that sends and receives
const inbox = await carly.inboxes.create({ username: "billing" });

// Send, like any transactional API
await carly.messages.send(inbox.email, {
  to: ["emily@example.com"],
  subject: "Your October invoice",
  text: "It's ready. Reply here with any questions.",
});

// The part most email APIs leave to you: read the reply, answer in-thread
const { messages } = await carly.messages.list(inbox.email, { labels: ["received"] });
await carly.messages.reply(inbox.email, messages[0].message_id, {
  text: "Thanks Emily, I've added your PO number.",
});

In production you’d skip the polling: a signed message.received webhook fires the moment Emily’s reply lands, carrying its thread_id, so your handler or agent resumes the right conversation. The Python SDK has the same shape (pip install carlyemail); see how to send email from Python.

  • Real inboxes. Mail is stored, parsed and threaded on arrival, including the replies Outlook mangles, and stays until you delete it. See receiving and threads.
  • Received mail is free of your quota. Only sent recipients count. A support inbox flooded with replies keeps its whole send allowance.
  • Forged mail never reaches your handler. Mail failing SPF, DKIM or DMARC arrives as message.received.unauthenticated and spam as message.received.spam. Both are kept for inspection and neither fires message.received. See webhooks.
  • Multi-tenant from day one. Pods give each customer their own space, and API keys can be scoped to one pod or one inbox, so Josh’s tenant can’t read Michael’s mail. See pods.
  • Your domain on every plan, free included, with SPF, DKIM and DMARC set up for you (custom domains). No “sent via” footer on any plan.
  • Limits you can read. A request that would cross a cap gets a 429 naming the cap, with an exact Retry-After. Bounced and complained addresses are suppressed automatically, and no tracking pixels or rewritten links are added to your mail (deliverability).
  • Every interface. REST with an OpenAPI spec, TypeScript and Python SDKs, a CLI, and a hosted MCP server at https://api.carlyemail.com/mcp with 33 tools (MCP guide). Guides cover LangChain, the OpenAI Agents SDK, the Claude Agent SDK, the Vercel AI SDK, Mastra and Cloudflare Agents. You keep your agent and your model key.

Sign-up is one API call, so an agent can do it itself. Paste this into any agent:

Read https://docs.carlyemail.com/llms.txt and set yourself up with an email address.

Until the owner confirms a 6-digit code, that account can only email its owner, which is what makes self-signup safe.

Pricing: Free is $0 for 3 inboxes and 1,000 emails a month (100 a day), with 1 custom domain and 2 webhooks. Startup is $20 a month for 25 inboxes and 10,000 emails with no daily cap. Business is $200 a month for 250 inboxes and 100,000 emails. Enterprise covers higher volume, a dedicated sending domain or custom terms. Every plan gets the whole API, and cancelling drops you to free without deleting anything.

Best for: AI agents with their own addresses, support desks, per-customer inboxes, and any app where a reply has to land somewhere useful. The quickstart gets a first inbox running in minutes, and email APIs for AI agents walks through six builds. Get started with CarlyEmail.


2. Resend

The developer favorite: a clean API, React Email for templates, and one of the more generous free tiers. Resend now receives mail on every plan through an email.received webhook, and has an Inboxes API in private beta.

Best for: developers who want the nicest API and docs for transactional sending.

Pricing: Free is 3,000 emails a month, capped at 100 a day. Pro is $20 for 50,000 and $35 for 100,000. Scale runs from $90 for 100,000 to $1,150 for 2.5 million, with a dedicated IP at $30 a month. Monthly billing only. Detail in Resend pricing.

Limitations: every received email counts against the daily and monthly quota like a send, so on Free an agent that receives 60 emails in a day can only send 40. Data is kept 30 days, and reading inbound needs a full-access key. See Resend alternatives.


3. Postmark

The deliverability pick, now owned by ActiveCampaign. Postmark splits transactional and broadcast mail into separate streams so a newsletter can’t drag down your password resets.

Best for: transactional mail where inbox placement matters more than price per message.

Pricing: Free is 100 emails a month and never expires. Basic is $15 for 10,000 ($1.80 per extra 1,000), $55 for 50,000 and $115 for 125,000. Pro starts at $16.50 and Platform at $18. Monthly only; dedicated IPs from $50 a month at 300,000 emails a month and up.

Limitations: inbound starts at Pro, and each processed inbound message counts as one email. It arrives as a JSON webhook, so storing and threading conversations is yours to build. The free tier is a test allowance.


4. Amazon SES

The cost floor. Since July 21, 2026, new accounts start on the Essentials plan at $0.16 per 1,000 emails with no base fee, and accounts can switch to à la carte pricing at $0.10 per 1,000 outbound.

Best for: high-volume senders already on AWS with engineers to run the plumbing.

Pricing: 100,000 emails a month is about $16 on Essentials. Pro is $105 a month plus $0.22 per 1,000. Dedicated IPs are $24.95 each per month. New AWS accounts get $100 in credits rather than a standing free tier. Detail in Amazon SES pricing.

Limitations: new accounts sit in a sandbox (200 emails a day, verified recipients only) until AWS grants production access. Inbound arrives as raw MIME in S3 or SNS, so parsing, threading, storage and bounce handling are yours.


5. Mailgun

Sinch’s sender, built for volume, with Routes that forward, store or parse inbound mail by rule.

Best for: teams sending hundreds of thousands to millions a month who want routing rules and add-on deliverability tools.

Pricing: Free is 100 emails a day. Basic is $15 for 10,000. Foundation is $35 for 50,000 or $75 for 100,000. Scale starts at $90 for 100,000 with a dedicated IP included. Overage runs $1.80 to $0.40 per 1,000 by tier and can’t be switched off. Detail in Mailgun pricing.

Limitations: without a card on file, Free sends only from a sandbox domain to 5 authorized recipients. Free and Basic are single-user with one day of logs. Stored inbound messages last 1 to 7 days by plan. See Mailgun alternatives and SendGrid vs Mailgun.


6. SendGrid

Twilio’s email API, still the name most tutorials reach for, but no longer free to stay on.

Best for: teams already on Twilio, or who want Marketing Campaigns in the same account.

Pricing: new accounts get a 60-day trial at 100 emails a day; the permanent free plans were retired in 2025. Essentials is $19.95 for 50,000 and $34.95 for 100,000. Pro, from $89.95 for 100,000, adds a dedicated IP, subusers and SSO. Detail in SendGrid pricing.

Limitations: Essentials keeps 3 days of email activity, Pro 7. Inbound Parse posts each message to your URL and keeps nothing. SendGrid sits at 1.2 out of 5 on Trustpilot, with 2026 reviews about weekend suspensions and unanswered tickets. See SendGrid alternatives.


7. Brevo

Formerly Sendinblue: a marketing platform with a transactional API on every plan, including a free one that sends 300 emails a day.

Best for: small teams that want transactional and marketing email in one account.

Pricing: Free is 300 emails a day with no card. Starter is from $9 a month for 5,000 emails, Standard from $18 and Professional from $499. Yearly billing saves 10%.

Limitations: pricing and product are built around campaigns and contacts, so a pure transactional sender pays for features it won’t use. Inbound is a parsing webhook rather than stored inboxes.


8. Mailtrap

Started as an email testing sandbox and now sells sending, inbound and an Agent Inbox product that groups replies into threads.

Best for: teams that want test environments and production sending from one vendor.

Pricing: Free is 4,000 emails a month (150 a day). Basic is $15 for 10,000, $20 for 50,000 or $30 for 100,000. Business, with a dedicated IP, runs $85 for 100,000 to $450 for 750,000.

Limitations: sending and receiving share one quota. On a Mailtrap-hosted agent inbox, replies are capped at 20 in total until you connect your own domain. Free keeps logs for 3 days.


9. AgentMail

A YC-backed inbox API for AI agents, the closest product to CarlyEmail on this list. AgentMail’s free tier sends more (3,000 emails a month to CarlyEmail’s 1,000), its $200 Startup plan includes 150,000 emails and a SOC 2 report, and yearly billing takes 20% off.

Best for: teams that want agent inboxes and need a SOC 2 report at the $200 tier.

Pricing: Free is 3 inboxes, 3,000 emails a month and 100 a day. Developer is $20 for 10 inboxes and 10,000 emails. Startup is $200 for 150 inboxes and 150,000 emails. Detail in AgentMail pricing.

Limitations: Free has no custom domain and adds a “Sent via AgentMail” footer. Developer caps sending at 1,000 a day and 100 per five minutes, with 2 team seats (CarlyEmail’s $20 plan: 25 inboxes, no daily cap, 10 seats). Inbound mail that fails SPF or DKIM is dropped, and AgentMail’s own help docs call that the most common reason inbound email goes missing. CarlyEmail’s API mirrors AgentMail’s paths and field names, so switching is close to a drop-in; see CarlyEmail vs AgentMail.


Four more free email APIs

Free tierPaid fromWorth knowing
Bird (formerly SparkPost)1,000/mo, 50/day$15/mo: 50K emails30-day retention; overage $0.90 per 1,000
MailerSend500/mo, card on file$7/mo Hobby: 5,000 emailsStarter $35 for 50K; Free keeps 1 day of activity
Plunk1,000/mo, no card, Plunk branding$0.001 per emailOpen source (AGPL), self-hostable
Loops4,000 sends per rolling 30 days, Loops footer$49/mo, priced by contactsMarketing-first; paid plans don’t cap sends

For a single vendor’s replacements, see SendGrid alternatives, Mailgun alternatives and Resend alternatives. For agent-inbox options specifically, see AgentMail alternatives.

FAQ

What is the best email API?

For apps whose mail comes back and needs an answer (AI agents, support, per-customer inboxes), CarlyEmail: real inboxes with threads, signed webhooks and in-thread replies. For one-way transactional sending, Resend leads on developer experience, Postmark on deliverability and Amazon SES on price per email.

What is the best free email API?

For sending only, Brevo allows 300 emails a day, Mailtrap 4,000 a month (150 a day) and Resend 3,000 a month (100 a day). For an app that also receives, CarlyEmail is free for 3 inboxes and 1,000 sent emails a month with a custom domain and no card, and received mail doesn’t count. SendGrid has no permanent free plan, only a 60-day trial.

What is a transactional email API?

An API for one-to-one mail your app sends in response to something a user did: receipts, password resets, verification codes, alerts. Resend, Postmark, Mailgun, SendGrid and Amazon SES are transactional APIs. Newsletters and campaigns belong to marketing tools like Brevo or Loops.

Which email APIs can receive email?

Most can, in some form. Resend, Postmark, Mailgun, SendGrid and Brevo post inbound mail to a webhook, and Amazon SES writes raw MIME to S3. Resend, Postmark and Mailtrap count each inbound email against your quota. CarlyEmail stores and threads received mail until you delete it and never counts it against your quota.

What is the cheapest email API for high volume?

Amazon SES: $0.16 per 1,000 emails on its default Essentials plan (about $16 for 100,000 a month), or $0.10 per 1,000 on à la carte pricing. Among flat plans, Mailtrap charges $30 and Bird $30 for 100,000 emails a month.

Can I use a transactional email API and CarlyEmail together?

Yes, and it’s a common split. Keep Resend, SES or another sender for bulk receipts, and give the addresses that need to talk back (a support inbox, an agent’s address, per-customer addresses) to CarlyEmail. Each runs on its own domain or subdomain.

Give your agent a real inbox

Your agent gets its own email address. People can email it, it answers in the same thread, and your personal inbox stays out of it. Start with 3 inboxes, no card needed.

Get started
See the prompt
Read https://docs.carlyemail.com/llms.txt and set yourself up with an email address.