Use case: verify sign-ups
Catch fake and mistyped emails at sign-up.
Check the address on your server when the form is sent, and act on what its mail server says. Try the check here: it's our free verifier, which sends no email.
Recorded example: a real result from our free checker on 1 November 2026
The mail server says this mailbox exists. Safe to send.
- Format
- Valid
- Domain takes email
- Yes
- Mailbox
- Exists
- Disposable address
- No
- Role address (info@, sales@)
- No
- Free mailbox provider
- No, a company domain
How it works
Check on your server, as the form is sent.
Take the address
When the form is posted, take the email on your server. Don't call the API from the browser: your key would be public.
Ask about it
Send it to POST /verify. Our verification servers ask its mail server whether the mailbox exists. No email is sent.
Act on the verdict
Let valid addresses in. Ask about a typo for invalid ones. Let the rest in, and confirm by email.
Don't wait forever
Some mail servers are slow. Give the call a time limit, and let the sign-up through if it runs out.
Verdicts
What to do with each verdict.
Only invalid is worth stopping a sign-up for, and then with a question, not a refusal.
| Verdict | What it means | At sign-up |
|---|---|---|
valid | The mail server said the mailbox exists. | Let them in. |
invalid | The address can't get email: it isn't well formed, its domain takes no email, or the mail server said the mailbox doesn't exist. | Ask them to check for a typo. |
catch_all | The domain accepts every address, so its mail server can't say whether this mailbox exists. | Let them in, and confirm the address by email. |
risky | The mailbox may exist, but could bounce. | Let them in, and confirm the address by email. |
unknown | No clear answer: the mail server didn't answer in time, or wouldn't say. | Let them in, and confirm the address by email. |
Preview
What the check looks like from your server.
This is how the API is planned to work. Names and fields may change before launch.
curl https://api.magpie-cloud.com/v1/verify \
-H "Authorization: Bearer $MAGPIE_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "email": "alex.sample@examplefreight.example" }'const res = await fetch("https://api.magpie-cloud.com/v1/verify", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.MAGPIE_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ email: "alex.sample@examplefreight.example" }),
});
const data = await res.json();import os
import requests
res = requests.post(
"https://api.magpie-cloud.com/v1/verify",
json={"email": "alex.sample@examplefreight.example"},
headers={"Authorization": f"Bearer {os.environ['MAGPIE_API_KEY']}"},
timeout=90,
)
data = res.json(){
"email": "alex.sample@examplefreight.example",
"verdict": "valid",
"summary": "The mail server says this mailbox exists.",
"checks": {
"syntax": true,
"domain": true,
"mailbox": "exists",
"disposable": false,
"role": false,
"free": false,
"provider": null
}
}Today
What works before the API does.
The API isn't live yet. The same check already runs in two places. For the full sign-up code, see the verify sign-ups guide.
- The free email verifier checks one address at a time, 10 a day
- MagpieCRM on Magpie Cloud checks every email it finds with the mail server before saving it
- Neither is a sign-up form check yet: that's what the API is for
Early access
Get a key when it's ready.
The APIs aren't live yet. Tell us what you need, and we'll write when keys are ready.
Not yet
What it doesn't do yet.
The APIs are in early access. So you know before you sign up:
- The email verification API isn't live yet: early-access members get keys first.
- There's no ready-made form widget: you call the API from your own server.
FAQ
Questions, answered.
Does checking an address send the person an email?
No. Our verification server asks the mail server about the address and hangs up before any message is sent. The person never receives anything.
Should I block sign-ups that aren't valid?
Only invalid ones, and then ask the person to check for a typo rather than refusing outright. catch_all, risky and unknown addresses may well work: let them in, and confirm the address by email.
How long does a check take?
Most mail servers answer quickly, but some are slow, and checks at one company are paced. Give the call a time limit, and let the sign-up through if it runs out.
Can I use it today?
Not as an API: it's in early access. Today the free email verifier checks one address at a time, 10 a day.
What will it cost?
The planned price is 1 credit (£0.004) for each address checked. It may change before launch.The planned price is 1 credit ($0.006) for each address checked. It may change before launch.
Keep exploring
Related
Build on the engine behind MagpieCRM.
The APIs are in early access. Tell us what you'd use them for, and we'll write when your key is ready.
