Skip to main content

For developers

Email verification you call from your own code

Send an address to one REST endpoint and get back a status, a sub-status that explains it, a 0–100 quality score and flags. Verify at sign-up, or submit a batch and get a webhook when it finishes.

At a glance

Endpoint
POST /v1/verify
Addresses per batch
100 on Free, up to 10,000 on Enterprise
Rate limit
10 requests a minute on Free, up to 5,000 on Enterprise
Packages
kawaa on npm and PyPI

Where Kawaa fits

The problem, and what Kawaa does about it

  1. The problem

    Verification is more than a regex

    A real check needs DNS and MX lookups, a conversation with the receiving mail server and knowledge of how the big providers behave.

    What Kawaa does

    One call runs every layer

    Syntax, domain, MX, mailbox and risk checks run behind a single request, each where it applies, and the sub-status tells you what decided the result.

  2. The problem

    Mail servers do not always answer

    Greylisting, temporary failures and catch-all domains turn a simple yes or no into a maybe.

    What Kawaa does

    Uncertainty is a field your code can read

    Results that cannot be confirmed come back as risky, catch_all or unknown with a sub_status such as greylisted or temporary_failure, so you can branch on them.

  3. The problem

    Big lists do not fit in a request

    Checking thousands of addresses inline would time out your own request long before the last one finishes.

    What Kawaa does

    Batches run in the background

    Submit a batch or a file, then poll the job or subscribe a webhook endpoint to job.completed, and download the results as CSV or JSON, filtered by status if you want.

  4. The problem

    Integrations stall on missing detail

    Undocumented errors and unclear limits turn an afternoon of work into a week.

    What Kawaa does

    Packages and a public reference

    Install kawaa from npm or PyPI, or call the REST API from any language. Error codes are documented, and rate-limited responses carry X-RateLimit headers and Retry-After.

What you get

Included for this workflow

  • Single, batch and file verification endpoints
  • Webhook endpoints signed with HMAC-SHA256
  • Job results as CSV or JSON, filterable by status
  • Documented error codes and rate-limit headers
  • Node.js and Python packages
  • Source clients for PHP, Go, Ruby, Java, C# and Rust
  • API reference and playground at kawaa.com/docs
  • Live service health at status.kawaa.com

Get an API key and make your first call

100 free verifications with every check. No credit card required.