Documentação da API
API REST para validação avançada de endereços de email em tempo real
URL Base
https://api.emeio.com.brAutenticação
Todas as requisições requerem um token de API no header Authorization.
Formato do Header
Authorization: Bearer emk_prod_seu_tokenaqui
Modos de Validação
Escolha o modo de validação adequado para seu caso de uso:
DNS + blacklist básica. Recomendado para formulários em tempo real (latência crítica).
+ Validação em mais de 200 listas globais + SMTP. Recomendado para cadastros gerais (balanceado).
+ Análise completa do domínio. Recomendado para verificações de segurança (análise profunda).
Validação Apple/iCloud
Emails com domínios @icloud.com, @me.com e @mac.com são validados via Apple API (~1.5s) ao invés de SMTP.
Endpoint: Validar Email
/v1/validateValida um endereço de email em tempo real.
https://api.emeio.com.br/v1/validateParâmetros da Requisição
emailobrigatórioString - Email a ser validado
modeopcionalString - Modo de validação: "quick", "standard" (padrão), ou "extensive"
Exemplo de Requisição (POST)
curl -X POST https://api.emeio.com.br/v1/validate \
-H "Authorization: Bearer emk_prod_seu_tokenaqui" \
-H "Content-Type: application/json" \
-d '{"email": "[email protected]", "mode": "standard"}'Exemplo de Requisição (GET - Validação Rápida)
curl "https://api.emeio.com.br/v1/[email protected]&mode=quick" \ -H "Authorization: Bearer emk_prod_seu_tokenaqui"
Estrutura da Resposta
Exemplo de resposta completa para um email detectado em blacklist:
{
"valid": false,
"email": "[email protected]",
"domain": "dominio.com",
"reason": "blacklisted",
"dns": {
"mx_records": ["mail.dominio.com."],
"has_spf": true,
"has_dmarc": true
},
"smtp": {
"accepted": false,
"server": "mail.dominio.com:25",
"code": 550,
"message": "User unknown"
},
"blacklist": {
"status": "blacklisted",
"first_seen": "2025-11-10T00:00:00Z",
"last_seen": "2025-11-10T18:52:18Z",
"websites_targeted": 48
},
"metadata": {
"timestamp": "2025-11-10T19:04:20Z",
"latency_ms": 342
}
}Descrição dos Campos
Campos Principais
validBoolean - Indica se o email é válido
emailString - O email validado
domainString - Domínio do email
reasonString - Razão da invalidação (se aplicável)
Objeto dns
mx_recordsArray - Lista de registros MX do domínio
has_spfBoolean - Indica se o domínio possui registro SPF
has_dmarcBoolean - Indica se o domínio possui registro DMARC
Objeto smtp
acceptedBoolean - Se o servidor SMTP aceitou o email
serverString - Servidor SMTP utilizado
codeNumber - Código de resposta SMTP
messageString - Mensagem retornada pelo servidor SMTP
Objeto blacklist
statusString - Status da blacklist
first_seenString (ISO 8601) - Primeira detecção na blacklist
last_seenString (ISO 8601) - Última detecção na blacklist
websites_targetedNumber - Número de sites alvos de ataques
Objeto metadata
timestampString (ISO 8601) - Data/hora da validação
latency_msNumber - Latência da requisição em milissegundos
Campos Retornados por Modo
| Campo | quick | standard | extensive |
|---|---|---|---|
| valid, email, domain, reason | |||
| dns | |||
| smtp | |||
| icloud_validation (Apple apenas) | |||
| blacklist.status | |||
| blacklist.recent_attacks | |||
| domain_analysis |
Códigos de Status e Razões
Códigos HTTP
200OKSucesso - Email validado (pode ser válido ou inválido)
400Bad RequestFormato de requisição inválido
401UnauthorizedToken de autenticação inválido ou ausente
403ForbiddenAcesso negado
Razões de Invalidação
blacklistedEmail/domínio em blacklist
temporary_domainDomínio descartável (temporário)
no_mx_recordsDomínio sem registros MX
smtp_rejectedServidor SMTP rejeitou o email
invalidFalha na validação (formato inválido, Apple API rejeitou, etc.)
Exemplos de Código
Exemplo de validação usando JavaScript/Node.js:
async function validarEmail(email) {
const response = await fetch('https://api.emeio.com.br/v1/validate', {
method: 'POST',
headers: {
'Authorization': 'Bearer emk_prod_seu_tokenaqui',
'Content-Type': 'application/json'
},
body: JSON.stringify({
email: email,
mode: 'standard'
})
});
return await response.json();
}
// Uso
const resultado = await validarEmail('[email protected]');
console.log(resultado.valid); // true ou false