开放 API

查一个 IP 的归属地,不需要注册、不需要 Key、不需要读三百页文档。 浏览器能直连(CORS *),命令行一行就能跑。

无需 API Key 60 次 / 分钟 / IP 支持跨域 HTTP/2 边缘响应

在线试用

纯文本 /geo
加载中…
JSON /geo/json
加载中…
签名档图片 /img1
签名档预览

接口列表

路径Content-Type说明
/geotext/plain 4 行纯文本,默认查你自己的 IP
/geo/<ip 或域名>text/plain 指定目标,域名会自动解析 A 记录
/geo/json[/<ip>]application/json 结构化字段,含经纬度、时区、风控分
/geo/jsonp?callback=fnapplication/javascript 老式 JSONP,给只能插 <script> 的老场景
/img1[/<ip>]image/svg+xml 签名档图片,默认显示访问者的 IP

所有路径都还接受 ?ip= 参数,例如 /geo/json?ip=1.1.1.1,两种写法等价。

纯文本格式

固定 4 行、顺序固定、查不到的字段用 - 占位,所以行号永远可以对上号:

第 1 行  IP 地址
第 2 行  国家 省 市(空格分隔)
第 3 行  ASN,如 AS15169
第 4 行  运营商 / 组织全名
# 取归属地
curl -s https://ip.accglam.com/geo/8.8.8.8 | sed -n '2p'
# 取 ASN
curl -s https://ip.accglam.com/geo/8.8.8.8 | sed -n '3p'
# 脚本里用(赋值变量)
read -r ip loc asn isp < <(curl -s https://ip.accglam.com/geo/8.8.8.8)

JSON 字段

字段类型说明
ipstring实际查询的 IP(域名会先解析成 IP)
inputstring仅当传入的是域名时出现,保留原始输入
country / country_codestring国家与 ISO 代码,港澳台统一为「中国香港 / 中国澳门 / 中国台湾」
region / citystring省、市
locationstring上面三者的拼接,省得自己拼
lat / lonnumber经纬度(城市级,不保证精确到街区)
timezonestringIANA 时区名
asn / asn_orgstring如 AS13335 / Cloudflare, Inc.
isp / orgstring运营商、注册组织
ip_typestring机房 / IDC、CDN 边缘节点、住宅 / 固网、移动网络、VPN / 代理、Tor 出口节点
risk_scorenumber|null0-100 风控分,null 表示该 IP 还没在站内算过(没跑黑名单,不瞎猜)
risk_levelstring|null低风险 / 中低风险 / 中高风险 / 高风险
mapsstring|nullOpenStreetMap 链接
cachedboolean是否命中边缘缓存

签名档图片

放进论坛签名、个人主页或 README:它显示的是访问者自己的 IP 归属地, 所以同一张图 1000 个人看到 1000 个结果——这也是它好玩的地方。纯 SVG,无外部依赖,体积不到 2KB。

<img src="https://ip.accglam.com/img1" alt="IP 信息" />
参数取值说明
ipIP / 域名省略则显示访问者自己的 IP
themelight(默认)/ dark深色背景,适合暗色主题论坛
mask1打码,IPv4 → 1.2.*.*,IPv6 只留前 4 组

图片接口的限流放宽到 180 次/分钟——一个论坛页面可能同时挂着十几个签名档。

限流与缓存

对象配额窗口
文本 / JSON60 次每分钟(按 IP)
签名档图片180 次每分钟(按 IP)

每次响应都带这三个头,超限前自己就能看出来:

X-RateLimit-Limit: 60
X-RateLimit-Remaining: 57
X-RateLimit-Reset: 1761495060   # 窗口重置的 Unix 时间戳

超过配额返回 429 + Retry-After。指定了 IP 的结果在边缘缓存 10 分钟、本地 1 分钟; 查询「你自己的 IP」的响应不缓存(否则会把别人的 IP 发给你)。

状态码

状态码含义
200成功
400参数不合法(IP/域名格式错误、JSONP callback 含非法字符)
404查不到(内网地址、域名无 A 记录、上游暂无数据)
405用了 GET 以外的方法
429超出配额,看 Retry-After
504域名解析超时

数据来源与边界

用得上就随便用,不用署名。有问题或想加字段,欢迎反馈。