# Retransmit: messaging api for developers

One API. Every message. Send transactional email and SMS from one API and one prepaid balance. WhatsApp is next.

Transactional email and SMS for developers: one API, one typed Node.js SDK, one prepaid balance. Batch sending, signed webhooks, WhatsApp next. Use the cloud or self-host the whole stack.

## Channels

Every channel shares the same key, SDK, webhooks, and balance. New ones arrive as an SDK update, not another account.

- Email: live. Transactional email with domain verification, batch sending, and full event history.
- SMS: live. Text messages routed per country to the cheapest provider, with delivery receipts.
- WhatsApp: coming soon. Template and session messages through the same API and balance.
- OTP: planned. One-time codes with generation, delivery, and verification handled for you.

## Email

One request, email delivered. Verify a domain, grab an API key, and send your first email in under five minutes.

- Every SDK call returns `{ data, error }`. No thrown surprises.
- Sends return a `202` in milliseconds and are delivered by a rate-aware worker.
- Zero-dependency SDK on npm as [retransmit.dev](https://www.npmjs.com/package/retransmit.dev), or plain REST from any language.

## Batch

Send one, or send ten thousand. One request queues up to 10,000 emails; poll the batch for per-status counts while the worker drains it at your provider's rate. Every message in the batch still gets its own id, log entry, and webhook events.

## SMS

Text the same way you email: same SDK, same response shape, same balance. The destination country is detected from the number and each message is routed to the cheapest configured provider. Set your own sender id, up to 11 characters. Delivery receipts come back as `sms.delivered` webhooks and in the message's event history.

## Webhooks

Email events (sent, delivered, delivery_delayed, opened, clicked, bounced, complained, rejected, failed) and SMS events (sent, delivered, undelivered, failed), signed with HMAC-SHA256 over `timestamp.body` and retried up to 8 times with exponential backoff.

## Deliverability

- Domain verification with SPF and DKIM; the dashboard gives you exact records to copy.
- Hard bounces and complaints are caught automatically to protect sender reputation.
- Every send is queued, rate aware, and retried with exponential backoff.
- Fetch any message by id and read its full event history.
- Scoped bearer API keys you create and revoke from the dashboard.

## Open source and self-hosting

The API, dashboard, queue, and SDK live in [one repository](https://github.com/jpainam/retransmit) under AGPL-3.0 (the SDK is MIT). Self-hosting is free forever with every feature, using your own provider credentials. Moving between cloud and self-hosted is a base URL change.

## Pricing

- Self-hosted: free forever, every feature, no license key, no phone-home.
- Cloud: prepaid credits, no subscriptions or seats. Fund the balance in your local currency, including bank transfer and mobile money.

## Get started

- [Quickstart](https://docs.retransmit.dev/quickstart)
- [Documentation](https://docs.retransmit.dev)
- [API reference](https://docs.retransmit.dev/api-reference)
- [Compare email APIs](https://retransmit.dev/compare)

---

Canonical: https://retransmit.dev

Agent resources: [llms.txt](https://retransmit.dev/llms.txt) | [sitemap](https://retransmit.dev/sitemap.xml) | [OpenAPI spec](https://retransmit.dev/openapi.json) | [docs](https://docs.retransmit.dev)