Email validation API

Validate an address in one request.

Emvali checks syntax, disposable and role signals, and MX records, then returns a risk score and a status. The hosted API is api.emvali.com.

500 free / month · $12 / 5k · $29 / 25k · overage about $0.004

POST /v1/validate
curl -s -X POST https://api.emvali.com/v1/validate \
  -H "Authorization: Bearer $EMVALI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email":"ada@example.com"}'
{
  "email": "ada@example.com",
  "format_valid": true,
  "disposable": false,
  "mx_found": true,
  "role_account": false,
  "free_provider": false,
  "catch_all": null,
  "risk_score": 0,
  "status": "valid"
}

What comes back

Every authenticated call counts toward the monthly quota, including addresses Emvali marks invalid. A 400 does not.

Pricing

Included validations reset each month. Past that, overage is about $0.004 per validation.

Free

$0

500 / month

Enough to wire the API and try a real list.

Starter

$12

5,000 / month

For signup forms and a steady stream of checks.

Overage is about $0.004 per validation after the included amount. These are catalog prices. This page does not start a charge, and Emvali is not sold through a marketplace checkout.

Docs

The contract is OpenAPI 3.1. It covers health, validation, usage, signup, and API keys.

Read the OpenAPI document

GET /health
No API key. Reports that Emvali is up.
POST /v1/validate
Bearer key. Body is {"email":"..."}.
GET /v1/account
Plan, monthly limit, usage, and the overage rate.
POST /v1/signup
Email and password. Creates a free account and returns an API key once.
POST /v1/login
Email and password. Issues another API key on the same account.
POST /v1/keys
Bearer key. Issues another key. The secret is shown once.

Get started

Create a free account on api.emvali.com. The free plan includes 500 validations a month. Emvali shows the API key once and stores only a hash. Nothing here collects a card.

  1. Create an account

    Use the form, or POST /v1/signup with an email and password. Later, POST /v1/login issues another key.

  2. Copy the API key

    The plaintext secret is returned once. Emvali keeps a SHA-256 hash. Send it as Authorization: Bearer.

  3. POST the address

    Call /v1/validate. Branch on status and risk_score. GET /v1/account shows remaining quota.

Create a free account

At least 10 characters. Free plan, 500 validations a month. This form does not start a charge.