Use case: clean a list
Fewer bounces before a campaign goes out.
Lists go stale: people leave, and companies change domains. Check each address with its mail server before you send, and keep the ones it can't confirm out of the first wave.
- Status
- Early access; MagpieCRM does it today
- You send
- Each address, one per call
- You get
- A verdict for each: keep, drop or test
- Planned price
- 1 credit (£0.004$0.006) per address checked


Bounces and complaints are recorded, and those addresses aren't emailed again.
With the API
Check, sort, then send.
Check each address
Send each one to POST /verify, a few at a time. Checks at one company are paced, so spread a big list over time.
Sort by verdict
Keep valid. Drop invalid. Put catch_all, risky and unknown in a group of their own.
Send the sure ones
Send to the valid addresses as usual.
Test the rest
Send the unsure group in a small first batch, and the rest only if few bounce.
Holding back guesses
How MagpieCRM sends the ones it can't confirm.
MagpieCRM on Magpie Cloud does this for every campaign. Do the same with the unsure group from your list.
First 50 go out
Up to 50 unconfirmed addresses are sent, alongside the confirmed ones.
Wait 1 hour
The rest are held for at least 1 hour while bounces come in.
Count the bounces
- 2% or fewer hard-bounced: the rest are sent
- More than 2%: the rest stay held
Held addresses can still be sent with Send anyway.
This applies to unconfirmed guesses only. Addresses the mail server confirmed go out as usual.
Today
What MagpieCRM does today.
In MagpieCRM on Magpie Cloud, a list is kept clean as it's used: there's nothing to run. The clean a list guide shows the same with the API.
- An address that hard-bounces is never emailed again
- Nor is one that marks your email as spam
- Guesses the mail server couldn't confirm go out 50 first, then wait an hour, and the rest only if under 2% bounced
- Every email found in prospect search is checked with the mail server before it's saved
Preview
Checking one address.
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
}
}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:
- Verifying a whole list in one call is planned but not built: today it's one address per call.
- The email verification API isn't live yet: early-access members get keys first.
FAQ
Questions, answered.
How many bounces is too many?
Aim for well under 2% of emails sent. On MagpieCRM's hosted plan, a sending domain is at risk from 2% bounced, and poor from 5%.
Can I verify a whole list in one call?
Not yet. A bulk call is planned but not built. Call /verify once for each address, a few at a time.
What should I do with catch-all addresses?
They may work, or may bounce later. Send them in a small first batch, wait, and send the rest only if few bounced, as MagpieCRM does.
Does checking an address send an email?
No. The check stops before any message is sent, so nobody on your list receives anything.
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.
