Use Case: Bulk List Cleanup

Cleaning a purchased list, a stale database, or a one-time CRM import — not a per-request check.

SettingRecommendation
EndpointPOST /v1/email/bulk, not a loop of single /v1/email/check calls
context"crm" for a contact database, "marketplace" for buyer/seller lists, or "generic" if unsure
mode"standard" is usually the right balance; "full" for a smaller, high-value list where the extra processing time is worth stronger deliverability confidence
NotificationRegister a webhook rather than polling if this is a recurring job, not a one-off

One-off cleanup vs. ongoing plans

If this is a single cleanup job rather than an ongoing need, a one-time bulk pass may be more cost-effective than upgrading to a bulk-enabled recurring plan — see the pricing page. If you're cleaning lists regularly, a bulk-enabled plan avoids re-purchasing a pass each time.

Handling the results

  • block-decision rows: safe to remove from the list outright in most cases
  • review-decision rows: worth a second look before removing — these aren't confirmed bad, just uncertain
  • allow-decision rows: keep as-is
  • Rows with a non-null error: the address itself was malformed enough that no real check could run — treat these the same as a hard block

Further reading

  • Bulk Email Verification API — the full job/polling/webhook flow with working code
  • Real-Time Email Verification API — why bulk, not a loop of single checks, is the right tool here

We use Google Analytics to understand site traffic, and only load it if you accept — nothing runs before you choose. Signing in still stores a strictly necessary session token regardless. See the Privacy Policy for details.