Anti Reteste V2 Verificação de números em lote
Operacional 14.438.362 registros 263.890 consultas 238.616 repetidos
API operacional REST · JSON
Anti Reteste API

Documentação da API

Integre verificações anti-reteste em bots, painéis ou scripts com uma única chamada HTTP.

3 endpoints
JSON entrada e saída
2.0.0 versão da API
14.438.362 registros na base

Visão geral

Todas as rotas respondem JSON. Use HTTPS em produção.

Base URL
http://antiretest.com

Envie um lote de linhas para /api/check: números inéditos entram na base e os já conhecidos voltam com a data do primeiro registro e o total de consultas.

Formato das linhas

Cada item de lines representa um cartão.

Cartão completo 4111111111111111|12|2028|123 número|mês|ano|cvv — ano com 2 ou 4 dígitos.
Hash SHA-256 9f86d081884c7d65…0f00a08 Fingerprint com 64 caracteres hexadecimais.
Separadores aceitos | ; , : / \ tab Espaços, pontos e hífens dentro do número são ignorados.
American Express 371449635398431|07|2030|1234 15 dígitos (34 ou 37) com CVV de 4 dígitos.
POST /api/check Verifica um lote de linhas

Com record: true (padrão), grava os números novos e incrementa as tentativas dos já existentes. Use record: false para apenas consultar.

Corpo da requisição
CampoTipoDescrição
vulgoobrigatóriostring · 1–40Store ou vulgo de quem consulta.
linesobrigatóriostring[]Linhas número|mês|ano|cvv ou hash SHA-256.
recordopcionalbooleanGravar novos e incrementar tentativas. Padrão true.
Requisição
JSON
{
  "vulgo": "Minha Store",
  "lines": [
    "4111111111111111|12|2028|123",
    "5555555555554444|03|2029|456"
  ],
  "record": true
}
Resposta 200
JSON
{
  "total": 2,
  "new": 1,
  "known": 1,
  "duplicated": 0,
  "invalid": 0,
  "items": [
    {
      "line": 1,
      "status": "new",
      "masked": "411111******1111",
      "cc_full": "4111111111111111|12|2028|123",
      "is_retest": false,
      "attempts": 1,
      "expiry": "12/2028",
      "expired": false,
      "vulgo": "Minha Store"
    },
    {
      "line": 2,
      "status": "known",
      "masked": "555555******4444",
      "is_retest": true,
      "added_on": "2026-09-20",
      "days_since_added": 3,
      "attempts": 4,
      "vulgo": "Ou**"
    }
  ]
}
Status por item
newNúmero inédito — gravado agora.
knownJá existia na base; traz added_on e attempts.
duplicatedRepetido dentro do próprio lote; traz first_line.
invalidLinha rejeitada; o motivo vem em reason.
GET /api/stats Estatísticas agregadas da base
CampoDescrição
totalRegistros na base.
attemptsSoma de todas as consultas.
repetidosConsultas além da primeira (retestes).
retestedRegistros consultados mais de uma vez.
first_dayData do primeiro registro.
last_dayData do registro mais recente.
Resposta 200
JSON
{
  "total": 11466068,
  "attempts": 11473832,
  "repetidos": 7764,
  "retested": 5393,
  "first_day": "2026-09-19",
  "last_day": "2026-09-23"
}
GET /health Health check do serviço
Resposta 200
JSON
{ "status": "ok" }

Exemplos

Chamada a /api/check nas linguagens mais comuns.

curl -s -X POST http://antiretest.com/api/check \
  -H "Content-Type: application/json" \
  -d '{
    "vulgo": "Bot Telegram",
    "lines": ["4111111111111111|12|2028|123"],
    "record": true
  }'

Erros HTTP

Erros retornam { "detail": "..." }.

400Requisição inválidavulgo vazio ou lines sem linhas úteis.
422Schema incorretoJSON fora do formato esperado.
500Falha internaBanco indisponível ou erro inesperado.