$5 free credits to get started

Email infrastructure that doesn't fight you

API-first drip sequences, campaigns, and contact management. One system across all your sites. Pay per email, not per subscriber. Bring your own SendGrid key. No broken SDKs. No surprises.

curl -X POST https://pushmail.dev/api/v1/contacts \
  -H "Authorization: Bearer pm_live_..." \
  -d '{
    "siteId": 1,
    "email": "user@example.com",
    "firstName": "Jane",
    "tags": ["signup", "trial"]
  }'

Sound familiar?

Every ESP has the same problems

“4 years of good standing, thousands/year in spend — account suddenly suspended with no communication.”

SendGrid user, Hacker News

“It literally takes more code to use the helpers than it does to construct the request payloads manually.”

SendGrid SDK, GitHub issue #335

“Free plan cut from 10,000 emails down to 1,000 sends/month. 5,000 contacts now costs $100/month.”

Mailchimp, post-Intuit acquisition

“The most deeply nested API shape of any provider. Setup is more complex than any other, and error messages are cryptic.”

Amazon SES

Built different

We fixed every one of them

Your keys, your reputation

BYOK mode lets you use your own SendGrid key, so your sending reputation is yours alone. No shared infrastructure surprises.

No SDK required

Plain REST + JSON. Works from any language, any runtime. No broken TypeScript types, no React dependency, no bloated helpers.

Edge-native

Built on Cloudflare Workers. Works from Vercel Edge, Deno Deploy, or any runtime. No “Node.js only” SDK to work around.

Pay per send

No subscriber fees. Dead contacts cost nothing. Volume pricing drops to fractions of a cent. No cliff where 250k emails suddenly costs 3x.

One platform

Sequences, campaigns, and transactional email in one system, one API, one bill. No choosing between Postmark and Mailchimp.

Flat, predictable API

POST /contacts, POST /sequences/:id/enroll. No personalizations array, no PascalCase, no o:tag field naming.

Multi-site

One account, unlimited sites. Manage email for all your projects from a single dashboard and API key. Migrate incrementally.

Minutes to first email

Five steps: signup, API key, site, contact, enroll. No sandbox mode to escape, no IAM policies to configure, no DNS to wait on.

Free email validation

Every email is validated before sending — syntax, MX records, disposable domains, and a global bounce list. Bad addresses never hit your sender reputation. No extra charge.

Auto-SSL click & open tracking

Custom domain click and open tracking with automatic SSL. No CDN setup, no support tickets, no broken links. Just add a CNAME and toggle it on.

AI-native

15 MCP tools for Claude, GPT, and Cursor. Manage your email infrastructure with natural language. No other ESP offers this.

The industry vs. PushMail

Side by side

ProblemEveryone elsePushMail
Sending reputationShared infrastructure means others' behavior affects your deliverabilityBYOK mode — your own SendGrid key, your own reputation.
SDK qualityBroken TypeScript, React dependencies, no Edge supportNo SDK needed. Plain fetch/curl from any language or runtime.
PricingPer-subscriber billing, tier cliffs, charges for dead contactsPer-send pricing. $0.003 down to $0.0005 at volume.
Transactional + marketingTwo providers or two bills. Postmark bans marketing email.One platform. Sequences, campaigns, and transactional.
Edge RuntimeSendGrid, Mailgun, Postmark SDKs don't work on WorkersBuilt on Cloudflare Workers. Edge-native by default.
API designpersonalizations arrays, PascalCase, o:tag, nested shapesFlat REST. Predictable endpoints. JSON in, JSON out.
Email validationPaid add-on. SendGrid charges per validation, only on Pro+.Free. Every email validated at send time. No extra cost.
Click & open trackingSet up a CDN, configure SSL, contact support to activateAdd one CNAME, toggle on. Auto-SSL on your custom domain.
OnboardingAWS SES takes days. SendGrid docs are broken.First email in minutes. Five-step quickstart.

A pattern

Every ESP gets acquired. Then it gets worse.

SendGrid was acquired by Twilio. Mailchimp by Intuit. Mailgun by Sinch. Postmark by ActiveCampaign. In every case, support collapsed, pricing increased, and development slowed. PushMail is independent and built on Cloudflare infrastructure with no single-vendor dependency.

SendGrid

Twilio, 2019

Support collapsed, app performance degraded

Mailchimp

Intuit, 2021

Free plan gutted, prices increased dramatically

Mailgun

Sinch, 2021

Deliverability and support inconsistencies

Postmark

ActiveCampaign, 2022

Development velocity stalled, stale releases

Pricing

Stop paying for contacts that can't receive email

Most ESPs charge per subscriber — including unsubscribed, bounced, and inactive contacts. PushMail charges per email sent. Dead contacts cost you nothing.

$0.003

per email at base volume

Scales down to $0.0005 at high volume

$0

for inactive contacts

Mailchimp charges for unsubscribed contacts

15% off

with branding footer

Add “Sent with PushMail” and save on every email

Compare: SendGrid jumps from $89/mo to $249/mo at 250k emails. Mailchimp charges $100/mo for 5,000 contacts. Drip starts at $39/mo for just 2,500 contacts. Postmark has no free tier at all.

Zero-config tracking

Custom domain click & open tracking with automatic SSL

Every other ESP makes you set up a CDN, configure SSL certificates, and contact support to get branded click tracking working. PushMail provisions SSL automatically. Add a CNAME, flip a toggle, done.

1

Add a CNAME

Point your tracking subdomain to links.pushmail.dev. We provision the SSL certificate automatically.

2

Toggle tracking on

Enable click tracking, open tracking, or both independently per domain from the dashboard.

3

Track on your domain

Links are rewritten to your branded subdomain. Opens are tracked with a pixel. All data flows into your analytics dashboard.

With SendGrid, Mailgun, or SES: you need to set up Cloudflare, Fastly, or a custom NGINX proxy, configure SSL certificates, and then contact support to activate tracking. With PushMail, it's a CNAME and a toggle.

First email in minutes

Signup, create an API key, add a site, create a contact, enroll in a sequence. That's it. No sandbox to escape, no IAM to configure, no DNS to wait on.