9.0 KiB
国家法律法规数据库 (flk.npc.gov.cn) API 接口文档
概述
国家法律法规数据库由全国人大常委会办公厅主办,提供法律法规的查询、浏览和下载服务。本文档记录了通过逆向分析发现的API接口。
已发现的API端点
1. 搜索建议API (Search Suggestions)
端点: GET /law-search/prompts/search
描述: 根据法律名称关键词获取搜索建议列表
参数:
title(string, required): 搜索关键词
示例请求:
curl "https://flk.npc.gov.cn/law-search/prompts/search?title=%E6%B0%91%E6%B3%95%E5%85%B8"
示例响应:
{
"code": 200,
"msg": "操作成功",
"data": [
{
"title": "民法典",
"titleHighlight": "<em class='highlight'>民法典</em>"
},
{
"title": "中华人民共和国民法典",
"titleHighlight": "中华人民共和国<em class='highlight'>民法典</em>"
},
{
"title": "云南省人民代表大会常务委员会关于深入学习宣传和实施《中华人民共和国民法典》的决定",
"titleHighlight": "云南省人民代表大会常务委员会关于深入学习宣传和实施《中华人民共和国<em class='highlight'>民法典</em>》的决定"
}
]
}
2. 法律详情API (Law Details)
端点: GET /law-search/search/flfgDetails
描述: 根据bbbs ID获取法律详细信息
参数:
bbbs(string, required): 法律的唯一标识符(32位十六进制字符串)
示例请求:
curl "https://flk.npc.gov.cn/law-search/search/flfgDetails?bbbs=ff808081729d1efe01729d50b5c500bf"
示例响应:
{
"msg": "操作成功",
"code": 200,
"data": {
"bbbs": "ff808081729d1efe01729d50b5c500bf",
"title": "中华人民共和国民法典",
"flxz": "法律",
"zdjgName": "全国人民代表大会",
"gbrq": "2020-05-28",
"sxrq": "2021-01-01",
"ossFile": {
"ossWordPath": "prod/20200528/827f65fcb68f40cb941eed996c5212b0.docx",
"ossPdfPath": "prod/20200528/bd53dd912c1048f2aecbaa229238334b.pdf"
},
"content": {
"id": "79890000-3e3b-0016-4922-08dd7af76244",
"title": "中华人民共和国民法典",
"children": [...]
}
}
}
注意: bbbs ID是法律的唯一标识符,为32位十六进制字符串格式。需要先通过搜索API获取。
3. 文档下载API (Document Download)
端点: GET /law-search/download/pc
描述: 下载法律文档(DOCX格式)
参数:
format(string, required): 文档格式,支持docxbbbs(string, required): 法律的唯一标识符(32位十六进制字符串)
示例请求:
curl "https://flk.npc.gov.cn/law-search/download/pc?format=docx&bbbs=ff808081729d1efe01729d50b5c500bf"
4. 统计数据API (Aggregate Data)
端点: GET /law-search/index/aggregateData
描述: 获取法律法规分类统计数据
示例请求:
curl "https://flk.npc.gov.cn/law-search/index/aggregateData"
示例响应:
{
"code": 200,
"msg": "操作成功",
"data": {
"flflCount": [
{"count": 1, "id": 1, "key": "宪法"},
{"count": 310, "id": 2, "key": "法律"},
{"count": 610, "id": 14, "key": "行政法规"},
{"count": 2, "id": 15, "key": "监察法规"},
{"count": 15755, "id": 16, "key": "地方法规"},
{"count": 559, "id": 27, "key": "司法解释"}
],
"xfsd": [...],
"popularSearch": [
{
"bbbs": "ff808081729d1efe01729d50b5c500bf",
"flxz": "法律",
"gbrq": "2020-05-28",
"title": "中华人民共和国民法典"
}
],
"popularDownload": [...],
"xf": {
"bbbs": "2c909fdd678bf17901678bf5a483004b",
"title": "中华人民共和国宪法(2018年修正文本)"
}
}
}
重要发现: 此API返回的数据中包含了热门搜索和热门下载法律的完整信息,包括bbbs ID!这提供了一种直接获取法律列表的方法。
5. 高级搜索API (Advanced Search)
端点: POST /law-search/search/list
描述: 根据条件搜索法律列表
Content-Type: application/json
请求参数 (推测,需要进一步验证):
title(string): 法律名称page(number): 页码size(number): 每页数量- 其他可能的搜索参数待确认
注意: 此API需要POST请求和正确的Content-Type。在测试中遇到了编码问题,可能需要特定的请求头或参数格式。
6. 其他发现的端点
通过JavaScript逆向分析发现的其他API端点:
POST /law-search/highSearch/highSearch- 高级搜索GET /law-search/highSearch/hitDisplay- 高级搜索命中显示GET /law-search/highSearch/xgzl- 高级搜索相关资料GET /law-search/search/enumData- 搜索枚举数据GET /law-search/search/hitDisplay- 搜索命中显示GET /law-search/search/recommend- 推荐搜索GET /law-search/search/xgzl- 相关资料GET /law-search/search/xgzlDetails- 相关资料详情GET /law-search/search/xgwjDetails- 相关文件详情GET /law-search/download/batch- 批量下载GET /law-search/amazonFile/previewLink- 文件预览链接GET /law-search/index/captchaImage- 验证码图片GET /law-search/index/fljc- 法律检索
bbbs ID 说明
什么是bbbs ID?
bbbs是法律法规在数据库中的唯一标识符,为32位十六进制字符串格式(如 ff808081729d1efe01729d50b5c500bf)。每个法律文档都有唯一的bbbs ID。
如何获取bbbs ID?
方法1: 通过统计数据API(推荐)
- 调用
/law-search/index/aggregateDataAPI - 从返回的
popularSearch或popularDownload数组中获取法律的bbbs ID
方法2: 通过搜索建议API
- 使用
/law-search/prompts/search获取搜索建议 - 点击搜索结果进入详情页
- 从URL中提取bbbs参数
方法3: 通过新发布法规列表
- 从统计数据API的
xfsd字段获取最新发布的法规列表
bbbs ID 格式
bbbs ID是32位十六进制字符串,示例:
ff808081729d1efe01729d50b5c500bf- 中华人民共和国民法典ff808181796a636a0179822a19640c92- 中华人民共和国刑法2c909fdd678bf17901678bf5a483004b- 中华人民共和国宪法
URL结构
详情页URL格式:
https://flk.npc.gov.cn/detail2.html?[bbbs]
示例:
https://flk.npc.gov.cn/detail2.html?ff808081729d1efe01729d50b5c500bf
工作流程
推荐的法律获取流程
方法1: 使用统计数据API获取热门法律(最简单)
- 获取统计数据: 调用
/law-search/index/aggregateDataAPI - 提取bbbs: 从
popularSearch或popularDownload数组中获取法律的bbbs ID - 获取详情: 使用
/law-search/search/flfgDetailsAPI获取法律详细信息 - 下载文档: 使用
/law-search/download/pcAPI下载DOCX文档
方法2: 通过搜索获取特定法律
- 搜索法律: 使用
/law-search/prompts/searchAPI搜索法律名称 - 获取bbbs: 从搜索结果中获取法律名称,然后访问详情页获取bbbs
- 获取详情: 使用
/law-search/search/flfgDetailsAPI获取法律详细信息 - 下载文档: 使用
/law-search/download/pcAPI下载DOCX文档
实际应用示例
获取民法典的详细信息
# 1. 获取统计数据API中的热门搜索
curl -s "https://flk.npc.gov.cn/law-search/index/aggregateData" | jq '.data.popularSearch'
# 2. 从返回结果中找到民法典的bbbs: ff808081729d1efe01729d50b5c500bf
# 3. 获取详细信息
curl -s "https://flk.npc.gov.cn/law-search/search/flfgDetails?bbbs=ff808081729d1efe01729d50b5c500bf" | jq '.data'
# 4. 下载DOCX文档
curl -O "https://flk.npc.gov.cn/law-search/download/pc?format=docx&bbbs=ff808081729d1efe01729d50b5c500bf"
获取所有310部法律的方法(待验证)
由于 /law-search/search/list API需要POST请求且参数不明确,目前可通过以下方式获取部分法律:
- 使用统计数据API获取热门法律(约10部)
- 使用搜索建议API逐个搜索法律名称
- 可能需要研究高级搜索API或分类列表API
限制与注意事项
- 编码问题: 某些API对UTF-8编码要求严格,需要正确设置请求头
- 反爬机制: 网站可能有反爬虫机制,频繁请求可能被限制
- 数据完整性: 不是所有法律都提供DOCX下载
- API稳定性: 这些是逆向分析发现的非官方API,可能随时变化
待研究内容
- 搜索列表API:
/law-search/search/list的完整参数和使用方法 - 这是获取完整法律列表的关键 - 高级搜索:
/law-search/highSearch/highSearch的功能 - 可能提供更强大的搜索能力 - 分类列表: 如何获取特定分类(如"法律"、"行政法规")的完整列表 - 可能需要参数中的分类ID
- bbbs ID生成规律: 研究bbbs ID是否有规律可循,是否可以预测
参考资源
- 官方网站: https://flk.npc.gov.cn
- JavaScript源码: https://flk.npc.gov.cn/assets/index-UYjjaqh-.js
更新日志
- 2026-06-15: 初始版本,发现基本API端点