Mailbeam
API · Domain

Domain Email Verification API

Verify the domain side of an email address: is the domain active, is it a free provider, is it a company domain, or is it catch-all? All from one API call.

What Mailbeam checks

Every verification runs 7 checks in parallel and returns a structured result in under 100ms.

Free email provider detection

The `free_provider` flag in the response identifies addresses from Gmail, Yahoo, Outlook, and other consumer providers. Use it to enforce corporate email requirements on B2B products.

Catch-all domain flag

The `catch_all` boolean identifies domains where the mail server accepts all addresses. Combined with the AI quality score, you can make nuanced decisions about corporate catch-all domains.

Disposable domain detection

The `disposable` flag catches throwaway services at the domain level. A disposable address is always rejected regardless of SMTP response.

MX record validation

The `mx_check` boolean confirms the domain has active mail infrastructure. Defunct company domains, parked domains, and expired domains fail this check.

Domain-level score contribution

Domain reputation signals — domain age, MX history, known corporate registry — contribute to the overall quality score. A strong domain signal boosts the score even when SMTP probing is inconclusive.

Single call, all domain fields

All domain-level checks run in the standard verify endpoint. No separate domain-only endpoint — the full result includes both domain and mailbox intelligence.

How it works

1

Domain extracted from email

The domain component of the email address is parsed and normalized for all subsequent checks.

2

Provider classification

The domain is checked against the free email provider list, the disposable domain database, and known corporate domain registry signals.

3

MX and catch-all check

DNS MX lookup confirms the domain has mail infrastructure. SMTP probe determines whether the domain is catch-all.

4

Domain fields returned

The response includes `free_provider`, `disposable`, `catch_all`, `mx_check`, and domain-influenced `score` — ready for your application logic.

Integrate in minutes

Node.jsJavaScript
import Mailbeam from "@mailbeam/sdk";

const mb = new Mailbeam({ apiKey: process.env.MAILBEAM_KEY });

// Enforce corporate email on a B2B product's team invite flow
export async function validateTeamMemberEmail(email, allowedDomain) {
  const result = await mb.verify(email);

  if (!result.mx_check) {
    return { ok: false, error: "Email domain does not have active mail servers." };
  }

  if (result.disposable) {
    return { ok: false, error: "Temporary email addresses are not allowed." };
  }

  if (result.free_provider) {
    return {
      ok: false,
      error: `Please use your ${allowedDomain} company email to join this workspace.`,
    };
  }

  // Optional: enforce specific domain for team plans
  const domain = email.split("@")[1].toLowerCase();
  if (allowedDomain && domain !== allowedDomain) {
    return {
      ok: false,
      error: `Only @${allowedDomain} addresses can join this workspace.`,
    };
  }

  return { ok: true, score: result.score };
}

When to use it

Enforcing corporate email on B2B products

Use `free_provider: true` to block Gmail, Yahoo, and Outlook addresses on enterprise plans. Require a company domain for team invitations or workspace creation.

Lead qualification by email domain type

Score inbound leads differently based on domain type: corporate domain (high value), free provider (medium), catch-all with high score (include), catch-all with low score (suppress).

Detecting defunct company domains

When a company goes out of business or is acquired, their email domain often loses MX records. MX failure at the domain level is a reliable signal of a non-functional company email.

Domain allowlisting for team plans

Combine Mailbeam's MX and catch-all checks with your own domain allowlist to ensure all members of a team workspace register with the same company domain.

Frequently asked questions

Ready to integrate?

Free tier includes 1,000 verifications/month. No credit card required.