API 和开发者文档
一个轻量且易于预测的 JSON API。所有端点均通过我们的服务商抽象层在服务器端进行代理,提供响应规范化、轻量缓存以及优雅的错误处理。
API 端点
GET /api/my-ip
返回调用者公网 IP 的地理定位和网络数据(由服务器端视角的连接识别)。
curl https://ipcheck.mubarokah.com/api/my-ip
GET /api/lookup?q=<ip|domain>
查询任何 IPv4、IPv6 地址或纯域名。不支持协议前缀(如 http://)和路径。
curl "https://ipcheck.mubarokah.com/api/lookup?q=8.8.8.8"
POST /api/bulk
批量查询(每次最多 50 个)。并发限制在服务器端控制。
curl -X POST -H 'content-type: application/json' \
-d '{"queries":["8.8.8.8","1.1.1.1","example.com"]}' \
https://ipcheck.mubarokah.com/api/bulk响应数据格式
{
"ok": true,
"query": "8.8.8.8",
"ip": "8.8.8.8",
"ipVersion": "IPv4",
"location": {
"continent": "North America",
"country": "United States",
"countryCode": "US",
"regionName": "Virginia",
"city": "Ashburn",
"zip": "20149",
"lat": 39.0438,
"lon": -77.4874,
"timezone": "America/New_York",
"utcOffsetSeconds": -14400,
"currency": "USD"
},
"network": {
"isp": "Google LLC",
"org": "Google Public DNS",
"as": "AS15169 Google LLC",
"asname": "GOOGLE",
"reverse": "dns.google"
},
"flags": { "mobile": false, "proxy": false, "hosting": true }
}错误代码说明
invalid_query— 输入不是有效的 IP 或域名。rate_limited— 达到上游提供商的速率限制。provider_unreachable— 上游服务器离线。
频次限制与缓存
查询结果在服务器端缓存 10 分钟。上游服务商的免费公共层级有严格的频次限制,仅供非商业用途。对于生产环境流量,我们建议配置商业服务商(请参考下方环境变量配置说明)。
服务商抽象层
在服务器上设置以下环境变量。敏感密钥绝不会暴露给浏览器端。
IP_PROVIDER=ip-api # or ip-api-pro IP_API_KEY=... # required for pro IP_API_BASE=http://ip-api.com
注意事项
- IP 地理定位仅是一项估算,最精确也仅能达到城市或大都市圈级别。
- 私有 IP 和保留 IP 范围无法进行地理定位。
- 除缓存所必需的信息外,API 不会记录您的查询内容历史。
