ChangelogSee what shipped recently

One API for every message your product needs to send.

MessagePipe orchestrates email, SMS, chat, and push across the providers you already use, SendGrid, Twilio, FCM, and more, with priority failover, unified templates, and per-channel analytics. Send campaigns and newsletters too, with consent and unsubscribes built in.

No credit card required 1,000 free emails / mo Credentials encrypted at rest
send.ts
202 · queued
import { MessagePipe } from '@messagepipe/sdk';

const mp = new MessagePipe({ apiKey: process.env.MP_KEY ?? '' });

// One SDK, one pattern for every channel.
const msg = await mp.email.send({
  body: {
    to:       'maya@example.com',
    template: 'order-confirmation',
    data:     { order_id, total },
  },
});
Example delivery route
delivered
SendGrid primary
rate limited
failed
Mailgun fallback
accepted · 142ms
delivered
Amazon SES standby
not attempted
Failover 192ms · 1 retry · 1 successIllustrative
4
Channels in one API
14
Provider adapters
Months
Run in production on our own traffic
OpenAPI 3.1
Spec for your own clients

The wedge

Your providers.
Our orchestration.

MessagePipe sends through the provider accounts you already have, and routes each message through the best healthy one, moving to the next when an attempt fails.

YOUR APPapi.send(...)MESSAGEPIPEOrchestratorTemplates · RoutingFailover · AnalyticsEMAILSMSCHATPUSHEMAIL PROVIDERS· SendGrid· Mailgun· Amazon SES· Custom SMTPSMS PROVIDERS· Twilio· Termii· Infobip· Amazon SNSCHAT PROVIDERS· WhatsApp· Telegram· SignalPUSH PROVIDERS· APNs (iOS)· FCM (Android)· OneSignal

Bring your own credentials

Connect the SendGrid, Twilio, FCM, or SES accounts you already pay for. Your sender reputation stays yours; your contracts stay intact.

Automatic priority failover

Rank your providers per channel. When an attempt fails with a rate limit, a 5xx or a timeout, the next one is tried. Idempotency keys prevent duplicates.

One templating system

Handlebars variables across every channel, with versioned templates and live previews.

Channels

Every channel your product needs.

Same API shape, same templating, same analytics, across four channels and fourteen providers. Add a new channel without rewriting your code.

Email

4 providers supported
  • Handlebars templates, or passthrough HTML
  • Per-message sender, Reply-To and custom headers
  • Attachments
  • Delivery events through webhooks
Providers
SendGridMailgunAmazon SESCustom SMTP

SMS

5 providers supported
  • Managed sender: no provider account needed
  • Templates or an inline body
  • Scheduled sends
  • Delivery events through webhooks
Providers
TwilioTermiiInfobipAmazon SNSMessagePipe managed

Chat

3 providers supported
  • WhatsApp Cloud API, Telegram and Signal on one channel
  • Templates or free-form text
  • Scheduled sends
  • Delivery events for WhatsApp
Providers
WhatsApp BusinessTelegramSignal

Push

3 providers supported
  • Device registration API
  • Send to a device token or to a user's devices
  • Templates or an inline title and body
  • Delivery events through webhooks
Providers
APNs (iOS)FCM (Android)OneSignal

Campaigns & newsletters

Email your audience.
Consent included.

Send a newsletter or a one-off campaign to the people subscribed to a topic, through the same providers, failover and delivery events as the rest of your email. Unsubscribes, suppressions and the sender checks are handled for you.

Spring newsletter
Newsletter · Weekly digest · everyone subscribed
Sending
62% processedPause · Stop
  • Sender domain verified
  • Content checks passed
  • Test email sent
  • Credits available
Delivered
On its way
Skipped
Unsubscribed or suppressed
Unsubscribed
One click
Illustration of the campaign screen.

Send to people who said yes

Pick a brand and a topic. Only people subscribed to that topic are in the audience, and consent is recorded per person and topic with when and how it was given.

Segments that only narrow

Filter by attributes, tags, topic subscription, consent basis or signup date, or keep a fixed list. A segment can never add someone who has not subscribed.

Write it your way

Markdown, HTML or MJML, in your brand's layout, with merge variables and fallbacks. Preview as a real contact, run the pre-flight checks and send a test before it goes out.

Unsubscribe is built in

Every message carries your postal address and a one-click unsubscribe. Unsubscribed and suppressed addresses are skipped at send time. Subscribers get a hosted preference page in English or French.

Send now or schedule

Set the pace in messages per minute and pause, resume or stop a send while it runs. If credits run out it pauses instead of failing, and picks up where it stopped.

See what happened

Delivered, bounced, spam reports, unsubscribes and skipped recipients for every campaign, next to the delivery logs for each message.

Campaigns and newsletters are email only. MessagePipe provides the tooling; you remain responsible for having permission to email your list.

For developers

Built like an API
you'd actually want to use.

REST first, with idempotency keys on every send endpoint and SDKs that feel native to your language. Every channel follows the same pattern: pick a channel, name a template or send inline, ship.

Idempotency keys
Safe retries. Same key, same result.
Outbound webhooks
Stream delivery events to your stack.
Encrypted secrets
Provider credentials and signing keys, envelope-encrypted.
Typed SDKs
TypeScript and PHP, built from the OpenAPI spec.
OpenAPI 3.1 spec
Generate your own client. Or use ours.
Sandbox keys
mp_test_ keys for development traffic.
send.ts
import { MessagePipe } from '@messagepipe/sdk';

const mp = new MessagePipe({ apiKey: process.env.MP_KEY ?? '' });

await mp.email.send({
  idempotencyKey: `order-${orderId}`,
  body: {
    to: 'maya@example.com',
    template: 'order-confirmation',
    data: { order_id: '8c4e2a1', total: '142.00' },
  },
});
202 · message queuedmsg_…

Pricing

Pricing that scales like your product does.

Per-channel credits, monthly tiers, and top-ups for spiky months. Pay only for what you send. Upgrade or downgrade any time. Campaigns and newsletters use the same email credits, one per message sent; recipients who are skipped cost nothing.

Free
$0forever

For solo developers shipping their first product.

  • 1,000 emails · 100 SMS · 100 chat per month
  • 10,000 push per month
  • All four channels
  • Public API and SDKs
Start free
Pro
$49/ month

For teams shipping real volume across channels.

  • 50,000 emails included
  • 5,000 SMS · 5,000 chat included
  • 500,000 push included
  • Top-ups and auto-recharge
Choose Pro
Scale
$299/ month

For growing platforms with higher volume.

  • 500,000 emails included
  • 50,000 SMS · 50,000 chat included
  • 5,000,000 push included
  • Top-ups and auto-recharge
Choose Scale
Enterprise
Customannual

For platforms that need a custom contract.

  • 5,000,000 emails included
  • 500,000 SMS · 500,000 chat included
  • 50,000,000 push included
  • Talk to us about terms
Contact sales

Need volume pricing or a custom contract? Talk to sales →

FAQ

Questions we get asked a lot.

Do I have to bring my own provider credentials?

For email, chat and push, yes: you connect your own SendGrid, Mailgun, SES, SMTP, WhatsApp, FCM or APNs accounts, so your sender reputation and contracts stay with you. SMS can also go through MessagePipe's managed sender with no setup. For development, mp_test_ API keys send sandbox traffic that never reaches real recipients.

What happens when a provider goes down?

Connect more than one provider per channel and set their priority. MessagePipe tries the best healthy one first and moves to the next when an attempt fails with a retryable error: a rate limit, a 5xx or a timeout. Terminal errors such as an invalid recipient stop immediately. Idempotency keys keep a retried request from sending twice.

How are my provider credentials stored?

Credentials and signing keys are encrypted at rest using envelope encryption with a managed key service. The Security page has the details, and you can email security@messagepipe.dev to ask about compliance documentation.

Can I use my own HTML for emails?

Yes. Email templates take your HTML with Handlebars variables, and passthrough templates let you send HTML you build elsewhere. Templates are versioned, so you can change one without breaking sends that pin an earlier version.

How does usage-based pricing work?

Each plan includes a monthly credit allowance per channel, and a send costs one credit when it is accepted. Running out of email credits does not stop SMS. You can buy top-ups, which do not expire, or turn on auto-recharge per channel. A send that would overdraw a balance is rejected with 402 and nothing is dispatched.

Can I send newsletters and marketing campaigns?

Yes, for email. A campaign or newsletter goes to the people subscribed to a topic on one of your brands, optionally narrowed by a segment. Unsubscribed and suppressed addresses are skipped automatically, every message carries a one-click unsubscribe, and you can send now, schedule, pause or stop while it runs. Campaigns use the same providers, failover and email credits as the rest of your email.

Does MessagePipe keep campaigns compliant?

It builds in the mechanics: your postal address and a one-click unsubscribe on every message, consent recorded per person and topic with its source and date, suppressions honoured, and a hosted preference page in English or French. You are still responsible for having permission to email your list, and none of this is legal advice.

Do you handle inbound messages or two-way conversations?

No. MessagePipe sends outbound messages only. Delivery results (sent, delivered, bounced, complaint, failed) come back to you as signed webhook events.

Still curious? Read the technical docs →

Send your first message today.

Sign up, generate an API key, send a test message, all from the dashboard, no sales contact required. Free tier includes every channel.

No credit card · 1,000 free emails / month · Cancel any time