By Nora Vance · Updated October 7, 2026

Postmark vs SendGrid: price, history and webhook trust

Postmark is the dearer service on a per-email basis and the one that remembers your messages longest. At 50,000 emails a month, Postmark Basic is $55 against $19.95 for SendGrid Essentials, a difference of $35.05 a month. In exchange, Postmark keeps 45 days of activity and message content on every plan, where SendGrid searches 3 days on Essentials and 7 on Pro. The services also disagree about webhooks: Postmark does not sign them and tells you to use basic auth and an IP allowlist, while SendGrid offers an ECDSA signature or OAuth 2.0. And the dedicated IP rules are far apart, which decides the choice for some senders. This page puts the numbers, limits and migration steps next to each other.

Postmark pricing page, captured Oct 2026
Postmark pricing page as of October 7, 2026. Source: Postmark.

Plans as listed on October 7, 2026

Postmark sells three paid tiers with the same starting volume of 10,000 emails and different feature sets: Basic at $15, Pro at $16.50 and Platform at $18, with extra emails priced at $1.80, $1.30 and $1.20 per thousand. The free Developer plan is 100 emails a month with no overage allowed, and it never expires, according to the page. SendGrid sells a 60-day trial with 100 emails a day, then Essentials from $19.95 and Pro from $89.95.

ItemPostmarkSendGrid
Entry paid planBasic, $15 for 10,000Essentials, $19.95 for 50,000
Custom sending domains5 Basic, 10 Pro, unlimited PlatformNo limit listed on the pricing page
Activity and message history45 days on every plan3 days Essentials, 7 days Pro
Longer historyUp to 365 days on Pro and Platform, from $5 a monthUp to 30 days, as a purchasable add-on
Inbound emailListed on Pro and PlatformInbound Parse webhook
Dedicated IPFrom $50 a month per IP, for 300,000 or more emails a month, Pro or higherOne included on Pro (from $89.95)

Cost at 10,000, 50,000, 100,000 and 250,000 emails

Monthly volumePostmark BasicPostmark ProSendGrid
10,000$15$16.50$19.95 floor; no step below 50,000
50,000$55$60.50$19.95 (Essentials)
100,000 to 125,000$115 at 125,000$126.50 at 125,000$34.95 (Essentials) or $89.95 (Pro) at 100,000
250,000No stop; slider goes 125,000 to 300,000No stopNo stop; $249 at 300,000 (Pro)

Postmark's volume slider only has stops at 10,000, 50,000, 125,000, 300,000 and above, so the 100,000 row uses the nearest stop. The arithmetic: SendGrid Essentials saves 55 - 19.95 = $35.05 a month at 50,000 emails, or $420.60 a year. At the 100,000 to 125,000 range SendGrid Pro at $89.95 is $25.05 under Postmark Basic's $115, even though Postmark's figure covers 25,000 more emails.

Overage is the trap on Postmark. Basic's $1.80 per thousand extra, applied to 40,000 emails above the included 10,000, would make 15 + 40 x 1.80 = $87 for a 50,000-email month. The slider's 50,000 stop is $55, so pick the volume tier up front instead of letting overage accumulate.

What 45 days of history changes

A support ticket that opens after a week is common: a customer says they never got a receipt, or a trial-expiry notice. On Postmark, any plan lets you open the message and read its delivery record 45 days after the send, and Pro and Platform can extend that to 365 days with the retention add-on. On SendGrid Essentials the activity feed covers 3 days and Pro covers 7, with an add-on that reaches 30. If your support team asks "did this email go out" more than a week after the event, SendGrid's default window leaves them with no answer unless you bought the add-on.

This is the single biggest quality-of-life difference for a small team, and it costs nothing extra on Postmark's Basic plan. The reverse holds for volume pricing: SendGrid's cost curve is gentler.

Webhooks: no signature versus ECDSA

Postmark's webhooks overview covers delivery, bounce, open, click, spam complaint and subscription change events. When you create or edit a webhook, Postmark tests every enabled event type and expects a 200 response; if an event type later keeps failing, Postmark pauses delivery of that type until you fix the endpoint and run the check again. For trust, the page offers two controls, an IP allowlist and HTTP basic authentication, with credentials embedded in the URL in the form https://username:password@host/path. The documentation's own sample handler carries a comment that Postmark does not sign webhooks.

SendGrid takes the opposite approach. Its Event Webhook posts an ECDSA signature in the X-Twilio-Email-Event-Webhook-Signature header, with the timestamp in a second header, and an OAuth 2.0 client-credentials option exists as well. Its security guide describes both. The Postmark way is simpler to build and the SendGrid way is stronger when your endpoint's URL might leak, because a leaked basic-auth URL grants anyone the ability to post fake events. Event endpoint counts also differ: SendGrid caps them at 1, 2 and 5 across the trial, Essentials and Pro.

The sending call

From Postmark's email API reference:

curl "https://api.postmarkapp.com/email" \
  -X POST \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-Postmark-Server-Token: server token" \
  -d '{
  "From": "sender@example.com",
  "To": "receiver@example.com",
  "Subject": "Password Reset",
  "TextBody": "Click here to reset your password.",
  "HtmlBody": "<html><body>Click here to <a href="#">reset</a> your password.</body></html>",
  "MessageStream": "outbound"
}'

The server token goes in a header, the body is flat JSON with capitalized field names, and MessageStream defaults to the "outbound" transactional stream if you leave it out. A single request allows up to 50 recipients across To, Cc and Bcc, and the batch endpoint accepts up to 500 messages and 50 MB per call. SendGrid's v3 endpoint takes up to 1,000 entries in its personalizations array and a 20MB message. The From address on Postmark must belong to a confirmed sender signature, so verify that before you cut over.

Dedicated IPs decide some choices

Postmark's managed dedicated IPs start at $50 a month per IP, but the page restricts them to customers sending 300,000 emails a month or more, and only on Pro or higher. A sender at 100,000 emails who wants their own reputation cannot buy one from Postmark, but SendGrid's Pro plan includes one IP at $89.95 for the 100,000 bucket. Above 300,000 the question reverses, since Postmark's $50 add-on compares well with the Pro price.

Which one fits

Postmark fits product email such as receipts, invitations and password resets, where a support person needs to find a message weeks later, you like keeping each kind of mail in its own message stream, and 50,000 emails at $55 is acceptable. SendGrid fits a team that sends 50,000 to 100,000 emails with a lean budget, needs a dedicated IP below 300,000, wants signed events, or also wants to run marketing campaigns, where SendGrid has a separate free plan of up to 2,000 contacts and 6,000 emails a month.

Switching from SendGrid to Postmark, and back

  1. Create a Postmark server, copy its server token, and confirm a sender signature or domain for each From address.
  2. Translate the JSON: personalizations become comma-separated To addresses (50 per message) or the batch endpoint, categories become the single Tag, and custom_args become Metadata.
  3. Set TrackOpens and TrackLinks explicitly on each message, so tracking behaviour does not depend on settings inherited from the old account.
  4. Replace your ECDSA check with basic auth on the webhook URL and an allowlist of Postmark's webhook IPs, then handle Delivery and Bounce first.
  5. Export SendGrid's bounce and unsubscribe lists and suppress them in Postmark before the first send.

Going back, create a SendGrid API key, authenticate the domain, enable the Signed Event Webhook and convert Tag to categories and Metadata to custom_args. Plan for the 45-day history to shrink to 3 or 7.

Related pages

Postmark's plan table is on the Postmark pricing page, and its trade-offs against others are in Postmark vs Mailgun and Resend vs Postmark. For leaving SendGrid altogether, read SendGrid alternatives and Postmark alternatives.

FAQ

Does Postmark sign its webhooks?

No. Postmark's documentation says to protect the endpoint with HTTP basic authentication and an IP allowlist, and to validate the payload's shape before acting on it. SendGrid can sign events with ECDSA.

Why does Postmark cost more at 50,000 emails?

Basic is $55 at 50,000 against SendGrid Essentials at $19.95. The Postmark price includes 45 days of history and a stream model; SendGrid's lower floor comes with 3 days of searchable activity and one teammate.

Can I get a dedicated IP on Postmark at 100,000 emails?

Not under the stated terms. Dedicated IPs there are for customers sending 300,000 or more emails a month on Pro or higher, from $50 a month per IP.

Is there a free plan on either?

Postmark has a Developer plan at 100 emails a month. SendGrid's Email API has a 60-day trial at 100 emails a day; its free tier belongs to Marketing Campaigns.