πŸ€– Teach your AI coding agent how to send email with Postmark Skills
x
Bulk Email API for developers | Send at scale | Postmark | Postmark
✨ New feature

Send bulk email the smarter way

One API call, thousands of recipients. Define your message once, personalize with variables, and let Postmark handle delivery, throttling, and tracking.

No credit card required. Contact support to enable the Bulk API in your account.

Bulk sending that scales with you

Sending the same email to a lot of people used to mean hammering the /email endpoint over and over (or stuffing duplicate content into every message in a /batch call). Either way, you end up with bloated payloads, slower uploads, and code you'd rather not maintain.

With the Bulk API, you define your message content once and pass a list of recipients. Postmark compiles the individual messages on our end. One request, thousands of emails, dramatically less data over the wire.

The result? Dramatically smaller payloads, faster uploads, and cleaner code.

Without Bulk API

Sending to 10,000 recipients

Using the /email/batch endpoint

Sending progress 0 / 10,000
0
API calls required
0 MB
Total payload
You manage rate limiting, chunking into 500-recipient batches, and retry logic
With Bulk API

Sending to 10,000 recipients

Using the /email/bulk endpoint

Sending progress 0 / 10,000
0
API call required
0 KB
Total payload
Postmark handles rate limiting and delivery optimization automatically

Why developers choose the Bulk API

Postmark API Icon

Smaller payloads, faster sends

Define your message once and add your recipient list with personalization variables. Your API calls get smaller, your uploads get faster, and your code stays clean.

Max payload: 50 MB
Postmark Speed Icon

Built-in send speed optimization

Inbox providers can get picky when you send too much email too fast. Postmark automatically throttles your sends at the optimal rate, so your messages land in the inbox.

No rate limiting to build
Postmark Templates Icon

Personalize with template variables

Make each email feel personal with recipient-specific content. Use {{FirstName}} or any custom variables to customize subject lines, greetings, or any part of your message.

Works with hosted templates
Postmark Status Page Icon

Track progress in real time

Monitor your bulk sends as they happen. See the percentage of how many messages have been sent with a simple API request.

Poll /email/bulk/{id}

Send to thousands with a single API call

Submit one request with your message content and a list of recipients. Postmark handles the heavy lifting from there.

1

Define your message once

Set your subject, HTML body, text body, and attachments at the request level. This content stays the same across all recipients.

2

Add recipients with personalization

Include an array of recipients, each with their own template variables for customization. You can include Cc and Bcc recipients, as well as attachments.

3

Let Postmark optimize delivery

We compile individual messages on our end and send them at the optimal rate for deliverability. You get status updates along the way.

# Send bulk email with a single API call
curl "https://api.postmarkapp.com/email/bulk" \
  -X POST \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-Postmark-Server-Token: server token" \
  -d '{
  "From": "updates@yourapp.com",
  "Subject": "New feature: {{FeatureName}}",
  "HtmlBody": "<html><body>Hi {{FirstName}},
    check out our new feature!</body></html>",
  "MessageStream": "broadcast",
  "Messages": [
    {
      "To": "user1@example.com",
      "TemplateModel": {
        "FirstName": "Alex",
        "FeatureName": "Dark Mode"
      }
    },
    {
      "To": "user2@example.com",
      "TemplateModel": {
        "FirstName": "Jordan",
        "FeatureName": "Dark Mode"
      }
    }
  ]
}'
β€œ
Been a Postmark customer for a very long time. Stability and deliverability is so good I sometimes go months without thinking about it. It just works.

Built for bulk messages that matter

All bulk email sends through our dedicated Broadcast infrastructure. Separate IPs, separate reputation from your transactional messages. No extra cost, no mixing traffic, and better deliverability for both.

Product updates and announcements

Let your users know about new features, improvements, or changes to your platform. Personalize each message so it feels relevant to every recipient.

Newsletters and digests

Send weekly updates, content roundups, or curated recommendations to your subscriber base, all through a single API call.

Policy and terms of service updates

When you need to reach everyone at once, the Bulk API makes it easy to send important compliance communications reliably.

Platform notifications

For platforms that send on behalf of others, bulk sending simplifies high-volume notification workflows without sacrificing deliverability.

Bulk API vs. Batch API: which one's right for you?

Both let you send multiple messages in one request. The difference is what you're sending.

Feature Bulk API Batch API
Best for βœ“ Same message to many recipients Different messages to different recipients
Message content βœ“ Define once, personalize with variables Define separately for each recipient
Attachments βœ“ Defined once, sent to all Must include with each message
Payload size βœ“ Significantly smaller Larger (content duplicated per recipient)
Max payload βœ“ 50 MB (including attachments) 500 messages per request
Send speed optimization βœ“ Automatic throttling You manage rate limiting

Frequently asked questions

The Bulk API is available on all Postmark plans. To enable it for your account, reach out to our support team at support@postmarkapp.com. We'll usually have you up and running within a few hours.

You can include as many recipients as you need, as long as your total payload (including attachments) stays under 50 MB.

Not yet. Right now, the Bulk API works with Broadcast Streams only. If you have a use case for transactional bulk sending, we'd love to hear about it. Let us know β†’

Nope. Postmark automatically optimizes your sending speed to help ensure deliverability. You submit your messages, and we handle the pacing.

The Batch API is designed for sending different messages to different recipients in a single request. The Bulk API is designed for sending the same message to many recipients with personalization. The Bulk API results in much smaller payloads because you only define your content once.

No additional fees. Every message sent through the Bulk API counts toward your monthly email limit, just like any other message.

Use the /email/bulk/{bulk-request-id} endpoint to check progress. You'll see the total message count, percentage completed, and current status (Accepted, Processing, or Completed).

Send better bulk email with Postmark

Join thousands of businesses that trust Postmark to deliver their most important messages.

No credit card required. Contact support to enable the Bulk API in your account.

Still have questions?

  • Ignacio Roig Ignacio

Ask us anything! We’re eager to help you with any problem or question you have…

Contact us