> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.outpost.pub/llms.txt
> Use this file to discover all available pages before exploring further.

# ZeroBounce Integration (Invite Only)

> Email address validation to protect your sender reputation and reduce bounces, available by invitation only.

export const PlanStatus = ({tier, status, beta, deprecated}) => {
  const variants = {
    luna: {
      bg: "#8340B9",
      color: "#ffffff",
      border: "1px solid #8340B9"
    },
    voyager: {
      bg: "#6B2FA0",
      color: "#ffffff",
      border: "1px solid #6B2FA0"
    },
    "space-station": {
      bg: "transparent",
      color: "#8340B9",
      border: "1px solid #8340B9"
    },
    "all-plans": {
      bg: "transparent",
      color: "#525252",
      border: "1px solid #a3a3a3"
    },
    labs: {
      bg: "transparent",
      color: "#a16207",
      border: "1px solid #a16207"
    },
    beta: {
      bg: "transparent",
      color: "#a16207",
      border: "1px solid #a16207"
    },
    "invite-only": {
      bg: "transparent",
      color: "#525252",
      border: "1px solid #a3a3a3"
    },
    bespoke: {
      bg: "transparent",
      color: "#525252",
      border: "1px solid #a3a3a3"
    },
    "outpost-hosted": {
      bg: "transparent",
      color: "#525252",
      border: "1px solid #a3a3a3"
    },
    deprecated: {
      bg: "transparent",
      color: "#b91c1c",
      border: "1px solid #b91c1c"
    }
  };
  const chip = (variant, label) => {
    const s = variants[variant] || variants["all-plans"];
    return <span key={variant + ":" + label} style={{
      display: "inline-flex",
      alignItems: "center",
      padding: "0.15rem 0.55rem",
      fontSize: "0.7rem",
      fontWeight: 700,
      letterSpacing: "0.05em",
      textTransform: "uppercase",
      borderRadius: "3px",
      lineHeight: 1.4,
      whiteSpace: "nowrap",
      backgroundColor: s.bg,
      color: s.color,
      border: s.border
    }}>
        {label}
      </span>;
  };
  const tierLabel = {
    "luna": "Luna",
    "voyager+": "Voyager+",
    "voyager-luna": "Voyager + Luna",
    "space-station+": "Space Station+",
    "all-plans": "All plans"
  };
  const tierVariant = {
    "luna": "luna",
    "voyager+": "voyager",
    "voyager-luna": "voyager",
    "space-station+": "space-station",
    "all-plans": "all-plans"
  };
  const statusLabel = {
    "labs": "Labs",
    "invite-only": "Invite-only",
    "bespoke": "Bespoke",
    "deprecated": "Deprecated",
    "outpost-hosted": "Outpost Hosted"
  };
  return <span style={{
    display: "inline-flex",
    gap: "0.4rem",
    flexWrap: "wrap",
    alignItems: "center",
    margin: "0 0 1.25rem 0"
  }}>
      {tier && chip(tierVariant[tier], tierLabel[tier])}
      {status && chip(status, statusLabel[status])}
      {beta && chip("beta", "Beta")}
      {deprecated && chip("deprecated", "Deprecated")}
    </span>;
};

<PlanStatus status="invite-only" />

<Info>
  The ZeroBounce integration is available by invitation only. [Contact Outpost](https://outpost.pub/contact) to request access.
</Info>

[ZeroBounce](https://www.zerobounce.net) validates email addresses to identify invalid, spam trap, and abusive addresses before you send to them. This protects your Mailgun sender reputation and improves deliverability.

<Note>
  For full documentation on how spam filtering works in Outpost, see [Spam Filtering](/features/spam-filtering).
</Note>

## Setup

1. Create a ZeroBounce account and get your API key from **Account → API Key**
2. In Outpost, go to **Settings → Integrations → ZeroBounce**
3. Enter your ZeroBounce API key

## What ZeroBounce checks

When Outpost validates an email address through ZeroBounce, it checks:

* **Status** — Whether the address is valid, invalid, a spam trap, abusive, or flagged as do-not-mail
* **Free email** — Whether it's from a free email provider (Gmail, Yahoo, etc.)
* **Disposable** — Whether it's a temporary or throwaway email address

## Credits

ZeroBounce uses a credit-based pricing model. Each email validation consumes one credit. Monitor your credit balance in ZeroBounce's dashboard.

<Tip>
  ZeroBounce offers a free monthly credits allowance. For small publications, this may cover all your validation needs without a paid plan.
</Tip>

## Data export

ZeroBounce validation results are saved on each member's record. You can export a full validation history via **Data Export → ZeroBounce Events**. See [Data Export](/features/data-export) for details.
