Directory · updated daily
9,913 disposable email domains.
Every throwaway email domain we know about, free to browse and download. Each one links to its mail servers and the other throwaway domains that share them.
Browse by first letter
Block them at signup.
Download the list, or skip the maintenance: one API call checks the list, the shared mail servers and the domain's age.
curl https://veqen-app.com/v1/email/check \
-H "Authorization: Bearer $VEQEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"email": "jane@mailinator.com"}'import os, requests
r = requests.post(
"https://veqen-app.com/v1/email/check",
headers={"Authorization": f"Bearer {os.environ['VEQEN_API_KEY']}"},
json={"email": "jane@mailinator.com"},
timeout=10,
)
result = r.json()
print(result["risk"]["verdict"], result["risk"]["reasons"])const res = await fetch("https://veqen-app.com/v1/email/check", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.VEQEN_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({"email": "jane@mailinator.com"}),
});
const result = await res.json();
console.log(result.risk.verdict, result.risk.reasons);About the list
Where does this list come from?
It starts from the community-maintained disposable-email-domains project (public domain, CC0) and is refreshed daily. Veqen adds a mail-server signal that catches new throwaway domains before they are listed.
Can I use this list in my product?
Yes. The list is public domain. Download it as JSON, CSV or plain text. If you'd rather not maintain it, the Veqen API checks addresses against it (and more) in one call.
Why is a list not enough?
New throwaway domains appear every day. A list only knows the old ones. Checking where a domain's email goes, and how old the domain is, catches the new ones too.