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 capped 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
// No SDK yet — the 12-line wrapper from /docs/quickstart.
import { verifyEmail } from "@/lib/mailbeam";
// Enforce corporate email on a B2B product's team invite flow
export async function validateTeamMemberEmail(email, allowedDomain) {
const result = await verifyEmail(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
Can I block all Gmail and Yahoo registrations using Mailbeam?
Yes. The `free_provider` flag identifies consumer email providers. Check this flag in your signup handler and return an error requiring a company email address. Note: blocking free providers for all use cases is rarely appropriate — it makes sense for B2B products but not consumer apps.
How do I know if an email is from a real company vs a fake domain?
Use a combination of `mx_check` (domain has mail infrastructure), `disposable: false` (not a known throwaway), and `score` (domain reputation signals). A company domain with all three positive is a strong signal of a legitimate business address.
Is there a separate domain-only API endpoint?
No. All domain-level checks (MX, catch-all, free provider, disposable) are returned in the standard `/v1/verify` response. This is by design — domain checks alone are rarely useful without the mailbox-level result.
What counts as a 'free email provider'?
Free email providers are consumer-facing services that offer free email addresses: Gmail, Yahoo, Outlook/Hotmail, iCloud, AOL, Protonmail, and ~50 other major consumer providers. Enterprise Google Workspace and Microsoft 365 custom domains are NOT flagged as free providers.
Ready to integrate?
Free tier includes 1,000 verifications/month. No credit card required.