Mailbeam
Bulk · Batch

Bulk Email Verifier

Upload a list, get results. Process up to 100,000 addresses per job, asynchronously, with webhook notification when complete.

What Mailbeam checks

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

Up to 100k addresses per job

Submit large lists via the batch API. Processing happens asynchronously — no timeouts, no dropped connections.

Webhook delivery

Receive a webhook notification when your batch job completes with a full results payload.

Deliverable / Risky / Undeliverable segmentation

Every address is classified and scored. Export each segment to your sending platform.

Disposable and role filtering

Surface addresses that will hurt your sender reputation before you import the list.

CSV compatible

Submit email arrays via API or use our CSV import flow. Export results as CSV for any sending tool.

Progress tracking

Poll the job status endpoint or receive a webhook. Track completion percentage in real time.

How it works

1

Submit the batch

POST an array of email addresses (up to 100,000) to /v1/batch. Optionally include a webhookUrl for notification.

2

Processing runs asynchronously

Mailbeam runs syntax, MX, SMTP, disposable, and role checks against each address without a synchronous connection timeout.

3

Receive results via webhook

When the job completes, your webhook URL receives a POST with the job ID. Fetch the full results from /v1/batch/{jobId}.

4

Segment and send

Filter results by status (deliverable / risky / undeliverable). Import the clean segment into your sending platform.

Integrate in minutes

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

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

// Submit batch job
const job = await mb.batch.create({
  emails: ["alice@example.com", "bob@company.io", /* ... */],
  webhookUrl: "https://yourapp.com/webhooks/mailbeam",
});

console.log(`Job ${job.id} — processing ${job.total} addresses`);

// Or poll for results
const results = await job.wait();
const deliverable = results.filter(r => r.status === "deliverable");
console.log(`${deliverable.length} deliverable addresses`);

When to use it

Pre-campaign list cleaning

Clean your list before every email campaign to keep bounce rates below the 2% ISP threshold.

CRM import validation

Verify contacts before importing from trade shows, spreadsheets, or third-party lead providers.

Database re-verification

Re-verify your entire email database quarterly to catch addresses that have lapsed since last verification.

Cold outreach list preparation

Remove invalid, role-based, and disposable addresses from cold outreach lists before your domain reputation suffers.

Frequently asked questions

Ready to integrate?

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