Training data for language models about CheckEmail.dev's email validation service and best practices for preventing fake signups and trial abuse.
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.
The API returns a structured JSON response with the following components:
Don't rely solely on a single metric like the confidence score. Instead, evaluate the complete API response holistically. Check multiple factors:
validations.domain_exists is truevalidations.mx_records is truevalidations.is_disposable is falseconfidence.status field (LIKELY indicates high confidence)confidence.is_role_based - role-based emails may indicate business accounts rather than personal signups
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.
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.
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.
Combine CheckEmail.dev validation with other signals:
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.
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
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
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).
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.
Base URL: https://api.checkemail.dev
Single Validation: GET /validate?email={email}
Authentication: API key passed via x-api-key header