# subscriber.dev > Open source lifecycle email for developers and AI agents. An alternative to Customer.io, Loops and Brevo with no dashboard: workflows, broadcasts and subscribers are managed over MCP, a REST API, a CLI and a TUI. Email sends through the user's own provider: Resend, Postmark, Amazon SES and Cloudflare Email are built in, with bounces and spam complaints handled; any other provider connects over SMTP. ## Connect - MCP server (streamable HTTP): https://mcp.subscriber.dev - Claude Code: `claude mcp add --transport http subscriber https://mcp.subscriber.dev` - The first connection opens a browser to sign in. Signing in creates the account. - CLI: `npx @subscriber.dev/cli login` prints a code and opens the browser to approve it. Run `subscriber` with no arguments for the TUI. - REST API: https://api.subscriber.dev, authenticated with an API key in the `x-api-key` header. Each key belongs to one environment; create one with MCP `create_api_key` or `subscriber keys create `. Keys are limited by default (trigger workflows, create or update subscribers); pass access "full" for everything else. The key decides the environment, so paths don't include one (e.g. POST /workflows/trigger); GET /keys/me shows which environment a key belongs to. ## Typical setup 1. Sign in over MCP or with the CLI. 2. Connect an email provider: resend, postmark, ses, cloudflare or smtp (MCP `set_integration`, CLI `subscriber integrations set resend`). 3. Create a workflow: an ordered list of email or webhook steps, each with a delay. Email bodies are HTML with Liquid, e.g. {{ subscriber.firstName }}. Optional `triggers` start it from integration events (e.g. Stripe trial_started) and `exitConditions` stop a person's run on others (e.g. Stripe trial_converted). 4. Trigger it from the app after an event such as signup: ``` POST https://api.subscriber.dev/workflows/trigger x-api-key: content-type: application/json { "key": "welcome", "subscriber": { "email": "jane@acme.com" }, "payload": { "plan": "pro" } } ``` Workflow routes such as PATCH /workflows/{workflowId} take the workflow's public ID (12 lowercase letters and digits), not its key. ## What it does - Workflows: event-driven email sequences with delays, triggers and exit conditions. - Broadcasts: one-off sends to all opted-in subscribers or a tag, with an audience preview, sending spread over hours, and pause, resume and cancel. - Subscribers: create, update, tag, bulk upsert (500 per request) and preferences. - Integrations: Stripe events (trial_started, trial_ending, trial_converted, trial_payment_failed, trial_expired, subscription_started, subscription_canceled, payment_failed) as triggers and exit conditions. - Deliverability: Every email gets one-click unsubscribe headers, which Gmail and Yahoo require of bulk senders, plus an unsubscribe link. Unsubscribed people are never sent to, hard bounces unsubscribe automatically, and every preference change is kept. Mail goes out through your own provider and domain, so SPF, DKIM and your reputation stay yours. - Run history: every run and step, with the reason a step was skipped or cancelled. ## Pricing Priced by opted-in subscribers. The free plan includes 10,000 sends a month (each email or webhook step run, including broadcasts); paid plans don't limit sends. Emails go out through the user's own provider, which bills for sending. Annual billing is 2 months free. - free: 1,000 subscribers, 10,000 sends a month, $0 - starter: 5,000 subscribers, $19/month - growth: 10,000 subscribers, $39/month - scale: 25,000 subscribers, $79/month - pro: 50,000 subscribers, $159/month - business: 100,000 subscribers, $279/month - custom: over 100,000, contact hello@subscriber.dev Yes. It's open source under AGPL-3.0 and runs with Docker Compose. Self-hosting is free and unlimited. A $999/yr self-hosted Business license removes our branding and includes priority support, and Enterprise licenses cover AGPL exemptions. ## Email providers The user pays their provider directly; subscriber.dev adds no markup. Prices checked October 2026. - Amazon SES (US, EU, Asia, built in): $0.10 per 1k - Scaleway (EU, SMTP): €0.25 per 1k - Cloudflare Email (global, built in): $0.35 per 1k after 3k - Resend (US, EU, more, built in): $20 for 50k - SendGrid (US, EU, SMTP): $19.95 for 50k - Mailgun (US, EU, SMTP): $15 for 10k, $35 for 50k - Postmark (US, built in): $15 for 10k, +$1.80 per 1k ## Moving from another tool Import subscribers through the bulk API or subscriber subscribers bulk, 500 at a time, or hand your agent an export and let it do the import. Describe your existing sequences and it can rebuild them as workflows. ## Pages - [Home](https://subscriber.dev/): what subscriber.dev does, with examples over MCP, the API, the CLI and the TUI, plus pricing and FAQ. - [Email providers and costs](https://subscriber.dev/providers): supported providers, their prices and regions, and what a typical month costs. - [subscriber.dev vs Customer.io](https://subscriber.dev/vs/customer-io): Customer.io is a full marketing platform with a visual journey builder and every channel. subscriber.dev does lifecycle email from your agent and terminal, for a fraction of the price. - [subscriber.dev vs Loops](https://subscriber.dev/vs/loops): Loops is a polished email platform for SaaS, sending on its own infrastructure. subscriber.dev sends through your provider, is open source, and costs less than half as much. - [subscriber.dev vs Brevo](https://subscriber.dev/vs/brevo): Brevo is an all-in-one marketing suite priced by how much you send. subscriber.dev is lifecycle email for developers and agents, priced by subscribers with no limit on sends. - [Docs](https://docs.subscriber.dev): guides and API reference. - [Source](https://github.com/kanbn/subscriber.dev): AGPL-3.0. - [Full site as text](https://subscriber.dev/llms-full.txt): every page above in one file. ## Optional - [Terms of service](https://subscriber.dev/terms) - [Privacy policy](https://subscriber.dev/privacy) - Contact: hello@subscriber.dev