注意: 开源目的仅学习交流逆向与验证码识别技术使用
- ✅ ICP备案查询,基于Python,全异步构建的高性能ICP查询模块,支持分页查询
- ✅ 直接从工业和信息化部政务服务平台抓取实时数据,支持Web、APP、小程序、快应用名称查询
- ✅ 支持根据备案号查询,支持根据企业名称查询,支持违法违规域名、APP查询
- ✅ 提供简单易用的高性能接口以及发行版程序
- ✅ 自定义配置,适配多种代理和免代理方式,学习如何自定义配置以及代理
- ✅ 内置webui,默认开启,浏览器访问 http://127.0.0.1:16181 即可
- ✅ AMD 9600X 处理器平均识别仅需0.09s,支持模型加速
docker run -d -p 16181:16181 --name ymicp yiminger/ymicpgit clone https://github.com/HG-ha/ICP_Query.git
cd ICP_Query
uv init
uv venv --python 3.11
uv pip install -r src/python/requirements.txt
# 在仓库根目录运行(自动读取根目录 config.yml / templates / static)
uv run python src/python/icpApi.pycd src/rust
cargo run --releaseRelease 产物:Python 为 ymicp-*-amd64.{tar.gz,zip};Rust 为 ymicp-*-amd64-rs.{tar.gz,zip}(可执行文件 icpApi-rs / icpApi-rs.exe)。
对应 Issue #40。出口 IP 变动时可用账号密码保护 Web UI 与 API。
在 config.yml 中:
auth:
enable: true # 公网务必改为 true
secret: change-me # 请修改为随机字符串
session_hours: 72
users:
- username: admin
password: admin123 # 首次可用明文;保存配置后自动变为 sha256$...- 登录:
POST /api/auth/login,或打开 Web UI 登录页 - API:Cookie
ymicp_session或头Authorization: Bearer <token> - 默认
enable: false,行为与旧版兼容
对应 Issue #42。Python 与 Rust 均提供相同工具:icp_query(type/search/page_num/page_size)、icp_query_types。
stdio(Claude Desktop / Cursor 推荐):
# Python 编译产物 / 源码入口(二选一)
./icpApi --mcp
python src/python/icpApi.py --mcp
# 也可:python src/python/mcp_server.py
# Rust
./icpApi-rs --mcp
# 或:cargo run --release -- --mcpClaude Desktop 示例(claude_desktop_config.json):
{
"mcpServers": {
"icp-query": {
"command": "H:/path/to/icpApi",
"args": ["--mcp"]
},
"icp-query-rs": {
"command": "H:/path/to/icpApi-rs",
"args": ["--mcp"]
}
}
}Streamable HTTP(可选,两端一致):
mcp:
enable: true
port: 16182主服务启动时会在独立端口监听 /mcp。也可单独启动:
./icpApi --mcp-http
./icpApi-rs --mcp-http
# 源码:python src/python/icpApi.py --mcp-http→ http://127.0.0.1:16182/mcp
我们提供了一个在 Android 设备上运行 ICP 查询的示例项目:
- 📲 ICP-for-Android - 在 Android 设备上使用 Python + ONNX Runtime 进行界面绘制和模型推理
import asyncio
from ymicp import beian
async def main(name):
icp = beian()
query = await icp.ymApp(name)
print(query)
asyncio.run(main("微信"))| 类型 | 说明 |
|---|---|
web |
网站 |
app |
APP |
mapp |
小程序 |
kapp |
快应用 |
bweb |
违法违规网站 |
bapp |
违法违规APP |
bmapp |
违法违规小程序 |
bkapp |
违法违规快应用 |
-
URL格式:
http://0.0.0.0:16181/query/{type}?search={name} -
示例1: 查询域名
baidu.com备案信息curl http://127.0.0.1:16181/query/web?search=baidu.com -
示例2: 根据网站的备案号
京ICP证030173号查询备案信息curl http://127.0.0.1:16181/query/web?search=京ICP证030173号 -
示例3: 根据企业名称查询备案信息
curl http://127.0.0.1:16181/query/web?search=深圳市腾讯计算机系统有限公司 -
示例4: 根据企业名称查询备案信息,每页20条数据,查询第3页
curl http://127.0.0.1:16181/query/web?search=深圳市腾讯计算机系统有限公司&pageNum=3&pageSize=20
| 参数 | 说明 |
|---|---|
| lastPage | 据查询数量有多少页 |
| pages | 据查询数量有多少页 |
| pageSize | 每页几条数据 |
| pageNum | 第几页 |
| nextPage | 下一页的页面序号 |
| total | 据查询数量有多少页 |
| domain | 备案的域名 |
| domainId | 域名id |
| limitAccess | 是否限制接入 |
| mainLicence | ICP备案主体许可证号 |
| natureName | 主办单位性质 |
| serviceLicence | ICP备案服务许可证号 |
| unitName | 主办单位名称 |
| updateRecordTime | 审核通过日期 |
| contentTypeName | 服务前置审批项 |
| cityId | 城市ID |
| countyId | 区县ID |
| contentTypeName | 内容类型 |
| mainUnitAddress | 主体地址 |
| serviceName | 服务名称(APP、小程序或快应用名称) |
| version | 服务版本 |
| blackListLevel | 威胁等级,表示是否为违法违规应用,目前获得的等级为2时,表示暂无违法违规信息 |



