API 文档

使用 LeakData 构建安全的集成

通过 LeakData API 检查数据泄露中的暴露情况、保护用户并接收安全告警。

发送首次请求之前

访问 API 需要订阅企业版套餐并启用 API 访问权限。请在控制台中创建密钥,并仅选择您的集成所需的权限范围。

需要产品使用帮助?了解 LeakData 的工作原理。
入门指引

您想做什么?

选择一个目标,直接跳转至相关端点、安全指南和实现示例。

快速入门3 步完成首次请求

从身份验证到有效请求的最简实现流程。

  1. 1

    身份验证

    在每次请求的请求头中,以 Bearer 认证方式发送您的 API 密钥。

    Authorization: Bearer YOUR_API_KEY
  2. 2

    发送示例请求

    将 LEAKDATA_API_KEY 设置为您的 API 密钥,然后向数据暴露搜索端点发送 POST 请求。

  3. 3

    处理响应

    将返回的数据暴露信号及其来源整合到您的应用工作流中。

端点索引

API 参考

快速浏览已发布的 v1 端点,并查看详细章节。

OpenAPI 规范

简介

LeakData.io API 可让您通过 REST 接口,将数据泄露检查和安全监控整合到自己的工作流中。

基础 URL: https://leakdata.io/api/v1

功能

  • 在已索引的泄露数据中搜索数据暴露信号
  • 使用统一的搜索端点检查邮箱、电话号码、用户名和域名
  • 在控制台创建 API 密钥
  • 使用企业级 API/webhook 访问功能进行托管集成
  • 向 Splunk、Elastic、Sentinel 和 CEF/Syslog 中间件发送带签名的 SIEM/SOAR 载荷

身份验证

API 请求使用 API 密钥。您可以在控制台创建和管理密钥。

请求头
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
安全警告: 切勿在客户端代码或公开代码仓库中暴露 API 密钥。

请求频率限制

目前,API 访问功能仅作为企业集成方案的一部分提供。自助订阅套餐不包含公共 API 配额。

套餐每分钟每日每月
Free——不包含
Pro / Elite——不包含
Enterprise按合同约定按合同约定按合同约定

受监控域名

列出已通过身份验证的 API 密钥所有者可访问的域名监控记录。

GET/domains

响应

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"
}

使用 k-匿名检查密码安全性

检查密码哈希前缀,无需发送密码或其完整哈希值。

仅发送大写 SHA-1 哈希值的前五个字符。LeakData 不会收到原始密码或完整哈希值。
GET/password/check/5BAA6

响应

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

告警

列出已通过身份验证的用户的安全告警。

GET/alerts

查询参数

  • limit - 返回记录数上限(默认值:10,最大值:100)
  • status - 状态筛选(read、unread、all)
  • severity - 严重程度筛选(low、medium、high、critical)

代码示例

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');

错误代码

代码说明
400请求错误 - 请求参数无效
401未通过身份验证 - API 密钥无效或缺失
403禁止访问 - 访问被拒绝
429请求过多 - 超出请求频率限制
500内部服务器错误 - 服务器错误

Webhooks

检测到新的数据泄露迹象时,自动接收通知。

在控制台中配置 Webhook URL 和载荷预设。LeakData 通过带签名的 POST 请求发送通知,并保存可重试的失败记录,以便运维人员后续处理。

通知请求头

X-Webhook-Signature
使用 webhook 密钥对原始 JSON 请求体生成的 HMAC-SHA256 签名。
X-LeakData-Signature
兼容 SIEM/SOAR 工具的 sha256= 签名变体。
X-LeakData-Event-Id
用于事件关联和重试跟踪的固定事件 ID。
X-LeakData-Payload-Preset
所选载荷格式,例如 splunk_hec、elastic_ecs 或 microsoft_sentinel。
X-Webhook-Attempt
投递尝试序号,供支持重试处理的接收端使用。

通用载荷

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

SIEM/SOAR

企业版 Webhook 可按您的安全工具栈所需的格式发送通知。所选预设会更改发送的 JSON 请求体,并添加兼容性请求头。

LeakData JSON

generic

默认的已签名 JSON 载荷。所有事件字段均遵循 LeakData 的数据结构定义。

目标
自定义 webhook 接收端、SOAR 剧本
请求头
X-LeakData-Payload-Preset

Splunk HEC

splunk_hec

发送至 Splunk HTTP Event Collector 时,包含 time、source、sourcetype、event 和 fields 字段。

目标
Splunk HTTP Event Collector
请求头
X-Splunk-Request-Channel

Elastic ECS

elastic_ecs

使用类似 ECS 的 event、observer、threat、rule 和 leakdata 字段,供 Elastic 数据摄取使用。

目标
Elastic ECS 数据摄取
请求头
X-Elastic-Event-Dataset

Microsoft Sentinel

microsoft_sentinel

使用 TimeGenerated、EventId、EventType、Severity 和 RawData 字段,供 Log Analytics 自定义表使用。

目标
Microsoft Sentinel 自定义日志
请求头
Log-Type

CEF / Syslog

cef_syslog

在 JSON 中携带兼容 CEF 的消息,供 syslog 或 SOAR 中间件使用。

目标
CEF、Syslog 或 SOAR 中间件
请求头
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"
    }
  }
}

Webhook 事件

创建 Webhook 时,请选择一种或多种事件类型。测试通知使用 webhook.test,实际通知使用下方选定的事件名称。

breach.detected检测到数据泄露匹配受监控的标识符出现在泄露数据中。
breach.new新增数据泄露记录LeakData 数据集中新增了一条数据泄露记录。
domain.alert域名告警受监控的企业域名产生了风险信号。
search.found找到搜索结果API 搜索或监控工作流返回了匹配结果。
monitoring.alert监控告警邮箱、域名或账户监控产生了告警。
account.suspicious可疑账户事件检测到异常的账户安全事件。
api.limit.warningAPI 用量限制预警企业 API 用量接近重要阈值。
easm.inventory.changedEASM 资产清单变更在已验证域名上观测到资产清单变更:新增、消失及发生变化的资产。不包含严重程度。
easm.finding.openedEASM 安全发现新建或重新开启新建或重新开启的、有证据支持的安全发现,包含域名、主机名、IP、端口、控制项、严重程度、类别和来源。对于需要处理的安全发现,priority(urgent、high、normal、low)和 priorityReasons(knownExploitation、exploitLikelihood、criticalAsset、highSeverity)与控制台保持一致。如果已确认的安全发现所涉及的 CVE 被列入 CISA KEV 目录,kev 为 true;如果其所有 CVE 均未被列入,则为 false。如果 KEV 检查结果已超过 48 小时,或安全发现尚未确认,则省略该字段。无论个人通知偏好是否设置为仅接收严重级别通知,都会发送 EASM 事件。
easm.finding.resolvedEASM 安全发现已解决新的观测结果已证实该安全发现得到解决。按相同规则包含 kev,但不包含 priority。