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
Domain extracted from email
The domain component of the email address is parsed and normalized for all subsequent checks.
Provider classification
The domain is checked against the free email provider list, the disposable domain database, and known corporate domain registry signals.
MX and catch-all check
DNS MX lookup confirms the domain has mail infrastructure. SMTP probe determines whether the domain is catch-all.
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
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.