An email breach check tells you whether an address has turned up in a known data breach, and if so, how many and which sites. Breach data gets traded and republished long after the incident, so an address can sit in a dump for years without its owner ever hearing about it. The check reads that published record and returns the count, the named sites, and the dates.
The questions an email breach check answers:
The count on its own is a blunt signal. What matters is which sites and when. An address in one forum breach from 2013 is a very different risk from one in four breaches, the most recent of them last year, including a payment provider.
When you submit an address, the check runs four steps:
What each field tells you:
Breach count. The number of separate breaches the address appears in. One is common for any address that has been in use for years. Several suggests an address that is old, widely reused, and worth protecting more carefully.
Breached sites. The named services whose leaked data included this address. This is the part that tells you what was probably exposed, because a forum leak and a payment provider leak carry very different consequences.
First breach date. How far back the exposure goes. An address that leaked a decade ago has had plenty of time to circulate through credential lists.
Last breach date. How recent the most recent exposure is. Anything in the last year or two is worth a password rotation on the accounts tied to the address.
What it does not tell you. The check does not reveal passwords and does not confirm that an account is currently compromised. It tells you the address was present in data that leaked, which is a risk signal rather than a verdict.
No single field is the answer on its own. Read the count alongside the dates and the named sites to judge whether the exposure still matters.
Assessing account-takeover risk: An address that appears in several recent breaches is a more likely target for credential stuffing, which matters when the same person signs in to your service. Heavy breach history is a reason to ask for a second factor rather than to refuse the account.
Screening signups: Flag new accounts opening on addresses with a long leak history, and step up verification for them. The same check runs programmatically through the API at signup time, so nothing has to be done by hand.
Checking your own exposure: Look up your own address to see what is already public. If it appears in recent breaches, change the passwords on the accounts tied to it and turn on two-factor authentication where it is offered.
Support and account recovery: When a user reports a takeover, the breach record is useful context for how their credentials were most likely obtained, and for deciding what else to ask them to reset.
curl --request GET \
--url https://emailreputation.abstractapi.com/v1{
"email_address": "benjamin.richard@abstractapi.com",
"email_deliverability": {
"status": "deliverable",
"status_detail": "valid_email",
"is_format_valid": true,
"is_smtp_valid": true,
"is_mx_valid": true,
"mx_records": [
"gmail-smtp-in.l.google.com",
"alt3.gmail-smtp-in.l.google.com",
"alt4.gmail-smtp-in.l.google.com",
"alt1.gmail-smtp-in.l.google.com",
"alt2.gmail-smtp-in.l.google.com"
]
},
"email_quality": {
"score": 0.8,
"is_free_email": false,
"is_username_suspicious": false,
"is_disposable": false,
"is_catchall": true,
"is_subaddress": false,
"is_role": false,
"is_dmarc_enforced": true,
"is_spf_strict": true,
"minimum_age": 1418
},
"email_sender": {
"first_name": "Benjamin",
"last_name": "Richard",
"email_provider_name": "Google",
"organization_name": "Abstract API",
"organization_type": "company"
},
"email_domain": {
"domain": "abstractapi.com",
"domain_age": 1418,
"is_live_site": true,
"registrar": "NAMECHEAP INC",
"registrar_url": "http://www.namecheap.com",
"date_registered": "2020-05-13",
"date_last_renewed": "2024-04-13",
"date_expires": "2025-05-13",
"is_risky_tld": false
},
"email_risk": {
"address_risk_status": "low",
"domain_risk_status": "low"
},
"email_breaches": {
"total_breaches": 2,
"date_first_breached": "2018-07-23T14:30:00Z",
"date_last_breached": "2019-05-24T14:30:00Z",
"breached_domains": [
{ "domain": "apollo.io", "date_breached": "2018-07-23T14:30:00Z" },
{ "domain": "canva.com", "date_breached": "2019-05-24T14:30:00Z" }
]
}
}A breach is an incident where a service's user data was exposed and that data then became public or traded. The check counts an address as breached when it appears in one of those published datasets. It covers credential and account-data leaks rather than every security incident a company has ever had.
Yes. The tool is free with no signup for individual checks, and the result exports as a CSV. For programmatic access, Abstract's Email Reputation API has a free tier you can start on without a credit card.
The check draws on published breach corpora, the same datasets that breach-notification services index. Coverage is strongest for large, publicly disclosed incidents. A breach that has never been disclosed or published cannot appear in any tool of this kind, including this one.
In most jurisdictions, yes. The check reads published breach data about the address and the owner is not notified. Using the result to harass or impersonate someone can cross into illegal territory depending on local law. Ordinary uses like checking your own exposure or screening signups are not restricted.
Change the password on the breached service, and anywhere else you reused it. Turn on two-factor authentication where it is offered. Old breaches matter less than recent ones, but a reused password is what turns an old leak into a current problem.
The count and the dates come straight from published breach records, so they are as accurate as the disclosed data itself. The real limit is coverage rather than precision: an address can sit in an undisclosed breach and still show clean. Treat a clean result as no known exposure rather than proof of safety.