Versão v1 • Atualizado em 11/11/2025

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.br

Autenticaçã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:

quickValidação Rápida
10-50ms (cache)

DNS + blacklist básica. Recomendado para formulários em tempo real (latência crítica).

standardValidação Padrão
300ms-1.2s

+ Validação em mais de 200 listas globais + SMTP. Recomendado para cadastros gerais (balanceado).

extensiveAnálise Completa
3-5s

+ 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

POST/v1/validate

Valida um endereço de email em tempo real.

https://api.emeio.com.br/v1/validate

Parâmetros da Requisição

emailobrigatório

String - Email a ser validado

modeopcional

String - 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

valid

Boolean - Indica se o email é válido

email

String - O email validado

domain

String - Domínio do email

reason

String - Razão da invalidação (se aplicável)

Objeto dns

mx_records

Array - Lista de registros MX do domínio

has_spf

Boolean - Indica se o domínio possui registro SPF

has_dmarc

Boolean - Indica se o domínio possui registro DMARC

Objeto smtp

accepted

Boolean - Se o servidor SMTP aceitou o email

server

String - Servidor SMTP utilizado

code

Number - Código de resposta SMTP

message

String - Mensagem retornada pelo servidor SMTP

Objeto blacklist

status

String - Status da blacklist

first_seen

String (ISO 8601) - Primeira detecção na blacklist

last_seen

String (ISO 8601) - Última detecção na blacklist

websites_targeted

Number - Número de sites alvos de ataques

Objeto metadata

timestamp

String (ISO 8601) - Data/hora da validação

latency_ms

Number - Latência da requisição em milissegundos

Campos Retornados por Modo

Campoquickstandardextensive
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

200OK

Sucesso - Email validado (pode ser válido ou inválido)

400Bad Request

Formato de requisição inválido

401Unauthorized

Token de autenticação inválido ou ausente

403Forbidden

Acesso negado

Razões de Invalidação

blacklisted

Email/domínio em blacklist

temporary_domain

Domínio descartável (temporário)

no_mx_records

Domínio sem registros MX

smtp_rejected

Servidor SMTP rejeitou o email

invalid

Falha 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

Suporte

Tem dúvidas sobre a implementação? Nossa equipe está pronta para ajudar.