Skip to content

Email Validation

The Email Validation integration provides real-time email address validation including deliverability checks, spam trap detection, and domain verification.

DetailValue
Cost$0.05 per validation
Rate limit3,000 requests/min
BillingWallet-based (pre-paid)
  1. Go to Integrations in your dashboard at app.econsent.org.
  2. Enable Email Validation and copy your API token.
  3. Make your first request:
Terminal window
curl -X POST https://api.econsent.org/api/integrations/YOUR_COMPANY_ID/vzew/email \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"email": "user@example.com"
}'
POST https://api.econsent.org/api/integrations/:companyId/vzew/email

Use Bearer token authentication with your Email Validation integration token:

Authorization: Bearer YOUR_API_TOKEN
ParameterTypeDescription
companyIdstringYour Company ID
FieldTypeRequiredDescription
emailstringYesEmail address to validate
{
"success": true,
"status": 200,
"data": {
"email": "john.doe@example.com",
"valid": true,
"deliverable": true,
"spam_trap": false,
"disposable": false,
"role_based": false,
"free_provider": false,
"domain": "example.com",
"mx_records": true,
"smtp_valid": true,
"score": 95,
"reason": "Valid email address"
},
"billing": {
"currency": "USD",
"cost_charged": 0.05,
"remaining_balance": 123.40,
"formatted": {
"cost_charged": "$0.05",
"remaining_balance": "$123.40"
}
},
"processing_time_ms": 150,
"service": "email",
"company_id": "comp-abc",
"timestamp": "2025-03-18T10:30:00Z",
"provider": "vzew"
}
FieldTypeDescription
data.emailstringThe email address validated
data.validbooleanOverall validity (syntax + deliverability)
data.deliverablebooleanCan the email receive messages
data.spam_trapbooleanKnown spam trap address
data.disposablebooleanTemporary/disposable email provider
data.role_basedbooleanRole-based email (info@, admin@, etc.)
data.free_providerbooleanFree email provider (Gmail, Yahoo, etc.)
data.domainstringDomain of the email address
data.mx_recordsbooleanDomain has valid MX records
data.smtp_validbooleanSMTP validation passed
data.scorenumberOverall quality score (0—100)
data.reasonstringHuman-readable validation result
billing.cost_chargednumberAmount deducted from wallet ($0.05)
billing.remaining_balancenumberRemaining wallet balance
Score rangeQualityRecommendation
90—100ExcellentSafe to send
70—89GoodGenerally safe
50—69FairUse with caution
0—49PoorNot recommended
StatusMeaning
400Bad request: invalid email format
401Unauthorized: invalid API token
402Payment required: insufficient wallet balance
403Forbidden: integration not enabled
429Rate limited: exceeded 3,000 requests/min

You can verify your integration status, wallet balance, and available services using the health check endpoint:

GET https://api.econsent.org/api/integrations/:companyId/vzew/health

The response includes your current wallet balance, available integrations, service costs, and routing configuration.

async function validateEmail(email) {
const companyId = process.env.ECONSENT_COMPANY_ID;
const token = process.env.ECONSENT_EMAIL_TOKEN;
const response = await fetch(
`https://api.econsent.org/api/integrations/${companyId}/vzew/email`,
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${token}`,
},
body: JSON.stringify({ email }),
}
);
const data = await response.json();
if (data.success) {
console.log('Valid:', data.data.valid);
console.log('Deliverable:', data.data.deliverable);
console.log('Score:', data.data.score);
console.log('Spam Trap:', data.data.spam_trap);
return data.data;
} else {
throw new Error(data.error);
}
}
  • Validate server-side. Perform email validation on your backend after basic client-side format checks.
  • Cache results. Store validation results for 30 days to avoid duplicate charges for the same email.
  • Handle disposable emails. Decide whether to reject disposable/temporary email addresses based on your use case.
  • Monitor spam traps. Always reject emails flagged as spam traps to protect your sender reputation.
  • Batch processing. When validating lists, process in batches and respect the 3,000 requests/min rate limit.
  • Cost per validation: $0.05
  • Rate limit: 3,000 requests/min
  • Billing method: Wallet-based (pre-paid via Stripe)

View all pricing details