Email verification, as a single endpoint.
A REST API for verifying email addresses — JSON in, JSON out. Built for product teams and AI agents that need programmatic answers, not dashboards.
What does the mailfloss email verification API do?
The mailfloss email verification API checks whether an email address is valid, deliverable, disposable, role-based, or likely to bounce — in real time, from your own code. Send an address to a single REST endpoint and get back a clear result plus the risk signals you can act on at signup, checkout, or form submission. It's the same verification engine behind mailfloss's automated list cleaning, exposed for developers.
GET one address. Get back a verdict.
A single GET with your key in a Bearer header and the address as a query param. No SDK required — plain HTTPS works in any language.
passedundeliverableriskyunknownSpotted a typo? When an address looks misspelled, mailfloss returns the likely correction in the suggestion field — here gmial.cmo becomes gmail.com. status stays the deliverability verdict; the fix always lives in suggestion, so you can offer the user a “Did you mean…?” prompt.
The developer surface.
Made for the AI era — every endpoint returns deterministic JSON an agent can call directly, no scraping or screen-reading required. Bearer token only. Rate limit is 10,000 requests/min per key — a 429 includes a Retry-After header. POST routes accept an Idempotency-Key header for safe retries.
Get pushed the result — skip the polling.
Two flavors: a per-job webhook on batch verifications, and broader account webhooks that fire as your lists are cleaned.
Account webhooks
React to changes across your mailfloss account — these fire as your lists are cleaned, not on individual /v1/verify calls. Each webhook is a name, one or more trigger events, a destination URL, a data source, and an optional secret.
status.*status.undeliverablestatus.riskystatus.unknownreason.*reason.bouncedreason.invalidreason.rolereason.disposablereason.blacklistedreason.accept_allreason.spamreason.complainer…contact.*contact.fixedcontact.unsubscribedcontact.deletedcontact.taggedcontact.updatedjobjob.finishedDelivery
Use cases that match the surface area.
Verify signups inline
Pass every incoming address through verify before it hits your users table — block disposable, surface a typo suggestion, reject invalid, all in one request.
Resolve addresses programmatically
Agents need ground-truth on whether an address is real. mailfloss returns a deterministic verdict with a closed status enum and structured reasons — ideal for tool calls.
Clean an inherited list
Acquired a database, or got a CSV from a partner? Submit the whole list to batch-verify and pass a webhook_url to get notified upon completion.
Verify before you send
Check an address right before a password reset, receipt, or magic link goes out — so critical mail doesn’t bounce and your sender reputation stays clean.
How the mailfloss API compares to other verification APIs
| Capability | mailfloss | ZeroBounce | Kickbox | Hunter |
|---|---|---|---|---|
| Single real-time verify endpoint | Yes — GET /v1/verify, JSON in and JSON out | Real-time API available | Yes — API or JS widget, developer setup | Verification alongside prospect discovery |
| Typo correction in the response | Yes — returns a suggestion field (gmial.cmo → gmail.com) | Typos are flagged as invalid, not fixed | No — invalid addresses are flagged, not fixed | — |
| Automated recurring cleanup (beyond the API) | Yes — connect a supported ESP for hands-off, scheduled cleanup | Manual or API-driven runs | No — re-uploads required | One-off verification, prospecting-led |
| Best fit | Teams that want a real-time API plus automated ESP list cleaning | High-volume bulk verification | Bulk-only, developer-led workflows | Outbound teams needing prospect discovery plus verification |
Full comparisons: ZeroBounce alternativesNeverBounce alternatives
What’s the difference between a real-time verification API and bulk list cleaning?
A real-time verification API checks one address the moment you need it — at signup, checkout, or form submission — and returns a verdict in a single request, so you can block a bad address before it ever reaches your database. Bulk list cleaning runs the same checks across an entire existing list at once, usually on a schedule, to remove or fix addresses that have gone bad over time.
mailfloss does both from the same engine. Call GET /v1/verify to validate addresses in real time from your own code, and connect a supported email platform to clean the list you already have automatically on a recurring schedule — so mailfloss is not a bulk-CSV-only verifier; the API and ongoing ESP cleanup run off one verification core.
How do you stop spam signups on email forms automatically?
Verify email addresses in real time, at the form itself. Call the mailfloss API on submit: invalid, disposable, and typoed addresses are rejected — or the typo is corrected — before they ever reach your list. A CAPTCHA like Cloudflare Turnstile blocks bots, but it can't catch fake or mistyped addresses that real users submit, so pair both layers. mailfloss then keeps cleaning your connected list automatically for anything that slips through.
No SDK required — plain HTTPS works.
Every endpoint is a plain HTTPS call with a Bearer header, so any language with an HTTP client is ready today. Typed SDKs are on the way.
Pay per verification. No subscription required.
Prepaid credits — one credit per verification. The bigger the pack, the lower the per-credit price.
