Referência
EmailCheckPro Referência da API
Todos os endpoints compartilham uma chave de API e um saldo.
| Item | Valor |
|---|---|
| URL base | https://emailcheckpro.com |
| Cabeçalho de autenticação | X-API-Key: sk_your_api_key |
| Envelope da resposta | { code, msg, data } |
Os preços não são listados aqui; todos os produtos são cobrados por verificação bem-sucedida. Ver preços
Autenticação
Use uma chave de API criada em Configurações e envie-a em todas as solicitações.
X-API-Key: sk_your_api_keyMantenha sua chave de API em segredoSempre chame este endpoint a partir do seu servidor. Qualquer pessoa que tenha a chave pode gastar seu saldo.
Verificações síncronas
Envie um endereço de e-mail, ou até 100 em uma solicitação, e leia o resultado na mesma resposta. Sem consultas periódicas, sem callbacks. Um resultado indeterminado retorna 422 com o code 42200 e não é cobrado. Uma solicitação múltipla mantém a ordem de entrada, cobra cada identificador de forma independente e tem 300 segundos para terminar — caso contrário, a solicitação inteira falha e todas as cobranças são reembolsadas.
Parâmetros
| Campo | Tipo | Descrição |
|---|---|---|
service_type | string | Código do produto, um dos produtos listados abaixo. |
identifier | string | Verificação única: um endereço de e-mail. O servidor o normaliza. |
identifiers | string[] | Verificação múltipla: de 1 a 100 endereços de e-mail. A resposta preserva esta ordem. |
Produtos deste grupo
Verificação de entregabilidade de e-mailemailConfirme se um endereço de e-mail ainda pode receber mensagens — funciona em qualquer domínio, do Gmail ao domínio próprio de uma empresa.Página do produto
Verificação de avatar de e-mailemail_avatarStatus de entregabilidade e a URL do avatar associado ao endereço, para Gmail, Yandex e Mail.ru.Página do produto

Verificação de entregabilidade de e-mail
emaile-mailConfirme se um endereço de e-mail ainda pode receber mensagens — funciona em qualquer domínio, do Gmail ao domínio próprio de uma empresa.
Verificação única
POST/api/v1/checkcurl -X POST "https://emailcheckpro.com/api/v1/check" \
-H "X-API-Key: sk_your_api_key" \
-H "Content-Type: application/json" \
-d '{ "service_type": "email", "identifier": "name@gmail.com" }'{
"code": 0,
"msg": "ok",
"data": {
"service_type": "email",
"identifier": "name@gmail.com",
"registered": true
}
}Campos da resposta
| Campo | Tipo | Descrição |
|---|---|---|
registered | boolean | Se o endereço é entregável — se pode receber mensagens. |
Verificação múltipla
POST/api/v1/batch-checkcurl -X POST "https://emailcheckpro.com/api/v1/batch-check" \
-H "X-API-Key: sk_your_api_key" \
-H "Content-Type: application/json" \
-d '{ "service_type": "email", "identifiers": ["name@gmail.com", "unknown@gmail.com", "not-an-email"] }'{
"code": 0,
"msg": "ok",
"data": {
"service_type": "email",
"total": 3,
"succeeded": 2,
"failed": 1,
"results": [
{
"identifier": "name@gmail.com",
"exists": true,
"registered": true
},
{
"identifier": "unknown@gmail.com",
"exists": true,
"registered": false
},
{
"identifier": "not-an-email",
"exists": false
}
]
}
}Campos da resposta
| Campo | Tipo | Descrição |
|---|---|---|
exists | boolean | Se este e-mail produziu um resultado. false significa que o formato era inválido, que o resultado foi indeterminado ou que a verificação falhou; quando false, nenhum dos campos abaixo está presente. |
registered | boolean | Se o e-mail é entregável, ou seja, se pode receber mensagens. Presente apenas quando exists é true, com o mesmo significado da verificação única. |

Verificação de avatar de e-mail
email_avatare-mailStatus de entregabilidade e a URL do avatar associado ao endereço, para Gmail, Yandex e Mail.ru.
Verificação única
POST/api/v1/checkcurl -X POST "https://emailcheckpro.com/api/v1/check" \
-H "X-API-Key: sk_your_api_key" \
-H "Content-Type: application/json" \
-d '{ "service_type": "email_avatar", "identifier": "name@gmail.com" }'{
"code": 0,
"msg": "ok",
"data": {
"service_type": "email_avatar",
"identifier": "name@gmail.com",
"registered": true,
"avatar": true,
"avatar_url": "https://lh3.googleusercontent.com/a-/example"
}
}Campos da resposta
| Campo | Tipo | Descrição |
|---|---|---|
registered | boolean | Se o endereço é entregável nesse provedor — se pode receber mensagens. |
avatar | boolean | Se há um avatar definido. |
avatar_url | string | URL do avatar, quando houver; pode vir vazia mesmo quando avatar é true. |
Verificação múltipla
POST/api/v1/batch-checkcurl -X POST "https://emailcheckpro.com/api/v1/batch-check" \
-H "X-API-Key: sk_your_api_key" \
-H "Content-Type: application/json" \
-d '{ "service_type": "email_avatar", "identifiers": ["name@gmail.com", "unknown@gmail.com", "not-an-email"] }'{
"code": 0,
"msg": "ok",
"data": {
"service_type": "email_avatar",
"total": 3,
"succeeded": 2,
"failed": 1,
"results": [
{
"identifier": "name@gmail.com",
"exists": true,
"registered": true,
"avatar": true,
"avatar_url": "https://lh3.googleusercontent.com/a-/example"
},
{
"identifier": "unknown@gmail.com",
"exists": true,
"registered": false,
"avatar": false,
"avatar_url": ""
},
{
"identifier": "not-an-email",
"exists": false
}
]
}
}Campos da resposta
| Campo | Tipo | Descrição |
|---|---|---|
exists | boolean | Se este e-mail produziu um resultado. false significa que o formato era inválido, que o resultado foi indeterminado ou que a verificação falhou; quando false, nenhum dos campos abaixo está presente. |
registered | boolean | Se o e-mail é entregável, ou seja, se pode receber mensagens. Presente apenas quando exists é true, com o mesmo significado da verificação única. |
avatar | boolean | Se há um avatar definido. |
avatar_url | string | URL do avatar, quando houver; pode vir vazia mesmo quando avatar é true. |
Verificações assíncronas
Envie um arquivo e receba um ID de tarefa imediatamente; depois, consulte esse ID até que seja concluído com sucesso. A resposta de sucesso inclui result_url, o link para baixar o resultado. Existem apenas duas ações: enviar e consultar. Não consulte com frequência maior que uma vez a cada 30 segundos.
Parâmetros
| Campo | Tipo | Descrição |
|---|---|---|
service_type | string | Código do produto em massa, um dos produtos listados abaixo. |
country | string | Não é necessário em tarefas de e-mail: omita-o. Se você o enviar, ele será ignorado. |
file | file | Um .txt ou .csv com um identificador por linha, até max_file_bytes (20MB por padrão). |
Idempotency-Key | header | Opcional, até 128 caracteres. Reenviar a mesma chave retorna a tarefa original em vez de criar uma segunda. |
Produtos deste grupo
Verificação de entregabilidade de e-mail em massaemail_batchEnvie um arquivo inteiro de endereços, descubra quais podem receber mensagens e baixe o resultado quando terminar.Página do produto
Verificação de avatar de e-mail em massaemail_avatar_batchEnvie um arquivo inteiro de endereços Gmail, Yandex ou Mail.ru: descubra quais são entregáveis e obtenha o avatar de cada um.Página do produto

Verificação de entregabilidade de e-mail em massa
email_batche-mail1.000–500.000 por tarefaEnvie um arquivo inteiro de endereços, descubra quais podem receber mensagens e baixe o resultado quando terminar.
Enviar uma tarefa
POST/api/v1/bulk-taskscurl -X POST "https://emailcheckpro.com/api/v1/bulk-tasks" \
-H "X-API-Key: sk_your_api_key" \
-F service_type=email_batch \
-F file=@emails.txt{
"code": 0,
"msg": "ok",
"data": {
"id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
"product": "email_batch",
"status": "processing",
"submitted_lines": 1015,
"total": 1015,
"invalid_cnt": 0,
"no_code_cnt": 0,
"other_country_cnt": 0,
"duplicate_cnt": 0,
"preparing": true,
"created_at": "2026-09-08T09:30:00Z"
}
}Consultar a tarefa
GET/api/v1/bulk-tasks/{id}curl "https://emailcheckpro.com/api/v1/bulk-tasks/3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13" \
-H "X-API-Key: sk_your_api_key"{
"code": 0,
"msg": "ok",
"data": {
"id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
"product": "email_batch",
"status": "success",
"submitted_lines": 1015,
"total": 1000,
"invalid_cnt": 3,
"no_code_cnt": 0,
"other_country_cnt": 0,
"duplicate_cnt": 12,
"preparing": false,
"success_cnt": 990,
"failure_cnt": 10,
"result_url": "https://…/result.csv",
"created_at": "2026-09-08T09:30:00Z"
}
}Colunas do resultado
| Campo | exemplo: | Descrição |
|---|---|---|
identifier | alex.kim@example.com | O endereço de e-mail enviado, em letras minúsculas. |
activated | true | Se o endereço pode receber mensagens: true (alcançável) ou false (não alcançável). |

Verificação de avatar de e-mail em massa
email_avatar_batche-mail1.000–500.000 por tarefaEnvie um arquivo inteiro de endereços Gmail, Yandex ou Mail.ru: descubra quais são entregáveis e obtenha o avatar de cada um.
Enviar uma tarefa
POST/api/v1/bulk-taskscurl -X POST "https://emailcheckpro.com/api/v1/bulk-tasks" \
-H "X-API-Key: sk_your_api_key" \
-F service_type=email_avatar_batch \
-F file=@emails.txt{
"code": 0,
"msg": "ok",
"data": {
"id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
"product": "email_avatar_batch",
"status": "processing",
"submitted_lines": 1015,
"total": 1015,
"invalid_cnt": 0,
"no_code_cnt": 0,
"other_country_cnt": 0,
"duplicate_cnt": 0,
"preparing": true,
"created_at": "2026-09-08T09:30:00Z"
}
}Consultar a tarefa
GET/api/v1/bulk-tasks/{id}curl "https://emailcheckpro.com/api/v1/bulk-tasks/3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13" \
-H "X-API-Key: sk_your_api_key"{
"code": 0,
"msg": "ok",
"data": {
"id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
"product": "email_avatar_batch",
"status": "success",
"submitted_lines": 1015,
"total": 1000,
"invalid_cnt": 3,
"no_code_cnt": 0,
"other_country_cnt": 0,
"duplicate_cnt": 12,
"preparing": false,
"success_cnt": 990,
"failure_cnt": 10,
"result_url": "https://…/result.csv",
"created_at": "2026-09-08T09:30:00Z"
}
}Colunas do resultado
| Campo | exemplo: | Descrição |
|---|---|---|
identifier | alex.kim@gmail.com | O endereço enviado, em letras minúsculas. |
activated | true | Se o endereço é entregável nesse provedor — se pode receber mensagens: true ou false. Quando não for true, todas as outras colunas dessa linha ficam vazias. |
avatar | true | Se há um avatar definido: true ou false. avatar_url ainda pode vir vazia quando a imagem não estiver disponível. |
avatar_url | https://lh3.googleusercontent.com/a/example | A URL da foto de perfil; vazia quando nenhuma URL está disponível. |
Saldo
Lê o saldo atual da conta em micros de USD. Somente leitura: não cria registro de verificação nem cobra nada.
Saldo
GET/api/v1/balancecurl "https://emailcheckpro.com/api/v1/balance" \
-H "X-API-Key: sk_your_api_key"{
"code": 0,
"msg": "ok",
"data": {
"balance_micros": 12500000
}
}Concorrência, tempos limite e comportamento de novas tentativas
As verificações de entregabilidade de e-mail são síncronas. Use o code retornado para decidir se aceita o resultado ou tenta novamente.
| Campo | Descrição |
|---|---|
5 solicitações simultâneas por usuário | As verificações únicas e múltiplas compartilham este limite, e uma solicitação múltipla conta como uma solicitação, independentemente de quantos e-mails ela contenha. Além disso, apenas uma verificação múltipla por conta é executada por vez; uma segunda é rejeitada até que a primeira termine. Atingir qualquer um dos limites retorna o code 42901 imediatamente, sem cobrança, com um cabeçalho Retry-After — reenvie assim que uma solicitação em andamento terminar. |
60s para única, 300s para múltipla | Exceder o limite de tempo retorna o code 50400, sem cobrança. Uma verificação múltipla que excede o tempo falha por inteiro — sem resultados parciais, e o valor total é reembolsado. |
Uma verificação múltipla aceita até 100 e-mails | Os resultados preservam a ordem e a quantidade do envio. Uma verificação múltipla por conta é executada por vez; envie o próximo lote depois que o anterior retornar. |
Códigos de erro
| Código | Descrição |
|---|---|
40000 | Tipo de serviço não suportado ou campos da solicitação conflitantes |
40001 | Corpo JSON inválido |
40002 | E-mail inválido |
40100 | Chave de API ausente ou inválida |
40200 | Saldo insuficiente |
42200 | Não foi possível determinar o e-mail neste momento. Nenhum dado é retornado e a solicitação não é cobrada |
42900 | Uma cota de uso foi esgotada ou há pedidos não concluídos demais |
42901 | Todas as cinco vagas de solicitações em andamento estão ocupadas, ou uma verificação múltipla já está em execução nesta conta; envie depois que uma solicitação em andamento terminar. A solicitação rejeitada não é cobrada e traz um cabeçalho Retry-After |
50303 | O serviço está no limite da capacidade no momento; sem cobrança. Aguarde os segundos indicados em Retry-After e reenvie a mesma solicitação |
50400 | A verificação não terminou dentro do tempo limite e não é cobrada; tente novamente. O tempo esgotado de um lote faz o lote inteiro falhar e reembolsa o valor total |
50300 | Manutenção do serviço de validação |