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.
- To
- ana@acme.com
- From
- Acme <hello@acme.com>
- Subject
- Reset your password
Reset your password
To ana@acme.com
- Sent09:41:02
- Delivered09:41:03
- 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
tom@northwind.io
Welcome to Acme
tom@northwind.io
Welcome to Acme
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.
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.
| Feature | Plunk | Amazon SES |
|---|---|---|
| Price | $0.001 per email | $0.10 per 1,000 emails |
| Templates with variables | Via API only | |
| Per-email delivery log | ||
| Bounce and complaint handling | Automatic | Build it yourself |
| Contacts and history | Basic 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.