Mailbeam
Benefit · Scale

High-Volume Email Verification

Clean lists in the millions without babysitting rate limits. Submit a batch, get a webhook when it finishes, export deliverable/risky/undeliverable segments.

What Mailbeam checks

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

Millions per job

Submit large lists to the batch endpoint. Processing is asynchronous, so there are no connection timeouts or dropped requests on huge payloads.

Signed webhook on completion

Instead of polling for hours, receive one batch.completed event with the totals and a download URL, signed with HMAC-SHA256 so you can verify it came from us.

Concurrency that protects deliverability

Different domains are verified in parallel, but a single destination domain is only ever probed one address at a time. It is slower than hammering a mail server, and it is what keeps our IPs — and therefore your results — off blocklists.

Per-address scoring

Every address returns its own status and 0-100 score, so you segment aggressively rather than trusting a single list-level pass rate.

Durable progress

Results are written as the job runs, not held in memory until the end, so a restart resumes rather than starting your list over.

Predictable volume pricing

Cost scales linearly with addresses verified. No surprise overage tiers that punish you for a large quarterly cleanup.

How it works

1

POST the address array

Send up to 500,000 addresses to /v1/verify/batch. The response is a 202 with a job_id. Chunk larger lists across multiple batches.

2

Processing runs async

Syntax, MX, SMTP, disposable, and role checks run against every address without holding a synchronous connection open.

3

Webhook fires

When the job completes, your endpoint receives a signed batch.completed event. No long-poll, no timeout risk.

4

Fetch and segment

Download /v1/jobs/{jobId}/results as CSV, or add ?format=json. Export deliverable, risky and undeliverable segments to your sending platform. Results are kept for 72 hours, then deleted.

Integrate in minutes

Batch submitbash
# Submit a batch. Register your webhook endpoint once in the
# dashboard rather than passing it on every request.
curl -X POST https://api.mailbeam.dev/v1/verify/batch \
  -H "Authorization: Bearer $MAILBEAM_KEY" \
  -H "Content-Type: application/json" \
  -d '{"emails": ["a@example.com", "b@example.com"]}'

# 202 { "job_id": "job_9f2c...", "status": "queued", "total": 2 }
# Your endpoint then receives a signed batch.completed event.
# Or poll:  GET /v1/jobs/job_9f2c...
# Download: GET /v1/jobs/job_9f2c.../results   (CSV; ?format=json for JSON)

When to use it

Quarterly database hygiene

Re-verify your entire contact database on a schedule so decayed addresses don't silently erode deliverability.

Pre-migration cleanup

Verify before importing a legacy list into a new ESP so you don't burn a fresh sending domain's reputation.

Acquisition and merge

Clean an acquired list before your first send to it — the fastest way to inherit spam complaints is to skip this.

Re-engagement prep

Filter a dormant segment down to still-valid addresses before a win-back campaign.

Frequently asked questions

How many addresses can one job hold?

Up to 500,000 per batch. For lists larger than that, split them into multiple batches.

How long does a large job take?

It depends mostly on how many distinct domains the list contains, because we probe one address at a time per destination domain. A list spread across many domains finishes far faster than the same number of addresses at a handful of hosts. The webhook removes the need to guess.

Do I get charged for duplicates or invalid syntax?

Every address in the list counts as one verification, including the ones that fail on syntax alone. The API does not silently dedupe, so remove duplicates before submitting — the dashboard upload does it for you and tells you how many it dropped.

Is there a rate limit on batch submissions?

The batch endpoint is built for volume, so you won't hit the per-second limits that apply to the real-time endpoint. Contact us before sustained multi-million-per-day pipelines so we can provision accordingly.

Can I stream results instead of waiting for the whole job?

Results are available per job. For continuous pipelines, submit smaller batches more frequently and act on each webhook as it lands rather than one giant job.

Ready to integrate?

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