Skip to main content

Getting started

Understanding verification results

Learn how to interpret the verification results returned by the Kawaa API.

Response fields

FieldDescription
data.emailThe email address that was verified
data.statusOverall status: one of the eight values listed below
data.sub_statusWhy that status was reached (e.g. mailbox_reject, greylisted). Usually absent on disposable and spam_trap, where the status is the reason. If the domain’s DNS lookup failed during that check, it is temporary_failure: the verdict stands, but the domain checks beside it were not measured
data.quality_scoreQuality score from 0-100
data.verification.mx_foundWhether MX records exist for the domain
data.verification.catch_allWhether the domain accepts mail for any address
data.flags.disposableIf using a temporary email service
data.flags.role_accountIf it's a role address (info@, support@)
data.flags.free_providerIf using a free email provider
data.flags.abuse_emailIf the part before the @ matches an abuse or complaint-handling contact, such as abuse@, postmaster@ or legal@, at any domain. A match on the address, not on anything its owner has done
data.flags.spam_trapReserved. Kawaa’s reviewed trap-domain list is empty, so no check since September 22, 2026 sets this flag. A stored result from before then can still have it: verify the address again
data.credits_usedCredits consumed by this request

Status values

Handle all eight values. An address that is disposable, a role account or a catch-all is reported under its own status rather than folded into risky, so code that only branches on the first four will fall through on real traffic.

  • valid - Verification checks indicate the address is deliverable; provider-limited and catch-all results are flagged separately
  • invalid - No valid mail server or SMTP rejected the mailbox
  • risky - The mailbox was not confirmed and something is against it: the server blocked our check (policy_block), the mailbox is full or the catch-all test could not finish (temporary_failure), or only DNS was checked (dns_only)
  • unknown - No verdict yet: no mail server could be reached, the connection dropped, or the mail server check ran out of time before the server answered for the mailbox (connection_failure), the server greylisted the check (greylisted), deferred it with a temporary error or a DNS lookup failed transiently (temporary_failure), or the mailbox check was skipped (dns_only). Retry later
  • disposable - Throwaway address from a temporary-mail provider
  • role - Shared department address such as info@ or support@
  • catch_all - Domain accepts mail for any address (catch_all), or the mail provider accepts every probe (provider_accept_all), so the mailbox cannot be proven
  • spam_trap - Reserved. Kawaa’s reviewed trap-domain list is empty, so no check since September 22, 2026 returns this status. A stored result from before then can still carry it: verify the address again

Quality score

The score (0-100) indicates overall email quality:

  • 90-100: Excellent - lowest observed risk
  • 70-89: Good - minor concerns
  • 50-69: Fair - Use caution, some risk factors
  • 0-49: Poor - High risk, consider not sending

The score never contradicts the status: it is capped at 10 for invalid, 5 for spam_trap, 50 for unknown and 60 for risky and catch_all, and at 60 for role unless the mailbox itself was confirmed.

Something wrong or missing here?

Tell us what to fix. Your email goes to the support team with this article's title already filled in.

Send feedback

Still need help?

Email support@kawaa.com. If your question is about a bulk job, include its job ID from the dashboard.

Contact support