{
"scope": "ListCheck screens list health at three levels: email is checked at domain level (syntax, domain and MX existence, disposable and risk signals - never whether a mailbox exists), phone numbers at numbering-plan level (correctly formed for the country's plan, country and E.164 normalisation - never line reachability or carrier), and card numbers at format level (Luhn checksum, network from the IIN prefix, issued length - never account existence, funds or blocked status).",
"emails": {
"results": [
{
"email": "[email protected]",
"valid": true,
"score": 60,
"verdict": "risky",
"checks": {
"syntax": true,
"domainExists": true,
"mxFound": true,
"disposable": false,
"roleAccount": false,
"freeProvider": false
},
"mxRecords": [
"aspmx.l.google.com",
"alt3.aspmx.l.google.com",
"alt4.aspmx.l.google.com",
"alt1.aspmx.l.google.com",
"alt2.aspmx.l.google.com"
],
"suggestion": "[email protected]",
"typoLikely": true,
"domainAgeDays": 12273,
"domainAgeSource": "RDAP",
"catchAllRisk": "possible",
"note": "Domain accepts mail, but this address looks like a typo of the suggested address. Checks domain mail routing (MX) and risk signals. Does not probe individual mailbox existence. Catch-all risk is a risk signal based on MX/provider patterns, not a probing conclusion."
}
],
"summary": {
"total": 1,
"valid": {
"count": 0,
"percent": 0
},
"risky": {
"count": 1,
"percent": 100
},
"invalid": {
"count": 0,
"percent": 0
},
"disposable": {
"count": 0,
"percent": 0
},
"typoLikely": {
"count": 1,
"percent": 100
}
}
},
"phones": {
"results": [
{
"input": "+14155552671",
"valid": true,
"possible": true,
"country": "US",
"countryCallingCode": "+1",
"nationalNumber": "4155552671",
"e164": "+14155552671",
"internationalFormat": "+1 415 555 2671",
"nationalFormat": "(415) 555-2671",
"type": "FIXED_LINE_OR_MOBILE",
"uri": "tel:+14155552671",
"note": "Type is inferred from numbering plans (MOBILE / FIXED_LINE / TOLL_FREE / etc.). Carrier lookup is not included."
}
],
"summary": {
"total": 1,
"valid_count": 1,
"invalid_count": 0,
"valid_rate": 1,
"invalid_numbers": [],
"by_country": {
"US": 1
},
"by_type": {
"FIXED_LINE_OR_MOBILE": 1
},
"duplicates": [],
"duplicate_count": 0
}
},
"cards": {
"results": [
{
"number": "424242••••••4242",
"bin": "424242",
"last4": "4242",
"length": 16,
"valid": true,
"possible": true,
"checks": {
"luhn": true,
"length": true,
"networkKnown": true
},
"network": "Visa",
"networkId": "visa",
"expectedLengths": [
13,
16,
19
],
"testCard": true
}
],
"summary": {
"total": 1,
"valid": 1,
"invalid": 0
}
},
"summary": {
"total": 3,
"valid": 2,
"notValid": 1,
"legs": {
"email": {
"total": 1,
"valid": 0,
"flagged": 1,
"invalid": 0,
"disposable": 0,
"typoLikely": 1
},
"phone": {
"total": 1,
"valid": 1,
"invalid": 0,
"valid_rate": 1,
"duplicate_count": 0
},
"card": {
"total": 1,
"valid": 1,
"invalid": 0,
"testCards": 1
}
},
"note": "'valid' uses each leg's own verdict: email verdict 'valid' (risky counts as not valid here, see the email leg's summary for the split), phone numbering-plan valid, card format valid. See 'scope' for what each verdict does and does not mean."
}
}
curl --location --request POST 'https://zylalabs.com/api/14773/listcheck+api/38271/screen+batch' --header 'Authorization: Bearer YOUR_API_KEY'
--data-raw '{"emails": ["[email protected]"], "phones": ["+14155552671"], "cards": ["4242424242424242"]}'
{
"type": "email",
"input": "[email protected]",
"result": {
"email": "[email protected]",
"valid": true,
"score": 90,
"verdict": "valid",
"checks": {
"syntax": true,
"domainExists": true,
"mxFound": true,
"disposable": false,
"roleAccount": true,
"freeProvider": true
},
"mxRecords": [
"alt3.gmail-smtp-in.l.google.com",
"gmail-smtp-in.l.google.com",
"alt4.gmail-smtp-in.l.google.com",
"alt1.gmail-smtp-in.l.google.com",
"alt2.gmail-smtp-in.l.google.com"
],
"suggestion": null,
"typoLikely": false,
"domainAgeDays": 11410,
"domainAgeSource": "RDAP",
"catchAllRisk": "low",
"note": "Domain-level validation only: syntax, domain/MX health, disposable and provider risk. Mailbox existence is not probed (no SMTP check), so a valid result does not confirm the mailbox exists. The score is a domain risk score.",
"scope": "domain-level"
},
"scope": "ListCheck screens list health at three levels: email is checked at domain level (syntax, domain and MX existence, disposable and risk signals - never whether a mailbox exists), phone numbers at numbering-plan level (correctly formed for the country's plan, country and E.164 normalisation - never line reachability or carrier), and card numbers at format level (Luhn checksum, network from the IIN prefix, issued length - never account existence, funds or blocked status)."
}
curl --location --request POST 'https://zylalabs.com/api/14773/listcheck+api/38272/screen+single' --header 'Authorization: Bearer YOUR_API_KEY'
--data-raw '{"type": "email", "value": "[email protected]"}'
{
"ok": true,
"service": "ListCheck",
"version": 1
}
curl --location --request GET 'https://zylalabs.com/api/14773/listcheck+api/38273/health+check' --header 'Authorization: Bearer YOUR_API_KEY'
Após se cadastrar, cada desenvolvedor recebe uma chave de acesso à API pessoal, uma combinação única de letras e dígitos para acessar nosso endpoint de API. Para autenticar com a ListCheck API basta incluir seu token Bearer no cabeçalho Authorization.
| Cabeçalho | Descrição |
|---|---|
Authorization
|
Obrigatório
Deve ser Bearer access_key. Veja "Sua chave de acesso à API" acima quando você estiver inscrito.
|
Sem compromisso de longo prazo. Faça upgrade, downgrade ou cancele a qualquer momento.
Verifique toda uma lista em uma chamada: endereços de e-mail números de telefone e números de cartão verificados juntos resultados por item mais um resumo de saúde. Lote de até 100 por perna
Não O verificador de e-mail verifica o roteamento de e-mail de domínio (MX) dados de registro e sinais de risco A verificação em nível de caixa de correio é pouco confiável então não fazemos isso e não afirmamos isso
Não. Isso significa que o número está corretamente formado de acordo com o plano de numeração do seu país - comprimento correto, padrões de prefixo alocados. Se a linha está atribuída ou acessível, e qual operadora a atende, não pode ser conhecido apenas a partir da análise
Não O dígito da perna do cartão valida apenas o formato dígito de verificação rede reconhecida comprimento emitido Se uma conta existe tem fundos ou está bloqueada é conhecido apenas pelo emissor e nenhum dado do emissor banco país ou tipo de cartão é retornado
Nada quebra Uma entrada ruim volta para seu próprio slot de resultado marcada como inválida com o motivo enquanto todos os outros itens são verificados normalmente e os resumos ainda contabilizam toda a lista
Sim POST /screen/single aceita {"type": "email" | "phone" | "card", "value": "..."} — criado para validação de formulário no cadastro ou na finalização da compra