LosePrivacy API v1

概述

LosePrivacy API v1提供了对LosePrivacy收录的所有数据泄露事件、数据泄露专题及其数据源的查询功能。主要功能包括:

  • 展示所有已收录数据泄露事件的详细信息
  • 对所有数据泄露事件的数据源进行基本的查询
  • 展示所有LosePrivacy数据泄露事件专题的详细信息
  • 对所有数据泄露专题的数据源进行基本的查询

目前主要支持的查询类型至少包括:

  • 查询用户名
  • 查询密码
  • 查询身份证
  • 查询手机号
  • 查询邮箱
  • 查询QQ
  • 查询微博
  • 查询Facebook

应用场景

利用LosePrivacy API提供的查询功能,开发者可以快速开发出很多有趣、实用的应用。例如:

  • 个人隐私相关的应用,例如查询个人隐私数据的泄露情况
  • 私人服务相关的应用,例如帮助用户找回丢失的密码/账号
  • 安全订阅相关的应用,例如当某些人的数据出现泄露,及时通知用户进行相应的防范
  • 密码管理器相关的应用,例如当用户使用了高频的已泄露密码时及时通知用户
  • 企业数据泄露相关的应用,例如当某些企业数据发生泄露时,帮助企业更准确地评估风险
  • Telegram机器人相关的应用,例如个人社工库、尽职调查等
  • 其他数据挖掘相关应用,例如筛选排除高风险贷款用户等

接入须知

  • 请勿滥用API接口,有恶意进行攻击、妨碍他人使用等行为将会被限制使用API接口
  • 请在应用中标注数据来源于LosePrivacy
  • API KEY和API网关地址在LosePrivacy官网的用户中心中获取

LosePrivacy API v1接口列表

API网关地址在LosePrivacy官网的用户中心中可见。API网关地址不定期更换,但API接口保持稳定。

URL 简述
/api/v1/dataclasses 获取可查询的敏感数据类型
/api/v1/breaches 查询所有或某些类别的数据泄露事件
/api/v1/breach 查询某个数据泄露事件的详情
/api/v1/search_breach 查询数据泄露事件的数据源
/api/v1/topics 查询所有数据泄露专题的详细信息
/api/v1/topic 查询某个数据泄露专题的详细信息
/api/v1/search_topic 查询数据泄露专题的数据源

数据格式

LosePrivacy API v1所有的接口均返回json格式的内容,格式为:

{
    "code":错误码,
    "msg":错误信息,
    "data":具体数据包
}

错误码简介

返回代码 解释
200 OK, 成功
400 Bad Request, 参数错误
401 Unauthorised, 认证失败(API KEY不正确)
403 Forbidden, 如User-Agent的值不正确
404 Not found,未找到内容
429 Too many requests,请求频率过高
503 Service unavailable, 服务暂时不可用

访问认证

LosePrivacy API的所有接口调用需要进行身份认证。认证方式为API KEY,每次调用时需要将API KEY放入HTTP header(header头为loseprivacy-auth-key)中。另外,LosePrivacy API要求所有的http请求的user agent的值为:loseprivacy

HTTP头 HTTP值
loseprivacy-auth-key 你的API KEY
user-agent loseprivacy

若访问认证失败,对应的错误码如下:

返回代码 解释
401 认证失败(API KEY不正确)
403 User-Agent的值不正确

获取 API KEY

API KEY可以登录LosePrivacy官网后在用户中心中的开发者页面申请获得。请珍惜API KEY,切勿滥用或转借他人使用。API网关地址也发布在LosePrivacy官网中的用户中心中。

数据样例

API KEY认证失败的数据包样例:

{"code":401,"msg":"Unauthorised","data":null}

User Agent错误值的数据包样例:

{"code":403,"msg":"Forbidden","data":null}

获得可以查询的敏感数据类型

数据请求

  • Method: GET/POST
  • URL: /api/v1/dataclasses
  • Headers: `Content-Type:application/json- Parameters: 无

样例

  • 获得可以查询的数据类型:/api/v1/dataclasses

数据结果

  • Data: 数组。三元组:name(字段解释), field(字段名称), value(字段 ID)
{ 
    "code":200,
    "msg":"OK",
    "data": [
                 {"name":"搜QQ号","field":"field_qq","value":"qq"},
                 {"name":"搜微博","field":"field_weibo","value":"weibo"},  
                 {"name":"搜手机号","field":"field_phone","value":"phone"},
                 {"name":"搜邮箱","field":"field_email","value":"email"},
                 {"name":"搜用户名","field":"field_username","value":"username"},
                 {"name":"搜身份证","field":"field_identity","value":"identity"},
                 {"name":"搜密码","field":"field_password","value":"password"},
                 {"name":"搜Facebook","field":"field_facebook","value":"facebook"}
                ]
}

其中field或value后续可用于查询具体的数据源。

数据泄露事件数据:查询数据泄露事件及数据源

查询所有或部分的数据泄露事件的详细信息

数据请求

  • Method: GET/POST
  • URL: /api/v1/breaches
  • Headers: Content-Type:application/json
  • Parameters:
参数 是否必须 样例 解释
field ?field=qq 筛选有特定数据类型(字段名称)的数据泄露事件
{
    'field': <敏感数据类型,如field_username/field_qq/field_phone等,具体见敏感数据类型接口field字段>
}
样例
  • 查询所有数据泄露事件:/api/v1/breaches
  • 查询泄露了用户名相关数据的数据泄露事件:/api/v1/breaches?field=username

数据结果

  • data: 符合查询条件的结果,以数组形式
{
    "code":200,
    "msg":'OK',
    "data": [
                {
                    "id":9,
                    "name":"QQ",
                    "title":"QQ用户数据",
                    "domain":"https:\/\/qq.com",
                    "description":"2018年泄露的QQ用户数据,主要涉及QQ用户的手机绑定信息......",
                    "breach_time":1574352000,
                    "update_time":1651517895,
                    "logo":"\/static\/upload\/breach\/9\/logo.jpg",
                    "author_name":"佚名",
                    "breach_count":668304163,
                    ...
                },
                {
                    "id":10,
                    "name":"微博",
                    "title":"微博用户数据",
                    ...

                }
            ]
}

查询某个数据泄露事件的详情

数据请求

  • Method: GET/POST
  • URL: /api/v1/breach
  • Headers: Content-Type:application/json
  • Parameters:
参数 是否必须 样例 解释
breach_id ?breach_id=1 根据ID筛选某个数据泄露事件。每个泄露事件的ID数固定的
样例
  • 可以查询网易邮箱数据泄露事件详情:/api/v1/breach?breach_id=1

数据结果

  • Data: 数据泄露事件详情,breach和catelist。
返回值 解释
breach 数据泄露事件的详细信息
catelist 数据源中可查询的数据类型
样例
{
   "code":200,
    "msg":"OK",
    "data":
    {
        "breach":
        {
              "id":1,
              "name":"网易邮箱",
              "title":"网易邮箱数据",
              "domain":"https:\/\/163.com",
              "description":"...",
              "breach_time":1450800000,
              "download":"...",
              ......
        },
        "catelist":
        [
            {
                "name":"邮箱",
                "field":"field_email",
                "value":"email"
            },
            {
                "name":"密码",
                "field":"field_password",
                "value":"password"
            }
        ]
    }
}

查询数据泄露事件的数据源

数据请求

  • Method: GET/POST
  • URL: /api/v1/search_breach
  • Headers: Content-Type:application/json
  • Parameters:
参数 是否必须 样例 解释
breach_id ?breach_id=1 指定查询数据泄露事件ID为1的数据源
field_value ?field_value=qq 查询的关键词所在的字段ID
keyword ?keyword=18647547584 查询关键词
样例
  • URL: /api/v1/search_breach?breach_id=1&field_value=email&keyword=10086

数据结果

  • Data:符合查询结果的数据结果,数组形式(若查询结果较多,最多返回256条信息)。样例:
{"code":200,"msg":"OK","data":[[{"id":89668455,"breach_id":0,"email":"10086","password":"610555586"}]]}

数据泄露专题数据:查询数据泄露专题及数据源

查询所有数据泄露专题的详细信息

数据请求

  • Method: GET/POST
  • URL: /api/v1/topics
  • Headers: Content-Type:application/json
  • Parameters: 无
样例
  • 查询所有数据泄露专题:/api/v1/topics

数据结果

  • Data:符合查询结果的专题详情。

查询某个数据泄露专题的详细信息

数据请求

  • Method: GET/POST
  • URL: /api/v1/topic
  • Headers: Content-Type:application/json
  • Parameters: topic_id
参数 是否必须 样例 解释
topic_id ?breach_id=1 指定查询数据泄露专题ID为1的数据源
样例
  • 查询数据泄露专题ID为1的信息:/api/v1/topic?topic_id=1

数据结果

  • Data:符合查询结果的专题详情,包括topic和catelist字段,
返回值 解释
topic 数据泄露专题的详细信息
catelist 数据源中可查询的数据类型
样例
{
"code":200,
"msg":"OK",
"data":
    {
        "topic":
            {
                "id":1,
                "name":"QQ群关系数据",
                "desc":"QQ所有的QQ群关系数据......",
                "status":1,
                "cover_url":"\/static\/upload\/topic\/ee\/02cfde2afb899fc377105e64cf084b.png",
                "create_time":1651681867,
                "update_time":1651812774,
                ......
            },
        "catelist":
            [
                {"name":"搜QQ群号","value":"qqgroup"}
            ]
    }
}

查询数据泄露专题的数据源

数据请求

  • Method: GET/POST
  • URL: /api/v1/search_topic
  • Headers: Content-Type:application/json
  • Parameters:
参数 是否必须 样例 解释
topic_id ?topic_id=1 指定查询数据泄露事件ID为1的数据源
field_value ?field_value=qqgroup 查询的关键词所在的字段ID
keyword ?keyword=18647547584 查询关键词
自定义,由返回值确定 ?table=td_gov_company_abnormal 连续查询参数
样例
  • URL: /api/v1/search_topic?topic_id=1&field_value=email&keyword=10086
  • URL:/api/v1/search_topic?keyword=北京字节跳动科技有限公司&field_value=company&topic_id=2

数据结果

  • Data:符合查询结果的数据结果(若查询结果较多,最多返回256条信息)。
返回值 是否可选 解释
查询结果json 查询结果
subcommands 后续继续查询时需要提供的请求参数
没有subcommands的返回值样例
{"code":200,"msg":"OK","data":[[{"id":89668455,"breach_id":0,"email":"10086","password":"610555586"}]]}
有subcommands的返回值样例
{
    "code":200,
    "msg":"OK",
    "data":
    {
        "公司基本信息":       
        [
            {
                "id":5320886,
                "company_id":18310359,"unified_code":"911101085923662400","ent_name":"北京字节跳动科技有限公司","
                reg_capital":"1,000万(元)",
                "real_capital":"-",
                "reg_no":"911101085923662400",
                "ent_type":"有限责任公司",
                ...
            }
        ],
        "subcommands":      
        [
            "table=td_gov_company_abnormal",
            "table=td_gov_company_announcementcourt",
            "table=td_gov_company_basic",
        ]
    }
}

对于有subcommands返回值的部分,subcommands数组指定了后续每次请求时需要携带的参数。为了获取更完整的查询内容,首次调用请求:

/api/v1/search_topic?keyword=北京字节跳动科技有限公司&field_value=company&topic_id=2

之后可以根据subcommands的内容依次进行后续调用:

/api/v1/search_topic?keyword=北京字节跳动科技有限公司&field_value=company&topic_id=2&table=td_gov_company_abnormal
/api/v1/search_topic?keyword=北京字节跳动科技有限公司&field_value=company&topic_id=2&table=td_gov_company_announcementcourt
/api/v1/search_topic?keyword=北京字节跳动科技有限公司&field_value=company&topic_id=2&table=td_gov_company_basic