API v1 · HTTP · JSON
IP 查询 API、终端用法与准确性
用 curl 或 PowerShell 在终端查询 IP,了解 JSON 与纯文本接口、IPv4/IPv6 探测域名、地理定位准确性边界以及隐私处理方式。
API
HTTP 与 JSON API
核心接口不需要账号或 Cookie。动态响应使用 Cache-Control: no-store,并返回限流头。地址族探测使用第一方域名;请求通过错误地址族到达时会失败关闭。
API v1
稳定 JSON用于自身和指定目标查询的版本化 snake_case JSON。需要稳定响应契约的集成应使用 v1;未版本化的 JSON 与终端路由作为便捷接口保留。
/api/v1/self当前 IP 的结构化结果,仅包含公开的网络、位置与 ASN 字段。
curl --fail --silent --show-error https://iprapid.com/api/v1/self
/api/v1/lookup/{ip}查询一个经过验证的 IPv4 或 IPv6 地址并返回结构化结果。
curl --fail --silent --show-error https://iprapid.com/api/v1/lookup/8.8.8.8
/api/v1/metaschema_version · capabilities · fields
curl --fail --silent --show-error https://iprapid.com/api/v1/meta
JSON
兼容接口| 路径 | 响应 |
|---|---|
GET / | 支持内容协商的根路径:CLI 与 */* 获得 JSON,text/plain 获得单个 IP,显式请求 text/html 时获得 SSR 页面。 |
GET /json | 当前 IP 的结构化结果,仅包含公开的网络、位置与 ASN 字段。 |
GET /json/{ip} | 查询一个经过验证的 IPv4 或 IPv6 地址并返回结构化结果。 |
GET /ip/{ip} | 机器客户端获得规范化目标 IP;只有显式 HTML 请求获得 noindex 查询页。 |
curl -sS https://iprapid.com/json
curl -sS https://iprapid.com/json/8.8.8.8
终端
TEXT / ANSI| 路径 | 响应 |
|---|---|
GET /ip | 规范化当前 IP,末尾恰好一个 LF。 |
GET /info[/{ip}] | 字段顺序稳定、无 ANSI 控制字节的丰富 UTF-8 纯文本。 |
GET /ansi[/{ip}] | /info 的显式彩色版本,只使用白名单 SGR。 |
GET /field/{field}[/{ip}] | 一个白名单标量和 LF;值不可用时返回 204。 |
# Shell IPv4/IPv6
curl iprapid.com
# Shell IPv4
curl -4 iprapid.com
# Shell IPv6
curl -6 iprapid.com
# PowerShell IPv4/IPv6
curl.exe iprapid.com
# PowerShell IPv4
curl.exe -4 iprapid.com
# PowerShell IPv6
curl.exe -6 iprapid.com
API v1 · JSON
APPLICATION/JSON{
"schema_version": "1",
"query": {
"type": "lookup",
"ip": "8.8.8.8",
"ip_version": 4
},
"network": {
"asn": 15169,
"as_organization": "Google LLC"
},
"location": {
"continent_code": "NA",
"country_code": "US",
"country": "United States",
"region_code": null,
"region": null,
"city": null,
"postal_code": null,
"timezone": "America/Chicago",
"coordinates": {
"latitude": 37.751,
"longitude": -97.822,
"accuracy_radius_km": 1000
}
},
"data": {
"status": "available",
"built_at": "2026-03-03T08:15:43Z"
},
"observed_at": "2026-07-25T12:23:07Z"
}
方法与信号边界
本服务将服务端网络观测、本地 Geo 数据和浏览器侧证据分开呈现,不会把一种信号冒充成另一种。
- 页面显示的公网 IP,是服务端在该 HTTP 连接上实际观测到的地址。
- 国家、地区、城市、时区、坐标、ASN 和组织来自本地数据集;公开结果显示精度半径,来源、构建时间和健康诊断仅对已认证管理员开放。
- WebRTC、DNS、语言、时区和 IPv6 是相互独立的浏览器侧观测;敏感测试不会被悄悄换算成安全分数。
- 不可用、未知、无观测和不一致是不同状态。失败或未配置的测试绝不会被报告为通过。
准确性与数据新鲜度
IP 地理位置描述网络分配,不代表设备或住宅。城市和坐标可能与用户相距很远;精度半径是不确定范围估计,并非保证。数据集新鲜度和质量在内部持续监控,仅对已认证管理员开放。
隐私与保留
查询链路不会把原始 IP、请求 URI、请求头或指纹写入 PostgreSQL 聚合表。Caddy 访问日志按文档所述的受限轮转策略处理。诊断分享只在 URL fragment 中携带脱敏状态,带签名,24 小时后过期,且不创建分享记录。
常见问题
页面显示的城市是我的精确位置吗?
不是。IP 地理位置只是网络层面的近似估计。请参考页面显示的精度半径,不要把坐标当成设备或街道地址。
本服务会把我的 IP 查询保存到数据库吗?
应用不会在 PostgreSQL 使用量聚合中保存原始 IP。受限的 Web 访问日志按隐私政策中说明的独立规则保留和轮转。
为什么 IPv6 有时显示未知,而不是不可用?
未配置的探针、被阻止的请求或无法下结论的浏览器信号,都不能证明 IPv6 不存在。只有第一方 IPv6 专用测试明确成功或失败后,结果才会变为确定状态。
诊断分享链接中包含什么?
只包含脱敏状态、签发与过期时间和签名,不包含 IP、坐标或 DNS 解析器地址。fragment 只会提交用于验证签名,服务端不会保存分享记录。