← Blog·Aug 31, 2026productbroadcasts
Broadcasts are live
Newsletters and campaigns to your audiences — with a test send that puts the real message in your own inbox before anyone else sees it.

Broadcasts are out of beta and available to every paying account today. Build an audience, compose in the editor or bring your own HTML, and send one message to the whole list.
The API has been there for a while. What took the time was everything around it — and one of those things is worth leading with, because it's the part we think is missing from most email tools.
Send it to yourself first. Really send it.
Every broadcast has a test send:
await client.broadcasts.test(broadcastId, { to: ['you@yourdomain.com'] })
That is not a preview pane. It is the real message, rendered by the same code that renders the campaign, injected through the same MTA, arriving in a real inbox — so what you're looking at is what your subscribers will get, including how your CSS survives Gmail and whether your unsubscribe footer sits where you think it does.
It works on every plan, including Free, and it leaves the broadcast a draft. Send as many as you like.
The reason it exists is that the alternative is what everyone actually does: press Send on ten thousand people to find out how it renders. We'd rather you find the broken image on the first copy than the ten-thousandth.
Two rules:
- Recipients must be on a domain you've verified. A test send delivers real mail without a plan gate, so it's restricted to inboxes you already control. Anything else returns
DOMAIN_NOT_VERIFIED. Otherwise it would just be free unmetered sending to strangers, and the shared IPs everyone here sends from would pay for it. - The subject is prefixed with
[Test], and contact variables like{{first_name}}render with sample values instead of collapsing to an empty string — so a greeting that will look wrong in production looks wrong in the test too.
Sending to an audience needs a paid plan
We want to be straight about this.
It isn't really a pricing decision. The Free tier's sending ceiling is 100 recipients a day and doesn't ramp, while its contact cap is 1,000. A free account mailing its own list would take ten days, pausing every one of them, with all of it leaving from the IP we reserve for unproven traffic. That isn't a smaller version of broadcasts. It's a broken one, and shipping it would have been a worse answer than saying no.
Requiring a plan also puts a card behind every list send. For a platform where one bad actor's campaign degrades deliverability for everyone on the shared IP, that's a stronger signal than anything we can infer from a domain's age.
So on Free you get audiences, contacts, the editor, and unlimited test sends — everything needed to evaluate the thing properly. Fan-out to an audience starts at €9/month.
Your plan's contact cap is now a number you can actually reach
A limit you can't use is not a limit. Your daily sending ceiling is now never lower than your plan's contact cap, so whatever list size your plan sells you can be mailed in a single day — which is what a newsletter is.
New accounts still warm up over their first week. That ramp is the one thing paying more doesn't skip, because IP reputation isn't for sale.
The first big send gets looked at
If you're new here and your first campaign is large, the first 500 recipients go out immediately and the rest wait for a human to look. We commit to 24 hours, and it's usually a lot less.
We know a review is friction. It exists because the alternative is worse for you: on shared infrastructure, one purchased list landing in spam traps moves inbox placement for every other sender on the IP. Capping rather than blocking means legitimate mail starts flowing straight away, and the outcomes from those first 500 tell us more than staring at the list would.
It's once per account, not a recurring toll.
Unsubscribes are handled properly
Every broadcast carries a visible unsubscribe footer and RFC 8058 List-Unsubscribe headers — the one-click button Gmail and Yahoo now require from bulk senders, DKIM-signed so it's actually honoured. Opt-outs are excluded from every future broadcast automatically, and they never touch your transactional mail.
Everywhere you already work
Broadcasts are in the dashboard, the REST API, all three SDKs, and the MCP server:
curl -X POST https://api.eusend.dev/broadcasts/$ID/test \
-H "Authorization: Bearer eu_live_..." \
-H "Content-Type: application/json" \
-d '{"to": ["you@yourdomain.com"]}'
If you drive eusend from Claude, Cursor, or another MCP client, test_broadcast is there too — and it's the one an assistant should reach for first, since it can't reach a real list by mistake.
The full reference is in the Broadcasts docs.
Broadcasts are the first properly marketing-shaped thing eusend does, and they're new. If something renders oddly, or a limit gets in your way for a reason we haven't thought of, tell us at support@eusend.dev — that feedback is worth more to us right now than almost anything else.