Documentação da API

Crie integrações seguras com o LeakData

Verifique a exposição em vazamentos de dados, proteja usuários e receba alertas de segurança pela API do LeakData.

Antes da sua primeira requisição

O acesso à API exige um plano Enterprise com acesso à API habilitado. Crie uma chave no seu painel e selecione apenas os escopos necessários para a sua integração.

Precisa de ajuda com o produto? Saiba como o LeakData funciona.
Pontos de partida

O que você quer fazer?

Escolha um objetivo e vá diretamente ao endpoint relevante, às orientações de segurança e ao exemplo de implementação.

Início rápidoSua primeira requisição em 3 etapas

O caminho de implementação mais curto da autenticação até uma requisição válida.

  1. 1

    Autentique-se

    Envie sua chave de API no cabeçalho com o esquema Bearer em cada requisição.

    Authorization: Bearer YOUR_API_KEY
  2. 2

    Envie uma requisição de exemplo

    Defina LEAKDATA_API_KEY com sua chave de API e envie uma requisição POST para a busca de exposição.

  3. 3

    Trate a resposta

    Integre os sinais de exposição e as fontes retornadas ao fluxo da sua aplicação.

Índice de endpoints

Referência da API

Consulte uma visão geral dos endpoints v1 publicados e abra a seção detalhada.

Especificação OpenAPI

Introdução

A API do LeakData.io permite adicionar verificações de vazamentos de dados e monitoramento de segurança aos seus próprios fluxos por meio de uma interface REST.

URL base: https://leakdata.io/api/v1

Funcionalidades

  • Busque sinais de exposição em dados indexados de vazamentos
  • Use um único endpoint de busca unificado para verificar e-mails, telefones, nomes de usuário e domínios
  • Crie chaves de API pelo painel
  • Use o acesso empresarial à API e a webhooks para integrações gerenciadas
  • Envie payloads SIEM/SOAR assinados para Splunk, Elastic, Sentinel e middleware CEF/Syslog

Autenticação

As requisições à API usam uma chave de API. Você pode criar e gerenciar chaves pelo painel.

Cabeçalhos da requisição
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Aviso de segurança: Nunca exponha chaves de API em código do lado do cliente ou em repositórios públicos.

Limites de requisições

Atualmente, o acesso à API é oferecido para integrações empresariais. Os planos de autoatendimento não incluem cota de uso da API pública.

PlanoPor minutoDiárioMensal
Free——Não incluído
Pro / Elite——Não incluído
EnterpriseContratoContratoContrato

Domínios monitorados

Liste os registros de monitoramento de domínios disponíveis para o titular da chave de API autenticada.

GET/domains

Resposta

JSON
{
  "success": true,
  "count": 1,
  "domains": [{
    "id": "domain_123",
    "domain": "example.com",
    "verified": true,
    "status": "active",
    "vulnerabilities": 0,
    "alerts": 0
  }],
  "timestamp": "2026-08-08T00:00:00.000Z"
}

Segurança de senhas com k-anonimato

Verifique um prefixo do hash da senha sem enviar a senha nem seu hash completo.

Envie apenas os primeiros cinco caracteres do hash SHA-1 em letras maiúsculas. O LeakData nunca recebe a senha original nem o hash completo.
GET/password/check/5BAA6

Resposta

{
  "hashes": {
    "1E4C9B93F3F0682250B6CF8331B7EE68FD8": 12345,
    "ABCDEF0123456789ABCDEF0123456789ABC": 6789
  }
}

Alertas

Liste os alertas de segurança do usuário autenticado.

GET/alerts

Parâmetros de consulta

  • limit - Máximo de registros retornados (padrão: 10, máximo: 100)
  • status - Filtro de status (read, unread, all)
  • severity - Filtro de severidade (low, medium, high, critical)

Exemplos de código

JavaScript (Node.js)
const axios = require('axios');

async function checkEmail(email) {
  try {
    const response = await axios.post(
      'https://leakdata.io/api/v1/search',
      { type: 'email', query: email },
      {
        headers: {
          'Authorization': 'Bearer YOUR_API_KEY',
          'Content-Type': 'application/json'
        }
      }
    );

    console.log(response.data);
  } catch (error) {
    console.error('Error:', error.response.data);
  }
}

checkEmail('user@example.com');

Códigos de erro

CódigoDescrição
400Requisição inválida - Parâmetros de requisição inválidos
401Não autorizado - Chave de API inválida ou ausente
403Proibido - Acesso negado
429Muitas requisições - Limite de requisições excedido
500Erro interno do servidor - Erro no servidor

Webhooks

Receba notificações automáticas quando novos sinais de vazamento de dados forem detectados.

Configure a URL do webhook e o formato predefinido do payload no painel. O LeakData envia requisições POST assinadas e armazena falhas que permitem novas tentativas para acompanhamento operacional.

Cabeçalhos de entrega

X-Webhook-Signature
Assinatura HMAC-SHA256 gerada sobre o corpo JSON bruto usando o segredo do webhook.
X-LeakData-Signature
Variante de assinatura sha256= compatível com ferramentas SIEM/SOAR.
X-LeakData-Event-Id
ID estável do evento para correlação e acompanhamento de novas tentativas.
X-LeakData-Payload-Preset
Formato de payload selecionado, como splunk_hec, elastic_ecs ou microsoft_sentinel.
X-Webhook-Attempt
Número da tentativa de entrega para receptores que reconhecem novas tentativas.

Payload genérico

{
  "id": "evt_9f3a7c2e6b1d4a80",
  "type": "domain.alert",
  "created": 1770000000000,
  "data": {
    "domain": "example.com",
    "severity": "high",
    "breachCount": 2
  }
}

SIEM/SOAR

Os webhooks do plano Enterprise podem ser enviados no formato esperado pelas suas ferramentas de segurança. O formato predefinido selecionado altera o corpo JSON transmitido e adiciona cabeçalhos de compatibilidade.

LeakData JSON

generic

Payload JSON assinado padrão. Todos os campos do evento permanecem no esquema do LeakData.

Destino
Receptores de webhook personalizados, playbooks SOAR
Cabeçalho
X-LeakData-Payload-Preset

Splunk HEC

splunk_hec

Enviado com time, source, sourcetype, event e fields para o Splunk HTTP Event Collector.

Destino
Splunk HTTP Event Collector
Cabeçalho
X-Splunk-Request-Channel

Elastic ECS

elastic_ecs

Usa os campos event, observer, threat, rule e leakdata em um formato semelhante ao ECS para ingestão no Elastic.

Destino
Ingestão no Elastic ECS
Cabeçalho
X-Elastic-Event-Dataset

Microsoft Sentinel

microsoft_sentinel

Usa TimeGenerated, EventId, EventType, Severity e RawData para tabelas personalizadas do Log Analytics.

Destino
Log personalizado do Microsoft Sentinel
Cabeçalho
Log-Type

CEF / Syslog

cef_syslog

Inclui uma mensagem compatível com CEF em um JSON para middleware syslog ou SOAR.

Destino
Middleware CEF, Syslog ou SOAR
Cabeçalho
X-CEF-Product

Splunk HEC

{
  "time": 1770000000,
  "source": "leakdata",
  "sourcetype": "leakdata:webhook",
  "event": {
    "id": "evt_splunk",
    "type": "webhook.test",
    "created": 1770000000000,
    "data": {
      "message": "LeakData webhook test notification"
    }
  },
  "fields": {
    "leakdata_event_id": "evt_splunk",
    "leakdata_event_type": "webhook.test",
    "leakdata_preset": "splunk_hec"
  }
}

Microsoft Sentinel

{
  "TimeGenerated": "2026-02-02T02:40:00.000Z",
  "EventId": "evt_sentinel",
  "EventType": "webhook.test",
  "SourceSystem": "LeakData",
  "Severity": 3,
  "RawData": {
    "id": "evt_sentinel",
    "type": "webhook.test",
    "created": 1770000000000,
    "data": {
      "message": "LeakData webhook test notification"
    }
  }
}

Eventos de webhook

Escolha um ou mais tipos de evento ao criar um webhook. Os envios de teste usam webhook.test, e os envios reais usam os nomes dos eventos selecionados abaixo.

breach.detectedCorrespondência detectada em vazamento de dadosUm identificador monitorado aparece em dados de um vazamento.
breach.newNovo registro de vazamento de dadosUm novo vazamento de dados é adicionado ao conjunto de dados do LeakData.
domain.alertAlerta de domínioUm domínio corporativo monitorado gera um sinal de risco.
search.foundResultado de busca encontradoUma busca na API ou um fluxo de monitoramento retorna uma correspondência.
monitoring.alertAlerta de monitoramentoO monitoramento de e-mail, domínio ou conta gera um alerta.
account.suspiciousEvento suspeito na contaUm evento incomum de segurança da conta é detectado.
api.limit.warningAviso de limite da APIO uso da API empresarial se aproxima de um limite importante.
easm.inventory.changedInventário EASM alteradoAlterações de inventário observadas em um domínio verificado: ativos novos, desaparecidos e alterados. Não inclui severidade.
easm.finding.openedAchado de segurança EASM abertoUm achado de segurança novo ou reaberto, respaldado por evidências, com domínio, nome do host, IP, porta, controle, severidade, categoria e origem. Para um achado que permite ação, priority (urgent, high, normal, low) e priorityReasons (knownExploitation, exploitLikelihood, criticalAsset, highSeverity) correspondem ao painel. kev é true quando a CVE de um achado confirmado está no catálogo CISA KEV e false quando nenhuma de suas CVEs está; o campo é omitido quando a verificação KEV tem mais de 48 horas ou o achado não está confirmado. Os eventos EASM são enviados independentemente da preferência pessoal de receber notificações apenas de eventos críticos.
easm.finding.resolvedAchado de segurança EASM resolvidoUm achado de segurança cuja resolução é comprovada por uma nova observação. Inclui kev seguindo a mesma regra, sem priority.