Skip to main content
Batch sending allows you to send multiple emails at once (up to 100) instead of making individual API requests for each email.

When to use batch sending

Use batch sending when you need to:
  • Send multiple transactional emails (e.g., order confirmations, notifications, etc.)
  • Trigger emails to different recipients with unique content
  • Reduce the number of API calls to improve performance
For marketing campaigns, use our no-code editor, Broadcasts, instead.

Send batch emails

You can send up to 100 emails in a single API call using the batch endpoint. Each email in the batch can have different recipients, subjects, and content.
import { Resend } from 'resend';

const resend = new Resend('re_xxxxxxxxx');

const { data, error } = await resend.batch.send([
  {
    from: 'Acme <[email protected]>',
    to: ['[email protected]'],
    subject: 'Welcome to Acme',
    html: '<p>Thanks for signing up!</p>',
  },
  {
    from: 'Acme <[email protected]>',
    to: ['[email protected]'],
    subject: 'Order Confirmation',
    html: '<p>Your order has been confirmed.</p>',
  },
]);

console.log(data);

Response format

The batch endpoint returns an array of email IDs for successfully created emails.
{
  "data": [
    {
      "id": "ae2014de-c168-4c61-8267-70d2662a1ce1"
    },
    {
      "id": "faccb7a5-8a28-4e9a-ac64-8da1cc3bc1cb"
    }
  ]
}
If the request fails, the response will include an error object with a message property. You can find more information about the error in the Errors section of the API Reference.

Limitations

When using batch sending, keep in mind:
  • Maximum of 100 emails per batch request
  • The attachments field is not supported yet
  • The scheduled_at field is not supported yet
  • Each email in the batch is processed independently
  • The request will fail and return an error if any email in your payload is invalid (e.g., required fields are missing, fields contain invalid data, etc.).

View batch emails

All emails sent via the batch endpoint appear in the Emails page of your dashboard, just like individually sent emails. Each email will have a queued status initially before being processed.

API Reference

For complete API documentation, see the Send Batch Emails API reference.