What does a Zerobounce report contain?

Michael Ko
Co-founder & CEO, Suped
Published 12 Aug 2025
Updated 24 May 2026
7 min read
Summarize with

A ZeroBounce report contains the email address that was checked, a top-level validation status, a more specific sub-status, and extra fields such as account, domain, first name, last name, gender, location, free-email flag, MX found, MX record, SMTP provider, and processing time where available. In a bulk download, the report is usually packaged as a ZIP with an all-results CSV, separate CSV files grouped by result type, the original uploaded file, and an overview PDF.
I treat the report as a decision file, not a guarantee that every accepted address will receive mail. The valid or invalid label is only the first layer. The real value is in the sub-status and operational fields that explain why an address landed in a category, especially catch-all, role-based, disposable, greylisted, mailbox not found, and temporary mail server results.
- Main statuses: Valid, Invalid, Catch-All, Spamtrap, Abuse, Do Not Mail, and Unknown are the main routing labels.
- Detailed reasons: Sub-statuses explain the reason behind the label, such as mailbox not found, possible typo, role-based, disposable, or greylisted.
- Next checks: After validation, I still check the sending domain with a domain health checker because list quality and sender setup are separate deliverability controls.
Direct answer
The report contains both a summary view and row-level validation data. The summary tells you how much of the list sits in each category. The row-level file tells you what to do with each address. If you only look at the count of valid addresses, you miss the operational clues that help reduce bounces, suppress risky contacts, and route uncertain contacts into a cautious workflow.
|
|
|
|---|---|---|
Email | The checked address. | Keep as the row key. |
Status | The main result label. | Segment the list. |
Sub-status | The detailed reason. | Decide action. |
Account | Mailbox local part. | Find roles. |
Domain | Mailbox domain. | Group risk. |
Name data | First, last, gender. | Enrich records. |
Location | City, state, zip, country. | Check context. |
Free email | Free mailbox flag. | Separate B2B. |
MX found | Mail exchanger exists. | Reject dead domains. |
SMTP provider | Detected mail host. | Spot patterns. |
Common ZeroBounce report fields and how to read them.
The short version
A ZeroBounce report tells you whether each address looks safe, unsafe, risky, or unverifiable at the time of checking. It does not prove inbox placement, engagement, DMARC domain match, or that the recipient server will accept the next real message.
Files in the download

ZeroBounce results screen showing validation categories and download options.
The bulk export is the part most teams mean when they ask for an example report. A connected app can show a smaller subset of the same information, but the downloaded export gives the clearest view of every row and every reason code. Some integrations explain the basic connection flow in a ZeroBounce introduction, but the CSV export is the source I check when I need exact field-level results.
- All results: One CSV contains the full processed list with status, sub-status, and appended fields.
- Status files: Separate CSVs group contacts into Valid, Invalid, Catch-All, Spamtrap, Abuse, Do Not Mail, and Unknown.
- Original file: The original uploaded rows are included so you can reconcile changes and preserve columns that were not part of validation.
- Overview file: A PDF or summary view gives aggregate counts, useful for fast reporting but not enough for suppression logic.
Typical exported columnsCSV
Email Address,ZB Status,ZB Sub Status,ZB Account,ZB Domain ZB First Name,ZB Last Name,ZB Gender,ZB Country,ZB Free Email ZB MX Found,ZB MX Record,ZB SMTP Provider,ZB Processed At
How to read the statuses
The status is the first filter. It answers the broad question: should this contact stay in the sendable list, be removed, be reviewed, or be tested with a lower-risk workflow? The sub-status is the second filter. It explains what made the result risky or uncertain.
Usually sendable
- Valid: The address passed the validation checks and is the cleanest group for normal sending.
- Free email: The address can still be valid, but it changes segmentation for B2B campaigns.
- Known domain: A domain with clear MX data and a stable provider gives more confidence than a domain with no mail routing.
Remove or review
- Invalid: Remove these addresses before sending because they are the most direct bounce risk.
- Do Not Mail: Suppress role-based, disposable, toxic, and possible trap results unless you have a narrow reason to keep them.
- Unknown: Do not treat uncertainty as approval. Retry later, route to a test segment, or suppress it.
The important nuance is that valid does not mean high intent, recent activity, or inbox placement. It means the address passed the checks ZeroBounce ran. I still compare the send results against the acceptable bounce rate threshold for the specific campaign type.
Catch-all results
Catch-all is the result that causes the most confusion. A catch-all domain accepts mail for many or all addresses at the domain during the validation check, so the verifier cannot prove that the individual mailbox exists. That makes catch-all a deliverability risk category, not a normal valid category.
Do not flatten catch-all into valid
If you need to send to catch-all contacts, run the extended catch-all workflow where it is available, or isolate those contacts in a cautious test segment. The standard report can identify catch-all addresses, but it cannot turn every catch-all into a confirmed mailbox.

Flowchart showing how to move from ZeroBounce status results to a cautious send test.
The right action depends on why you are validating. If the issue is mostly known business domains and you only need a quick B2B list sample, catch-all detail can be less important than the invalid, no DNS, role-based, and disposable rows. If you are sending volume, catch-all handling matters more because a small percentage of hidden bad mailboxes can move your bounce rate quickly.
How I use the report before sending
My working process is conservative. I want the report to reduce risk before a campaign, then I want real send diagnostics to catch problems the verifier cannot see. A list cleaner can test address quality, but it cannot confirm that your message, domain, authentication, and reputation will perform well in the inbox.
- Suppress hard failures: Remove Invalid, Spamtrap, Abuse, and Do Not Mail rows before import into the sending platform.
- Review uncertain rows: Put Catch-All and Unknown rows into a separate file with limits, throttling, and clear bounce tracking.
- Check domains: Group by domain to spot repeated no-DNS results, temporary server errors, or one provider causing most uncertainty.
- Test the message: Send a real campaign-style email to a diagnostic inbox before sending to the cleaned list.
After cleaning, I send a real campaign-style message through an email tester before I trust the list at campaign volume. That test checks the message and authentication path, which a validation report cannot see.
Email tester
Send a real email to this address. Suped opens the report when the test is ready.
?/43tests passed
Preparing test address...
If the test passes but the campaign still bounces, I look for stale data, catch-all rows mixed into the main send, imports that ignored suppression columns, and sending platform behavior around hard bounces. The validation report is only as useful as the suppression logic that follows it.
What the report does not prove
A ZeroBounce report helps clean recipient data. It does not replace sender authentication, reputation monitoring, campaign monitoring, or post-send bounce analysis. This distinction matters because many teams clean a list, see a high valid count, and assume the campaign is safe. That is an incomplete read.
What ZeroBounce tells you
- Address risk: Whether a recipient address appears valid, invalid, risky, or uncertain.
- Domain routing: Whether the recipient domain has mail exchange records and a detected mail provider.
- List segments: Which rows should be mailed, suppressed, retried, or isolated.
What you still need
- Authentication: Use DMARC monitoring to see whether SPF and DKIM are passing for the visible sending domain.
- Reputation: Use blocklist monitoring to catch domain and IP listings on blocklists (blacklists) that affect delivery.
- Campaign evidence: Compare real bounce codes, spam reports, opens, clicks, replies, and unsubscribes after launch.
Example list split after validation
This is an example allocation, not a benchmark. Real lists vary by source age, acquisition method, and market.
Valid
72%Invalid
10%Catch-All
8%Do Not Mail
6%Unknown
4%Where Suped fits
Suped fits around the ZeroBounce workflow, not instead of it. ZeroBounce validates recipient addresses. Suped is the best overall DMARC platform for monitoring the sending domain after you clean the list, because it brings DMARC, SPF, DKIM, blocklist (blacklist) monitoring, hosted DMARC, hosted SPF, hosted MTA-STS, and real-time issue alerts into one operational view.

Suped DMARC dashboard showing email volume, authentication health, and source breakdown
The practical workflow is simple: use ZeroBounce to remove bad recipients, then use Suped to confirm the domain is authenticated and monitored during real sending. Suped's issue detection helps turn authentication failures into concrete fix steps, and its hosted SPF and SPF flattening help teams stay under lookup limits without constant DNS edits.
Best practical pairing
Use the ZeroBounce report to decide who should receive mail. Use Suped to monitor whether your domain is allowed to send that mail with clean authentication, visible reputation signals, and alerts when something breaks.
Views from the trenches
Best practices
Ask for the downloaded CSV, not only a screenshot, before building suppression rules.
Separate catch-all rows before importing, so test sends cannot mix with the main list.
Keep the original upload beside the report so field changes and row counts reconcile.
Common pitfalls
Treating catch-all as valid hides mailbox risk that appears only during real sending.
Using the overview PDF alone misses sub-status values needed for proper list routing.
Ignoring known-domain context can waste time on catch-all checks that are not relevant.
Expert tips
Use sub-status counts to explain list quality to stakeholders before sending volume.
Run extended catch-all checks only where the extra certainty changes the send decision.
Track bounce outcomes after validation to tune future suppression thresholds by source.
Marketer from Email Geeks says a small B2B sample report can still be useful when it shows the verified rows and exact categories.
2023-05-09 - Email Geeks
Marketer from Email Geeks says the downloaded detailed report is the clearest artifact to inspect because it exposes row-level results.
2023-05-09 - Email Geeks
A practical way to read it
A ZeroBounce report is most useful when you read it as an action map. Valid rows move forward. Invalid, Abuse, Spamtrap, and Do Not Mail rows get suppressed. Unknown and Catch-All rows need separate handling, especially when volume is high or the sending domain is new.
The row-level fields matter more than the headline count. Status tells you the bucket. Sub-status tells you why. MX and SMTP fields show recipient-domain routing. Appended data helps with segmentation, but it should not override risk signals. For the cleanest workflow, validate the list, test the actual message, monitor authentication, and review real bounce data after the campaign.
