# Broadcast > Self-hosted email marketing software. Buy a one-time license, install it on your own Ubuntu server, and own your subscriber data, sending infrastructure, and deliverability outright. Broadcast is a complete email marketing platform you run yourself. It handles marketing campaigns (broadcasts), automated drip sequences, transactional email, subscriber management and segmentation, opt-in forms with double opt-in, and a full REST API. It is commercial software, not open source, and it is not a hosted service: you install it, and your data never leaves your server. ## How it is sold and supported - **One-time license**, not a subscription. Two tiers: Regular License (one server) and Extended License (more servers). - Every license includes **unlimited subscribers, every feature, and all 2.x updates**. - **Current release series: 2.x.** See the changelog for the current version and what shipped in it. - Optional paid extras: installation assistance and email deliverability consulting. ## What it runs on - **Ubuntu 24.04 LTS** (server edition). Minimum 2 GB RAM / 1 CPU core / 40 GB disk; 4 GB / 2 cores / 60 GB recommended. - **PostgreSQL** is the only data store. There is **no Redis dependency** — background jobs, caching, and websockets all run on PostgreSQL via Solid Queue, Solid Cache, and Solid Cable. - Ships as a Docker image. The automatic installer provisions and manages the whole stack; a manual Docker install is also supported. - Broadcast does not send mail itself. It connects to an email provider: **Postmark, Amazon SES, SendGrid, and Mailgun** have guided setup wizards; **Resend, SMTP.com, Inboxroad, and any custom SMTP server** are configured manually. ## What it does - **Broadcasts** — compose, schedule, and send campaigns, with per-recipient delivery tracking, opens, clicks, bounces, and spam complaints. - **Sequences** — multi-step drip automations with delays and conditions, triggered by tags or segments. - **Subscribers and segments** — CSV/TSV import with column mapping, custom data fields, tag and domain search, and segment rules over engagement, custom data, and relative dates. - **Opt-in forms** — a block-based editor, embeddable inline or as a widget, with double opt-in, customizable confirmation pages, and post-confirmation redirects. - **Transactional email** — a separate API for one-off application email, with idempotency support. - **Templates** — rich-text, raw HTML, or block editors, with Liquid personalization, tagging, and cross-channel copying. - **Deliverability tooling** — SPF/DKIM/DMARC monitoring with drift alerts, suppression lists, link tracking, and unsubscribe handling. - **Operations** — backups to local disk and to S3-compatible object storage, an application log viewer, error logs, and a background jobs dashboard. - **AI features** — Ask AI, an assistant that answers questions about your channel data and can take confirmed actions; and Autopilot, which drafts newsletters from RSS, GitHub, and web sources. Both are bring-your-own-API-key. - **Agent and API access** — a REST API with token scopes and rate limiting, plus a CLI and an MCP server for coding agents. ## Documentation ### Getting Started - [Documentation](https://sendbroadcast.net/docs): Broadcast documentation: install, configure, and run self-hosted email marketing software for newsletters, sequences, transactional email, and integrations. - [Getting a license](https://sendbroadcast.net/docs/license): Purchase, activate, and manage your Broadcast license: one-time fee covering unlimited subscribers and lists, server registration, upgrades, and license keys. - [System requirements](https://sendbroadcast.net/docs/system-requirements): System requirements for self-hosting Broadcast: Ubuntu 24.04 LTS, recommended CPU, RAM and disk space, the PostgreSQL database, and the level of system administration involved. - [Automatic Installation](https://sendbroadcast.net/docs/automatic-installation): Install Broadcast on your Ubuntu server with the one-command automatic installer: provisions Docker, PostgreSQL, and TLS in under ten minutes. - [Manual Installation](https://sendbroadcast.net/docs/manual-installation): Install Broadcast manually on your Ubuntu server with the official Docker image: set env variables, PostgreSQL, and a reverse proxy step by step. - [Upgrading to Broadcast 2.0](https://sendbroadcast.net/docs/upgrading-to-2): Everything you need to know about upgrading your Broadcast installation from version 1.x to version 2.0, including breaking changes, new features, and what to test. - [Setup](https://sendbroadcast.net/docs/setup): Set up and configure Broadcast for the first time: admin account, channels, sending domain, email provider, DNS records, tracking, and unsubscribe pages. - [Terminology](https://sendbroadcast.net/docs/terminology): Glossary of Broadcast terminology: subscribers, lists, segments, broadcasts, sequences, channels, opt-in forms, suppression lists, and deliverability terms. - [Channels](https://sendbroadcast.net/docs/channels): Understand how to create and manage channels in Broadcast to organize your subscribers and content effectively. ### Subscribers - [Managing Subscribers](https://sendbroadcast.net/docs/managing-subscribers): Learn how to effectively add, organize, delete, and engage with your subscribers using Broadcast's comprehensive subscriber management features, including GDPR-compliant deletion and bulk operations. - [Segments](https://sendbroadcast.net/docs/segments): Build dynamic subscriber groups in Broadcast with the visual rule builder, combine rules with AND and OR logic, and target broadcasts and sequences at them. - [Opt-In Forms](https://sendbroadcast.net/docs/opt-in-forms): Build embeddable signup forms with Broadcast's drag-and-drop form builder, embed them with a script tag or a direct link, and protect them from spam with honeypot, rate limiting, and Turnstile. - [Confirmation Pages](https://sendbroadcast.net/docs/confirmation-pages): Customize the page subscribers see after clicking a double opt-in confirmation link, including per-state copy, redirect URLs, and language settings. - [Suppression Lists](https://sendbroadcast.net/docs/suppression-lists): Learn how to manage email suppression lists in Broadcast to prevent emails from being sent to specific addresses. ### AI Assistant - [Ask AI](https://sendbroadcast.net/docs/ask-ai): Use the Ask AI assistant to query your channel data in plain language and take actions like creating, scheduling, and sending broadcasts, with confirmation required before any change. ### Broadcasts - [Broadcast Emails](https://sendbroadcast.net/docs/broadcast-emails): Product documentation: how to create, schedule, and analyze broadcast emails in Broadcast, the self-hosted email marketing app. - [Email Templates](https://sendbroadcast.net/docs/templates): Learn how to create and manage reusable email templates for your broadcasts, sequences, transactional emails, and double opt-in confirmation emails. - [File Assets](https://sendbroadcast.net/docs/file-assets): Upload and manage the images you use in Broadcast emails, insert them from the composer, and share their permanent public URLs. - [Link Tracking](https://sendbroadcast.net/docs/link-tracking): Learn how to track and analyze link clicks in your broadcast emails with detailed analytics including geographic data and click patterns. - [Email Metrics](https://sendbroadcast.net/docs/email-metrics): Learn how to track email metrics in Broadcast, such as opens, clicks, and bounce rates. - [Transactional Emails](https://sendbroadcast.net/docs/transactional-emails): Learn how to set up and manage transactional emails in Broadcast for sending password resets, order confirmations, and other service-related messages. ### Sequences - [Email Sequences](https://sendbroadcast.net/docs/email-sequences): Learn how to create and manage email sequences to automate your email marketing efforts with Broadcast. - [Autopilot - AI Newsletter Generation](https://sendbroadcast.net/docs/autopilot): Learn how to use Autopilot to automatically generate newsletter content from your favorite sources using AI. ### Email Servers - [ESP Integrations](https://sendbroadcast.net/docs/esp-integrations): Overview of email service provider integrations in Broadcast, including webhook setup and feature comparison. - [Sender Identities](https://sendbroadcast.net/docs/sender-identities): Send from multiple From addresses on one channel, with per-server verification tracking. - [AWS SES Integration](https://sendbroadcast.net/docs/esp-integrations/aws-ses): Complete guide to integrating AWS Simple Email Service (SES) with Broadcast for email sending and tracking. - [Email Server Rate Limits](https://sendbroadcast.net/docs/email-server-rate-limits): Understand the per-hour sending rate limit on an email server and how to manually reset the rate-limit window so sending can resume. - [Postmark Integration](https://sendbroadcast.net/docs/esp-integrations/postmark): Complete guide to integrating Postmark with Broadcast for reliable email delivery and tracking. - [Domain Names](https://sendbroadcast.net/docs/domain-names): Configure and manage sending domain names in Broadcast: set up SPF, DKIM, DMARC, tracking subdomains, and link branding for reliable inbox placement. - [Domain DNS Health](https://sendbroadcast.net/docs/dns-health): Automatically monitor SPF, DKIM, and DMARC DNS records for sending domains, get alerted to changes, and reset baselines to protect email deliverability. - [Unsubscribe Settings](https://sendbroadcast.net/docs/unsubscribe-settings): Learn how to configure unsubscribe links, email footers, and compliance settings for your outbound emails in Broadcast. ### Webhooks - [Webhooks](https://sendbroadcast.net/docs/webhooks): Learn how to use webhooks in Broadcast to receive real-time notifications about email events, subscriber activities, and broadcast campaign status changes. ### Agents - [Agents](https://sendbroadcast.net/docs/agents): Connect AI agents like Claude Code and ChatGPT to your Broadcast instance for automated email marketing management. - [Agents CLI](https://sendbroadcast.net/docs/agents-cli): Install the Broadcast CLI to manage subscribers, broadcasts, sequences, and templates from the terminal, or to wire your AI agents into email marketing. - [MCP Server](https://sendbroadcast.net/docs/agents-mcp): Set up the Broadcast MCP Server for Claude Code, Cursor, and other MCP clients: connect your AI agent to subscribers, broadcasts, sequences, and live metrics. - [Agent Setup Links](https://sendbroadcast.net/docs/agents-setup-links): Generate time-limited setup links to securely onboard AI agents to your Broadcast instance. ### Operations - [Users & Permissions](https://sendbroadcast.net/docs/users-and-permissions): Add team members and control what each of them can see and do, per broadcast channel, using roles, presets, and per-permission grants. - [Backup & Recovery](https://sendbroadcast.net/docs/backup): Learn how to safely backup and restore your Broadcast installation data to protect against data loss. - [Storage](https://sendbroadcast.net/docs/storage): Move Broadcast's uploaded files from local disk to S3-compatible object storage, and migrate existing files safely with the built-in migrate, verify, and cleanup steps. - [Monitoring and Logs](https://sendbroadcast.net/docs/monitoring-and-logs): Watch your Broadcast installation from the inside: stream application logs, review error logs, download a log capture for support, and manage background jobs. - [Upgrading](https://sendbroadcast.net/docs/upgrading): Follow this guide to safely upgrade your Broadcast installation to the latest version and take advantage of new features and improvements. - [Channel Maintenance](https://sendbroadcast.net/docs/channel-maintenance): Repair imported data that Broadcast cannot use (dates in the wrong format, stray spaces, and addresses that stop lookups matching) with a scan you review before anything is written. - [Customizing Docker Services](https://sendbroadcast.net/docs/customizing-docker-services): Customize Broadcast's Docker services safely with docker-compose.override.yml: change port bindings, environment variables, and resource limits without breaking automatic updates or upgrades. - [CLI Reference](https://sendbroadcast.net/docs/cli-reference): Complete reference for the broadcast.sh command line tool, covering service control, upgrades, backups, diagnostics, health reporting, and configuration commands for your Broadcast server. ### API Reference - [API Authentication](https://sendbroadcast.net/docs/api-authentication): Learn how to create and manage API access tokens to authenticate your requests to the Broadcast API. - [API Response Warnings](https://sendbroadcast.net/docs/api-response-warnings): How the Broadcast API tells you when a request succeeded but did something different from what you asked for, using the warnings array in responses. - [Agents API](https://sendbroadcast.net/docs/api-agents): Agent discovery API for Broadcast: whoami, status, prime, and skill endpoints help AI agents understand your instance, capabilities, and token scope. - [Subscribers API](https://sendbroadcast.net/docs/api-subscribers): Discover how to manage subscribers programmatically using the Broadcast API, including creating, reading, updating, and deleting subscriber data. - [Broadcasts API](https://sendbroadcast.net/docs/api-broadcasts): Create, schedule, send, and manage one-time email broadcasts through the Broadcast REST API: full endpoint reference, parameters, and authenticated examples. - [Transactional Email API](https://sendbroadcast.net/docs/api-transactional-email): Learn how to send transactional emails programmatically using the Broadcast API for timely and personalized communication with your users. - [Sequences API](https://sendbroadcast.net/docs/api-sequences): Build automated email sequences and drip campaigns with the Broadcast API: create sequences, add steps, schedule delays, and enroll subscribers from your code. - [Segments API](https://sendbroadcast.net/docs/api-segments): Build, update, and query subscriber segments through the Broadcast API. Filter by tags, custom fields, engagement, and behavior to target campaigns precisely. - [Autopilots API](https://sendbroadcast.net/docs/api-autopilots): Create and manage AI newsletter autopilots through the Broadcast API, trigger runs, poll their progress, and drive product update announcements from your release pipeline. - [Templates API](https://sendbroadcast.net/docs/api-templates): Learn how to manage email templates programmatically with the API. - [Email Servers API](https://sendbroadcast.net/docs/api-email-servers): Manage SMTP and ESP email server configurations with the Broadcast API: list, create, update, and rotate sending servers directly from your application code. - [Opt-In Forms API](https://sendbroadcast.net/docs/api-opt-in-forms): Create, configure, and embed opt-in forms with the Broadcast API: manage fields, double opt-in flows, redirect URLs, and tag assignment from your code. - [Webhook Endpoints API](https://sendbroadcast.net/docs/api-webhook-endpoints): Create, list, update, and delete webhook endpoints with the Broadcast API. Subscribe to subscriber, broadcast, and delivery events to power your integrations. - [Suppressions API](https://sendbroadcast.net/docs/api-suppressions): Add, list, remove, and check suppressed email addresses with the Broadcast API. Manage a channel's suppression list and the installation-wide global list. ### Client Libraries - [SDKs & Client Libraries](https://sendbroadcast.net/docs/sdks): Official Broadcast client libraries for Ruby, PHP, Node/TypeScript, and Python: every API endpoint, with the same behaviour across every language. - [Ruby SDK](https://sendbroadcast.net/docs/ruby-sdk): Install and use broadcast-ruby, the official Ruby client for the Broadcast API: subscribers, broadcasts, sequences, transactional email, and webhooks. - [PHP SDK](https://sendbroadcast.net/docs/php-sdk): Install and use broadcast-php, the official PHP client for the Broadcast API: subscribers, broadcasts, sequences, transactional email, and webhooks. - [Node SDK](https://sendbroadcast.net/docs/node-sdk): Install and use @send-broadcast/sdk, the official Node and TypeScript client for the Broadcast API: subscribers, broadcasts, sequences, transactional email, and webhooks. - [Python SDK](https://sendbroadcast.net/docs/python-sdk): Install and use broadcast-python, the official Python client for the Broadcast API: subscribers, broadcasts, sequences, transactional email, and webhooks. ## Other resources - [Changelog](https://sendbroadcast.net/changelog): every release with its highlights, newest first. - [Pricing](https://sendbroadcast.net/pricing): license tiers and what each includes. - [Roadmap](https://sendbroadcast.net/roadmap): what is planned next. - [Blog](https://sendbroadcast.net/blog): longer-form writing on self-hosting, deliverability, and email marketing practice.