๐Ÿš€ Reliable delivery ยท Real-time tracking ยท One API call

Email delivery
that just works.

Drop-in transactional email API for your apps. Send password resets, notifications, and alerts with a single API call. Track everything.

send-email.js
// Send an email in 3 lines
const res = await fetch('https://api.spellsend.xyz/api/v1/emails/send', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer ss_live_xxxxx',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    from:    'Acme <noreply@acme.com>',
    to:      'user@example.com',
    subject: 'Welcome!',
    html:    '<h1>Hello {{name}}</h1>'
  })
});
// โ†’ { id: "em_abc123", status: "queued" }

Everything you need

A complete email infrastructure for all your apps, in one place.

โšก

Simple REST API

Send transactional emails with a single POST request. Familiar REST patterns, clear error messages, comprehensive docs.

๐Ÿ“Š

Real-Time Analytics

Track opens, clicks, bounces, and complaints in real-time. See exactly what's happening with every email you send.

๐Ÿ›ก

Domain Verification

Automated DKIM, SPF, and DMARC setup. Maximize deliverability with proper authentication on every domain.

โœ‰

Template Engine

Create reusable HTML templates with Handlebars variables. Manage versions, preview renders, and share across apps.

๐Ÿ”—

Webhooks

Get notified instantly when emails are delivered, opened, bounced, or marked as spam. HMAC-signed payloads.

๐Ÿ—

Multi-App Ready

One account, multiple API keys. Tag emails by app, filter analytics, and manage all your services from one dashboard.

Get in touch

Interested in SpellSend for your project? Drop us a message.

Dead simple integration

Works with any language. If you can make an HTTP request, you can send emails.

POST /api/v1/emails/send
Send a single email with inline HTML or a template reference. Returns immediately with a tracking ID.
GET /api/v1/emails/:id
Check delivery status, open/click counts, and full event timeline for any email.
POST /api/v1/emails/batch
Send up to 100 emails in a single request. Each gets its own tracking ID and event timeline.