Send email from your code with one request

POST your email as JSON to https://api.iresendly.com/emails from your server. Batch, schedule and retry safely without sending anything twice.

What you can do

Everything in sending api

  • Everything a send needs

    Set to, cc and bcc (up to 50 addresses each), reply-to, HTML up to 2 MB or plain text, and custom headers.

  • Batches of 100

    POST /emails/batch sends up to 100 emails in one request. Choose whether one invalid email fails the batch or is returned as an error.

  • Attachments

    Up to 50 files and 40 MB per email, as base64 or a public URL we download. Inline images work with content_id.

  • Schedule up to 30 days ahead

    Set scheduled_at to a time or to something like “in 2 hours”. Reschedule or cancel it, and a cancelled email goes back to your quota.

  • Safe retries

    Send an Idempotency-Key header and, for 24 hours, repeating the request returns the first response instead of sending again.

  • Tags

    Add up to 10 tags to each email to find it later. They come back in every webhook event for that email.

API

One REST API for every email you send

Send one email or a batch of 100, schedule it, retry it safely, and read what went wrong in plain words. Pick a call to see the exact request and response.

API reference

One call with from, to, subject and html. Tags label it for your own reports.

Sample ids, addresses and timings. Field names, headers and errors are the API's own.

  • Rate limit on Pro
    10req/s

    Free 2, Scale 25. Each response carries ratelimit headers.

  • In one batch request
    100emails

    Strict by default, or permissive to send the valid ones.

  • Idempotency window
    24hours

    A retry with the same key never sends twice.

  • Schedule ahead
    30days

    ISO 8601 or plain words, then move or cancel it.

Everything in the API
Emails
  • GET/emails
  • GET/emails/:id
  • POST/emails/:id/cancel
Domains
  • POST/domains
  • POST/domains/:id/verify
  • PATCH/domains/:id
API keys
  • POST/api-keys
  • GET/api-keys
  • DELETE/api-keys/:id
Contacts & segments
  • POST/contacts
  • POST/segments
  • POST/contacts/:id/segments/:segmentId
Broadcasts
  • POST/broadcasts
  • POST/broadcasts/:id/send
Templates
  • POST/templates
  • POST/templates/:id/publish
Webhooks
  • POST/webhooks
  • PATCH/webhooks/:id
Every request
Base
api.iresendly.com
Auth
Bearer irs_…
Paging
limit, after, before
How it works

From first step to done

  1. 1Verify a domainAdd the domain you send from and publish its three DNS records.
  2. 2Create an API keyStore it in your server's environment. It's shown once.
  3. 3Call POST /emailsSend JSON over HTTPS from any language, or any email SDK that lets you set its base URL. Calls from browsers are blocked.
  4. 4Follow what happenedWatch each email under Emails in the console, or get its events with a webhook.
Good to know
Emails per batch
100
Recipients per field
50
Attachments
50 files · 40 MB
Schedule ahead
30 days
Requests a second
Free 2 · Pro 10 · Scale 25
Emails a month
Free 3,000 · Pro 50,000 · Scale 100,000
Developer API

Ship email today

Start free with 3,000 emails a month. Upgrade only when you need more.

Compare plans
  • 3,000 emails a month free
  • No credit card needed
  • Upgrade anytime
Get started in 3 steps
  1. 1Create your free accountGet an API key in seconds.
  2. 2Verify a sending domainAdd the DNS records we show you.
  3. 3Send with one requestcURL, Node.js, Python: plain HTTP.