One API, every channel
Send through email, SMS, push, and WhatsApp with a single, consistent interface. Every channel implements the same contract, so your code never changes when you add one.
More than a send API
Delivery, reliability, insight, and security — the parts that matter once you're sending real volume.
A closer look
How the standout capabilities actually work under the hood.
Provider routing & failover
Email sends through Amazon SES by default. Add one or more SMTP servers, order them, and the resolver tries them in turn — falling through only on connection/auth failures, never on a bad mailbox. Choose per account whether un-pinned sends go SES→SMTP, SMTP→SES, or one only. Pin a specific domain to a provider, or override a single send.
Open & click analytics
A tracking pixel and link rewriting are injected automatically at send. The Analytics page breaks opens and clicks down by device, mail client, and country/city — with a clear note that Apple Mail Privacy Protection inflates open counts industry-wide.
Email validation
Syntax, MX-record, and disposable-domain checks with cached results. Validate a single address or a whole import in one call, or flip on “validate before send” to reject undeliverable recipients up front and protect your sender reputation.
Security & isolation
Restrict each API key to specific IPs or CIDR ranges. Organization accounts keep every tenant’s data isolated, with provider credentials and SMTP passwords encrypted at rest — bring your own SES, Twilio, FCM/APNs, and SMTP.
Queued & reliable
Every send is queued with automatic retries and backoff, so transient failures recover on their own. Provider webhooks update delivery status live — sent, delivered, bounced.
Dashboard & SDK
Manage keys, domains, templates, contacts, and email providers from the dashboard — or integrate with the .NET SDK (net8.0 and netstandard2.0). Templates support {{variables}} with a live preview.
See it in your stack
Spin up a free account and send your first notification in minutes.