All posts

Resend vs SendGrid vs Postmark: pricing, free tiers and inbound email

Resend, SendGrid and Postmark compared on free tiers, paid plans, receiving mail and developer tools, with every number from the vendors' own pages.

Pick Resend if you want a modern send API with a free plan that never expires and inboxes on every plan. Pick SendGrid if you send at high volume and want dedicated IPs and subusers. Pick Postmark if you send mostly transactional mail and want long message history and full inbound JSON. All three receive mail as well as send it. The numbers below come from each vendor's own pricing and docs pages, as of 27 October 2026.

What do the free tiers give you?

They work differently, so compare how long they last as well as how much they send.

  • Resend has a free plan with no time limit: 3,000 emails a month, at most 100 a day, 3 domains, 3 inboxes and 30 days of data retention (Resend pricing). Resend doesn't offer a trial, only this free-forever plan.
  • SendGrid has a free trial: 100 emails a day for 60 days, with no credit card (SendGrid pricing).
  • Postmark has a free Developer plan with 100 emails a month and no overages. Postmark says it "never expires or runs out" (Postmark pricing).

If you want to build and keep a side project running for free, Resend's limits are the most generous. If you want to try sending at a steady daily rate, SendGrid's trial does that for two months.

How do the paid plans compare?

Entry plan Next plan Overage
Resend Pro, $20/mo, 50,000 emails Scale, $90/mo, 100,000 emails $0.90 per 1,000
SendGrid Essentials, from $19.95/mo Pro, from $89.95/mo Depends on volume
Postmark Basic, $15/mo, 10,000 emails Pro, $16.50/mo, 10,000 emails $1.80 (Basic), $1.30 (Pro), $1.20 (Platform) per 1,000

On Resend, overage needs pay-as-you-go turned on in team settings. Without it, you're notified and offered an upgrade (Resend pricing). SendGrid's price depends on which monthly volume you pick, from under 3,000 up to 5,000,000+, and Premier is custom (SendGrid pricing). Postmark's Platform plan is $18/mo for 10,000 emails, and above that Postmark asks you to talk to sales (Postmark pricing).

A few limits that matter once you're running in production:

  • Domains. Resend: 3 free, 10 on Pro, 1,000 on Scale. Postmark: 5 on Basic, 10 on Pro, unlimited on Platform.
  • History. Resend keeps data for 30 days. SendGrid's searchable email activity covers 3 days on the trial and Essentials, 7 days on Pro and Premier. Postmark keeps 45 days by default, and Pro and Platform can go up to 365.
  • Dedicated IPs. SendGrid includes one on Pro and Premier. Resend sells them as a $30/mo add-on on Scale for senders over 3,000 emails a day. Postmark lists them on Pro and Platform, not on Free or Basic.

Which ones receive email?

All three. How they hand the message to you differs, and that's what decides how much code you write.

Resend sends an email.received webhook to your endpoint. The webhook carries metadata only. In Resend's words, "Webhooks do not include the email body, headers, or attachments, only their metadata", so you fetch the content from the Received Emails API (Resend docs). The payload from their docs:

JSON
{
  "type": "email.received",
  "created_at": "2026-02-22T23:41:12.126Z",
  "data": {
    "email_id": "56761188-7520-42d8-8898-ff6fc54ce618",
    "from": "onboarding@resend.dev",
    "to": ["delivered@resend.dev"],
    "subject": "Sending this example",
    "attachments": [
      {
        "id": "2a0c9ce0-3112-4728-976e-47ddcd16a318",
        "filename": "avatar.png",
        "content_type": "image/png"
      }
    ]
  }
}

You can receive at your own domain with an MX record, or at a <id>.resend.app address (Resend docs). Each received email counts towards your transactional quota (Resend pricing).

Resend also has inboxes: threads, labels, folders and drafts on your verified domain, available through the dashboard, API, CLI and MCP server (Resend docs). Every plan includes 3. Extra inboxes are $1 a month on paid plans with pay-as-you-go, and mail sent or received through them uses your transactional quota (Resend pricing). Each inbox has a built-in agent that can draft replies, label, forward and archive. Resend says it "never sends email on its own" and saves replies as drafts for your team to review (Resend docs).

SendGrid uses Inbound Parse. You point your domain's MX record at mx.sendgrid.net, and SendGrid posts each message to your URL as multipart/form-data, or as raw MIME if you prefer. Keep messages, attachments included, under 30 MB (SendGrid docs). The pricing page shows Inbound Parse on every plan, including the trial.

Postmark gives you an inbound address at inbound.postmarkapp.com and posts each message to you as JSON with TextBody, HtmlBody, Attachments and StrippedTextReply, which holds just the reply when Postmark can separate it (Postmark docs). If your server doesn't answer with a 200, Postmark retries 10 times over about 10 hours. Inbound is on Free, Pro and Platform, but not Basic (Postmark pricing).

How do they compare for developers?

All three have a REST API, SMTP and official client libraries (Resend, SendGrid, Postmark). Beyond that:

  • Resend has a JSON API, React Email for templates, a CLI and a hosted MCP server at https://mcp.resend.com/mcp that covers sending, received mail and inboxes (Resend MCP docs). This send request is from their API reference:
Shell
curl -X POST 'https://api.resend.com/emails' \
     -H 'Authorization: Bearer re_xxxxxxxxx' \
     -H 'Content-Type: application/json' \
     -d $'{
  "from": "Acme <onboarding@resend.dev>",
  "to": ["delivered@resend.dev"],
  "subject": "hello world",
  "html": "<p>it works!</p>"
}'
  • SendGrid lists interactive API docs, a setup guide and subuser management (Pro and above), plus single sign-on on Pro and Premier.
  • Postmark has a sandbox mode, separate message streams for transactional and bulk mail, and the inbound JSON above. Postmark and SendGrid put the message body in the inbound webhook, while Resend needs a second request.

What if your agent needs to hold a conversation?

Resend, SendGrid and Postmark are built to send mail at volume, and each of them can receive. If what you're building is an AI agent that reads mail, replies in the thread and sometimes waits for a person to approve, ACK is built for that job alone. It isn't a bulk or marketing sender.

What's different:

  • One price. $19 per organisation a month with 10 inboxes, then $2 a month for each extra inbox. Every feature is on that plan (ACK pricing).
  • No overage. Each inbox sends 1,000 emails a month at full speed. Past that, sending slows until next month and nothing is added to your bill. Receiving carries on as normal.
  • The whole message in the webhook. A message.received delivery includes the sender, subject, text and HTML bodies, attachments and the thread, signed the Standard Webhooks way. How to receive email with webhooks shows how to check the signature.
  • Approval enforced by the key. Give the agent a key that can write drafts but can't send them. If it tries to send, the request fails with a 403. Approve your agent's email before it goes out has the exact key.
  • REST and MCP with the same key. https://api.ack.now/v0 and https://mcp.ack.now/mcp, with 39 tools (developers).

Creating an inbox is one request:

Shell
curl https://api.ack.now/v0/inboxes \
  -H "Authorization: Bearer $ACK_API_KEY" \
  --json '{"username": "support-agent"}'

# {"inbox_id": "support-agent@trial.ack.now", …}

You can use both: Resend, SendGrid or Postmark for receipts and password resets, and ACK for the inbox the agent answers from. How to give an AI agent its own email address walks through the setup.

FAQ

Is Resend cheaper than SendGrid?

At the entry level they're close: Resend Pro is $20 a month for 50,000 emails, and SendGrid Essentials starts at $19.95. SendGrid's price changes with the volume you choose, so compare at your own monthly number on both pricing pages.

What's the best Resend alternative for inbound email?

Postmark if you want the parsed message, including the stripped reply, in the webhook itself. SendGrid if you're already on it, since Inbound Parse is on every plan. ACK if the receiving side is an AI agent that needs threads, drafts and scoped keys.

Does Resend count received email against my quota?

Yes. Resend says each received email counts towards your transactional quota.

Can I try ACK before I pay?

Yes, for 14 days. A card is needed to start, and you aren't charged until the trial ends. Trial inboxes use a shared ACK address and can send 100 emails in total. Receiving is unlimited.

Start your 14-day trial and give your agent an inbox today.