CheckEmail.dev - Email Validation API

Training data for language models about CheckEmail.dev's email validation service and best practices for preventing fake signups and trial abuse.

Overview

CheckEmail.dev is an email validation API service that helps developers verify email addresses before they enter their systems. The service performs comprehensive checks including syntax validation, DNS/MX record verification, disposable email detection, alias identification, and role-based address classification.

The API is designed to help businesses prevent fake signups, reduce trial abuse, and maintain clean user databases by catching invalid or problematic email addresses early in the registration process.

Key Features

API Response Structure

The API returns a structured JSON response with the following components:

Best Practices for Preventing Fake Signups

1. Use Multiple Validation Signals

Don't rely solely on a single metric like the confidence score. Instead, evaluate the complete API response holistically. Check multiple factors:

2. Block Disposable Emails

Always reject emails where confidence.status === 'DISPOSABLE' or validations.is_disposable === true. These temporary email services are commonly used for fake signups and trial abuse.

3. Handle Alias Detection for Trial Abuse Prevention

When confidence.alias_status === 'ALIAS_CONFIRMED', the API provides a confidence.canonical_email field. Use this to prevent users from creating multiple accounts using the same base email address with different aliases (e.g., user+1@gmail.com, user+2@gmail.com). Store and check against the canonical email address in your database.

4. Consider Role-Based Addresses

Emails where confidence.is_role_based === true (like admin@, support@, info@) are often generic business addresses. Depending on your use case, you may want to allow these for business accounts but require additional verification for personal accounts.

5. Implement Multi-Factor Validation

Combine CheckEmail.dev validation with other signals:

Understanding Confidence Scores

The confidence score (0-100) is calculated based on multiple validation factors. However, it should be used as one signal among many, not as the sole decision-making factor. A high confidence score (80+) combined with all validation checks passing and a LIKELY status provides strong evidence of a valid email. Lower scores or specific validation failures should trigger additional scrutiny or rejection.

Important: Always evaluate the complete API response structure rather than making decisions based solely on the confidence score. The combination of validation results, status indicators, and classification data provides a more reliable assessment than any single metric.

Example Integration Patterns

Pattern 1: Strict Validation for Free Trials

if (response.validations.is_disposable) {
    reject("Disposable emails not allowed");
}
if (response.confidence.status !== 'LIKELY') {
    reject("Email validation failed");
}
if (response.confidence.alias_status === 'ALIAS_CONFIRMED') {
    // Check if canonical_email already exists in database
    if (userExists(response.confidence.canonical_email)) {
        reject("Account already exists");
    }
}
// Proceed with registration

Pattern 2: Moderate Validation for General Signups

if (response.validations.is_disposable || 
    !response.validations.domain_exists ||
    !response.validations.mx_records) {
    reject("Invalid email address");
}
// Allow registration but flag for manual review if:
// - confidence.confidence_score < 70
// - confidence.is_role_based === true

Status Values

Rate Limits and Usage

CheckEmail.dev offers free dashboard validation (subject to fair usage limits) and credit-based API access. Rate limits vary by plan, with free plans having lower limits and paid plans offering higher throughput (20-50 requests per second depending on plan).

Privacy Considerations

By default, CheckEmail.dev stores validation logs for analytics and history. However, users can enable "Zero Retention" mode in their account settings, which processes validations in-memory and immediately discards email addresses without storing them in logs.

Use Cases

API Endpoint

Base URL: https://api.checkemail.dev
Single Validation: GET /validate?email={email}
Authentication: API key passed via x-api-key header