One request in.
One email delivered.

A transactional email API for password resets, receipts and notifications. Send with one call, see what happened to every message, pay $0.001 per email.

POST/v1/send
200 OK
To
ana@acme.com
From
Acme <hello@acme.com>
Subject
Reset your password

Reset your password

To ana@acme.com

  1. Sent09:41:02
  2. Delivered09:41:03
  3. Opened09:42:18

What you get

Template

Order confirmation

Name
Ana
Order
#3980
Total
€48.00

Templates outside your code

Design the email in the dashboard, send it by ID, and pass the data that fills it. Copy changes ship without a deploy.

Idempotency key

receipt-order-3980

  • First attemptSent
  • Retry after timeoutNot sent again

Safe to retry

Send an idempotency key and a retried request returns the first result instead of emailing your customer twice.

ana@acme.com

Welcome to Acme

Deliverednow

tom@northwind.io

Welcome to Acme

Clicked1m

tom@northwind.io

Welcome to Acme

Opened2m

Every event, as it happens

Deliveries, opens, clicks, bounces and complaints show up in the dashboard and on your webhooks.

Also included

  • Attachments

    Up to 10 files and 10 MB per email, inline images included.

  • Multiple recipients

    One address, a name and address, or a list.

  • Custom headers

    Your own headers pass straight through.

  • Reply-to and sender name

    Set per email, from any verified domain.

  • SMTP as well

    Frameworks that already speak SMTP work unchanged.

  • Contacts on send

    Every recipient becomes a contact with a full history.

Send your first email

Pass a template ID and the data that fills it, or a subject and HTML body. That is the whole request.

Node.js
const response = await fetch('https://next-api.useplunk.com/v1/send', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    Authorization: `Bearer ${process.env.PLUNK_API_KEY}`,
  },
  body: JSON.stringify({
    to: 'ana@acme.com',
    template: 'ORDER_CONFIRMATION_TEMPLATE_ID',
    data: {name: 'Ana', order: '#3980', total: '€48.00'},
  }),
});

Plunk or Amazon SES directly

Plunk sends through SES. These are the parts you would otherwise build yourself.

FeaturePlunkAmazon SES
Price$0.001 per email$0.10 per 1,000 emails
Templates with variablesVia API only
Per-email delivery log
Bounce and complaint handlingAutomaticBuild it yourself
Contacts and historyBasic contact lists
Campaigns and workflows

Frequently asked questions

Send your first transactional email.

Start on the free plan with 1,000 emails a month, no credit card needed. When you need more, every email is $0.001, with unlimited contacts and every feature included.