The email API for developers, with observability built in.

Send transactional and marketing email from one platform. Typed SDKs, event-driven automations, and a live per-message timeline — so you never have to guess what happened after you hit send.

No credit card required · Free tier · SDKs for Node, Python & PHP

One SDK. Every language your team already uses.

Typed clients for Node, Python and PHP — plus a clean REST API with guides for the rest of your stack.

send-welcome-email.ts
import { Postly } from 'postly';

const postly = new Postly({ apiKey: process.env.POSTLY_API_KEY });

await postly.emails.send({
  from: 'onboarding@yourapp.com',
  to: 'ada@example.com',
  subject: 'Welcome to Postly',
  react: <WelcomeEmail name="Ada" />,
});
Node.jsPythonPHPRubyGoJava.NETRust
3
Official SDKs
24+
Integration guides
10
API resources
100%
OpenAPI-typed

Everything you need to send — nothing you don't.

Transactional and marketing email in one platform, with the primitives developers actually reach for.

SDKs for every stack

First-class SDKs for Node, Python and PHP — typed, with automatic retries and idempotency. Plus a clean REST API for everything else.

Templates & AI builder

Versioned templates with variables, referenced by a readable key. Design emails in minutes with the AI builder and live preview.

Event-driven automations

Build flows as a graph of steps — delays, conditions, waits and sends. Trigger them per contact by emitting an event.

Broadcasts

One-shot campaigns to a whole audience or a rule-based segment, sent now or scheduled for later.

Signed webhooks

Receive HMAC-signed delivery events. Inspect every attempt and replay a delivery after fixing your endpoint.

Deliverability

SPF/DKIM/DMARC guidance, per-recipient suppression of bounces and complaints, and automatic list hygiene.

Observability

See the full life of every email.

Most email APIs send and forget. Postly gives you a live, per-message timeline — queued, processing, delivered, opened, bounced — with signed webhooks and replayable deliveries, so you never have to guess.

Explore observability
em_01J8Z…A2FDelivered
  1. Queued12:00:00.120
  2. Processing12:00:00.480
  3. Delivered12:00:02.010
  4. Opened12:03:41.900
Automations

Build flows your team can actually read.

Event-driven automations as a graph of steps — trigger, condition, wait, action — running per contact the moment your app emits an event.

automation.flow
TriggerContact subscribes
ConditionTag = "vip"?
ActionSend welcome email

A graph, not a black box

Steps, delays, conditions and waits laid out visually — build a flow in minutes, edit it without fear of breaking it.

Triggered per contact

Emit any event from your app — signup, purchase, tag added — and the matching contacts enter the flow instantly.

Real delays, real waits

Wait a fixed time, wait for an event, or branch on a condition — the flow runs exactly on your schedule.

Every run, inspectable

See the full history of every automation run — which step it reached, when, and why it branched the way it did.

Templates & AI builder

Design in minutes, not sprints.

Versioned templates with variables, referenced by a readable key — no more hunting for the right template ID. Describe what you want and the AI builder drafts it, with a live preview as you tweak it.

Explore templates
welcome-email.tsx
Generated with AI
Broadcasts

One campaign, the right audience, every time.

Send a one-shot campaign to a whole audience or a rule-based segment — right now or scheduled for later. The same suppression and deliverability guardrails apply automatically, no extra setup.

Explore broadcasts
summer-sale.broadcast
Sent
0Recipients
0%Open rate
Webhooks

Every delivery event, signed and replayable.

HMAC-signed webhooks for every state change — queued, delivered, opened, bounced. Verify the signature, trust the payload.

POST /webhooks/postly
{
  "id": "evt_01J8Z3F9K2QANRC4A2F",
  "type": "email.delivered",
  "created_at": "2026-08-19T12:00:02.010Z",
  "data": {
    "message_id": "em_01J8Z3F9K2QANRC4A2F",
    "to": "ada@example.com",
    "subject": "Welcome to Postly"
  }
}
Signature verified
Built for production

The boring guarantees you actually need.

Security, deliverability and correctness aren't add-ons — they're how Postly is built.

Domain authentication

SPF, DKIM and DMARC guidance so your mail reaches the inbox, not the spam folder.

Idempotent by default

Every write is safe to retry — the SDKs attach an idempotency key automatically.

Signed, replayable webhooks

HMAC-signed delivery events; inspect every attempt and replay one after a fix.

Per-recipient suppression

Bounces and complaints are suppressed automatically — you never send to dead addresses.

Multi-tenant isolation

Every query is organization-scoped. Your data never crosses tenants.

OpenAPI-first

The SDKs are generated from the same contract — always in sync with the API.

Postly

Ship your first email in minutes.

Create an account, grab an API key, and send with the SDK you already know.

No credit card required · Free tier · SDKs for Node, Python & PHP

Postly — Fast & Modern Email