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.

Starter

$12

5,000 / month

For signup forms and a steady stream of checks. 10 per second, 120 per minute.

Upgrade opens Paddle Checkout for the API key in this tab. Card details stay with Paddle. The account id is sent to Paddle as custom data. Overage is about $0.004 per validation after the included amount and is not billed yet. Emvali is not sold through a marketplace.

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.
POST /v1/billing/checkout
Bearer key. Body is {"plan":"starter"} or {"plan":"growth"}. Opens Paddle Checkout.
POST /v1/billing/portal
Bearer key. Opens the Paddle customer portal to update payment or cancel.
POST /v1/billing/webhook
Paddle-Signature. Updates the plan, monthly quota, and rate-limit tier.

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. This form does not collect a card. To upgrade, stay in this tab and choose a plan under Pricing.

  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.