Email all your users
with the same API
Contacts, segments, topics, and versioned templates. Send now or later, with an unsubscribe link on every message.
Free plan available. No credit card required.
Five steps from contact list to delivery events
Add contacts
Create contacts through the API and store custom properties on them.
Choose who receives it
Add contacts to a segment, and pick a topic to skip contacts who unsubscribed from it.
Publish a template version
Write the content once, with the unsubscribe link, and publish the version.
Send now or later
Create the broadcast and send it now, or schedule it for later.
Follow delivery
Read the broadcast status, list its recipients, and receive email events on your webhooks.
A broadcast email API in a few calls
Add a contact, target a segment and a topic, and schedule the send with the TypeScript SDK.
import { Nuntly } from '@nuntly/sdk';const nuntly = new Nuntly({ apiKey: process.env.NUNTLY_API_KEY });// Add a user to your contacts and to a segmentconst segmentId = 'seg_01kabp7r2mfq8w3n5tdx6hyc4e';const contact = await nuntly.contacts.create({ email: 'ada@example.com' });await nuntly.contacts.segments.addContactSegmentMembership(contact.id, segmentId);// Send the published template to the segment, skipping topic opt-outsconst broadcast = await nuntly.broadcasts.create({from: 'updates@yourapp.com',templateId: 'tpl_01kabn9v5kd2g7hq0rz3wme8tb',segmentId,topicId: 'tpc_01kabpa1xc6t9ys4nfj2qd7mkv',});// Schedule it one hour from nowawait nuntly.broadcasts.send.send(broadcast.id, {scheduledAt: new Date(Date.now() + 60 * 60 * 1000).toISOString(),});
From contacts to delivery events
Contacts, segments, topics, templates, and broadcasts are REST resources.
Contacts and properties
Store the email addresses of your users with custom properties such as a plan or a signup source. Create, update, and delete them through the API.
Segments
Named lists of contacts that you maintain yourself. Target a broadcast to one segment, or leave it out to reach every contact.
Topics
Every contact is subscribed to every topic by default. Record that a contact left one topic, such as product updates, and the contact keeps receiving the others.
Versioned templates
A template holds versions of your content. Publish a version to make it the active one. A broadcast freezes its version once it is queued.
Personalization
Use contact properties, which change per recipient, and declared variables, which take one value per broadcast. A missing variable value blocks the send.
Send now or later
Send a broadcast immediately, or schedule it between 5 minutes and 30 days ahead. Edit a scheduled broadcast or return it to draft until it fires.
One-click unsubscribe
Every message carries an unsubscribe link and the RFC 8058 one-click unsubscribe headers. The link stops every later broadcast to that address. Broadcasts also skip addresses on your suppression list.
Recipients and events
List the recipients of a broadcast with the outcome of each send. Delivery, bounce, and complaint events carry the broadcastId on your existing webhooks.
Frequently asked questions
Common questions about this topic.
Explore more
Ship emails,
Not infrastructure
Trusted by Echo Analytics, DiliTrust, Ogury, and 100+ developer teams.
Free plan available. No credit card required.