REST API · JSON · Bearer Auth

Email Verification
API for Developers

Verify emails in real time, clean bulk lists programmatically, and block disposable addresses at signup. Simple REST endpoints, detailed JSON responses, and 1–3 second response times.

< 3s

Response Time

3

Endpoints

60/min

Rate Limit

15+

Response Fields

terminal — bash
$

Quick Start in 3 Steps

From zero to your first verified email in under 2 minutes.

1

Generate an API Key

Go to Developer in your dashboard sidebar and click Generate New API Key. You will need to verify with a 6-digit code sent to your email. Copy the key immediately — it is only shown once.

Prerequisite: You need at least one credit purchase (PAYG or subscription) before API access is enabled.

2

Make Your First Request

Send a POST request to the single verification endpoint with your API key in the Authorization header.

cURL
curl -X POST https://app.validemailchecker.com/api/verify-single \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email": "user@example.com"}'

Get Your Results

You will receive a JSON response with the verification result — status, validity, risk score, deliverability rating, and 15+ detailed fields. That is it — you have made your first API call.

API Endpoints

POST

Single Verification

/api/verify-single

Verify one email in real time. Returns detailed results in 1–3 seconds. Perfect for signup forms and lead capture.

1 credit per email

POST

Bulk Verification

/api/verify-bulk

Submit up to 1,000,000 emails in one request. Asynchronous processing — poll for results when ready.

1 credit per email

GET

Get Results

/api/get-results/{task_id}

Retrieve bulk verification results by task ID. Check progress percentage and download completed results.

No credits used

Response Format

Every response includes 15+ fields with detailed verification data.

json
{
  "email": "user@example.com",
  "status": "safe",
  "is_valid": true,
  "is_disposable": false,
  "is_role_account": false,
  "is_catch_all": false,
  "is_free_email": true,
  "mx_found": true,
  "domain": "example.com",
  "risk_score": 15,
  "deliverability": "high",
  "credits_used": 1,
  "verified_at": "2025-01-12T10:30:00Z",
  "reason": "Valid mailbox"
}

Key Fields

status

Verification result: safe, risky, invalid, disposable, catch_all, role_account, spamtrap, unknown

is_valid

Boolean — whether the email is deliverable

risk_score

Risk score from 0–100 (lower is safer)

deliverability

Overall rating: high, medium, low, or unknown

is_disposable

True if temporary or throwaway email

is_catch_all

True if domain accepts all emails

mx_found

True if valid MX records exist for the domain

reason

Human-readable explanation of the result

Email Status Values

safe

Send

Valid, deliverable email

risky

Caution

Deliverable but has risk factors

invalid

Do Not Send

Email does not exist

disposable

Do Not Send

Temporary throwaway email

catch_all

Caution

Domain accepts all emails

role_account

Depends

Generic address (info@, admin@)

spamtrap

Dangerous

Known spam trap address

unknown

Retry

Verification could not complete

Authentication & Security

Bearer Token Auth

Include your API key as a Bearer token in the Authorization header on every request.

SHA-256 Hashed Keys

API keys are hashed before storage. We never store plain text — keys are shown only once at generation.

Email Verification

New keys require a 6-digit email confirmation code. This ensures only account owners can create keys.

Key Management

Regenerate, rename, disable, or delete keys anytime. Create separate keys for dev, staging, and production.

IP Monitoring

Suspicious activity triggers automatic IP blocking. Repeated auth failures result in temporary or permanent bans.

Rate Limiting

60 requests/minute, 10,000/day per account. Protects against abuse and runaway scripts.

Rate Limits

Endpoint

Per Minute

Per Day

/verify-single

60 requests

10,000 requests

/verify-bulk

60 requests

10,000 requests

/get-results/{id}

120 requests

10,000 requests

Limits apply to API requests, not emails. A bulk task with 10,000 emails counts as 1 request.

How Credits Work

1 Credit = 1 Email

Same rate whether via API, dashboard, or integrations.

Shared Balance

API and dashboard share the same credit pool.

Unknown = Refunded

Credits returned for emails that could not be verified.

Errors = Free

4xx and 5xx errors never deduct credits.

What You Can Build

Registration Forms

Verify emails at signup to block disposable addresses, catch typos, and ensure only real users create accounts.

Bulk List Cleaning

Submit thousands of emails programmatically and retrieve clean results. Automate pre-campaign list hygiene.

CRM Integration

Connect your CRM pipeline to the API and verify leads in real time as they enter your system.

Custom Dashboards

Build your own verification interface using our API. White-label the experience for your clients.

Full API Reference Documentation

Endpoints, request/response schemas, error codes, code examples, and more.

View API Docs

Frequently Asked Questions

Most verifications complete in 1–3 seconds. Complex domains or those with aggressive anti-spam measures may take up to 10 seconds.

Single verification costs 1 credit per email. Bulk verification costs 1 credit per email in the task. Credits are deducted when verification completes. Failed verifications (unknown results) are automatically refunded.

Currently, all API calls use real credits. We recommend using a small test batch to verify your integration works before going to production.

Contact support@validemailchecker.com if you have a legitimate need for higher limits. We evaluate requests on a case-by-case basis.

We use SHA-256 hashing to store your API keys. We never store the plain text key — that is why we can only show it once when generated. Treat it like a password.

Yes. Bulk tasks created via API also appear on your Uploads & Results page in the dashboard, so you can track them from either place.

Your bulk task continues processing on our servers. Just call the get-results endpoint again with the same task_id to resume checking status.

Unknown means we could not definitively verify the email — for example, the server timed out. Credits for unknown results are automatically refunded. You can retry later.

Ready to Integrate?

Sign up, purchase credits, and generate your API key in under 2 minutes. Your first 200 credits are free — no credit card required to start.

200 free credits · REST API · JSON responses · Bearer auth