Verify Candidate Emails in Your Recruitment & ATS Workflow
An interview invite that bounces is a candidate who ghosts through no fault of their own. Confirm every applicant address the moment they apply.
A broken candidate email quietly kills your pipeline
Recruiters treat email as the backbone of every hire — application receipts, screening questionnaires, interview scheduling links, and offer letters all travel by email. When an applicant's address is wrong, the candidate simply disappears, and the recruiter never learns why.
applicant emails from high-volume roles are undeliverable or mistyped
Industry estimate
Interview invites that bounce look like ghosting
When a scheduling link never arrives, the applicant appears unresponsive and gets marked as a no-show. A qualified candidate is disqualified because of a typo, not a lack of interest.
Job boards forward low-quality applicant data
Applications syndicated from aggregators and one-click apply buttons frequently carry stale, mistyped, or auto-filled addresses. Your ATS ingests them without ever testing whether they are reachable.
Offer letters sent to dead inboxes stall the hire
The most expensive email in the funnel is the offer. If it lands in an abandoned mailbox, time-to-hire slips, the candidate accepts elsewhere, and the requisition reopens.
Talent-pool nurture campaigns decay silently
Recruiters rebuild pipelines from candidates sourced months or years ago. Those addresses rot at the same rate as any B2C list, and re-engagement emails bounce against people who changed jobs.
Validate the applicant address at apply-time and at import
Mailbeam plugs into the two moments that matter for recruiters: the moment an applicant submits your application form, and the moment a batch of sourced candidates is imported into the ATS. Reachable candidates move forward; unreachable ones get flagged before a recruiter wastes a touch.
Apply-time verification on the application form
Verify the candidate's email as they submit. If they fat-fingered their address, show the suggested correction so they fix it before the application is ever created.
Bulk verification for sourced candidate lists
Sourcing exports, event scans, and CV databases arrive as spreadsheets. Run them through the batch endpoint before they enter your ATS so recruiters only work reachable leads.
Deliverability score for talent-pool nurture
Every address gets a 0-100 score. Nurture sequences to passive candidates can suppress low-confidence addresses so re-engagement bounces never touch your careers domain.
Disposable filtering for high-volume roles
Hourly and gig-style requisitions attract throwaway addresses from applicants gaming referral bonuses. Disposable detection keeps those out of the recruiter queue.
Implementation
Copy-paste ready. Replace the API key and integrate with your existing flow.
import { NextRequest, NextResponse } from "next/server";
const MAILBEAM_KEY = process.env.MAILBEAM_KEY!;
async function verifyEmail(email: string) {
const res = await fetch("https://api.mailbeam.dev/v1/verify", {
method: "POST",
headers: {
"Authorization": `Bearer ${MAILBEAM_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ email }),
});
return res.json() as Promise<{
valid: boolean;
disposable: boolean;
score: number;
status: string;
suggestion: string | null;
}>;
}
export async function POST(req: NextRequest) {
const { email, name, roleId, resumeUrl } = await req.json();
const check = await verifyEmail(email);
// A candidate we cannot reach should never enter the ATS as "new"
if (!check.valid) {
return NextResponse.json(
{
field: "email",
error: "We couldn't reach this email. Please double-check it so we can send your interview details.",
suggestion: check.suggestion,
},
{ status: 422 }
);
}
const application = await ats.applications.create({
email,
name,
roleId,
resumeUrl,
emailScore: check.score,
emailStatus: check.status,
// Route disposables to a manual screening lane instead of auto-advancing
stage: check.disposable ? "manual_review" : "new",
});
await ats.sendApplicationReceipt(application);
return NextResponse.json({ applicationId: application.id });
}Real-world example
HireLoop (placeholder)
High-volume recruitment ATS
Challenge
A staffing team running warehouse requisitions saw 21% of interview invitations bounce. Recruiters logged those applicants as no-shows and spent hours re-sourcing candidates they had already attracted.
Result
After verifying at apply-time and correcting typos inline, invitation bounce rate fell to under 1% and the recorded no-show rate dropped by nearly a third once genuinely reachable candidates started receiving their scheduling links.
Interview invite bounce 21% → 0.9%
* Example based on anonymized customer data. Results may vary.
Recommended plan
Growth
Recruitment teams verify at apply-time and bulk-verify sourced lists, so both the real-time and batch endpoints matter. Growth covers the 10,000-100,000 monthly applications typical of an active talent team; low-volume corporate recruiting fits Starter.
Frequently asked questions
Where in the ATS workflow should verification run — on apply or on advance?
Verify at apply-time so the candidate can correct a typo while they are still on the form. Advancing a stage is too late: by then the receipt email has already bounced and the applicant has moved on. For candidates sourced outside the form (event scans, CV databases), run the batch endpoint at import instead.
Should a failed verification auto-reject the applicant?
No. Treat verification as a routing signal, not a rejection. An invalid address usually means a typo, not a bad candidate, so surface the suggested correction. Route disposable addresses to a manual review lane rather than discarding them, since occasionally a genuine applicant uses a privacy relay.
Can I verify candidates already sitting in my talent pool?
Yes. Export the talent-pool segment and run it through the batch endpoint before any nurture campaign. Suppress addresses that come back undeliverable so your re-engagement sequence never bounces against candidates who have since changed jobs — that protects the deliverability of your careers domain.
Does verifying candidate emails raise data-protection concerns?
Mailbeam processes the address within the EU and retains nothing after the check completes, so it adds no candidate PII to your data footprint. That aligns cleanly with GDPR data-minimization expectations for applicant data. A DPA is available if your recruiting operation requires documented processor terms.
Ready to get started?
Free tier includes 1,000 verifications/month. No credit card required.