IPv4 查询
IPv4 地址的位置、时区和网络详情。不提供地址则查询调用方。
GEThttps://api.mygeocode.com/v1/ipv4
参数
| 参数 | 类型 | 说明 |
|---|---|---|
ip可选 | 字符串 | 点分十进制 IPv4 地址。默认:发出请求的地址。 |
ips可选 | 字符串 | 以逗号分隔的地址,最多 100 个,用于批量查询。返回按相同顺序排列的 results 数组。每个地址计为一次请求。 |
lang可选 | 字符串 | 国家、地区和城市名称所用的 ISO 639-1 代码。默认为 en。 |
key可选 | 字符串 | API 密钥(如果未通过请求头发送)。 |
示例
$ curl -H "X-API-Key: YOUR_KEY" "https://api.mygeocode.com/v1/ipv4?ip=1.1.1.1"// In a browser, with no ip parameter, this returns the visitor's own address
const geo = await (await fetch("https://api.mygeocode.com/v1/ipv4", { headers: { "X-API-Key": "YOUR_KEY" } })).json();
console.log(geo.country_code, geo.timezone);import requests
geo = requests.get("https://api.mygeocode.com/v1/ipv4", params={"ip": "1.1.1.1"}, headers={"X-API-Key": "YOUR_KEY"}, timeout=5).json()
print(geo["country_code"], geo["org"], geo["is_datacenter"])响应
{
"status": "ok",
"ip": "1.0.164.165",
"version": 4,
"found": true,
"prefix": "1.0.164.0/24",
"country": "Thailand",
"country_code": "TH",
"continent": "Asia",
"continent_code": "AS",
"region": "Krung Thep Maha Nakhon",
"region_code": null,
"city": "Bangkok",
"postcode": "10200",
"lat": 13.749976,
"lon": 100.516819,
"timezone": "Asia/Bangkok",
"utc_offset": "+07:00",
"utc_offset_seconds": 25200,
"is_eu": false,
"asn": 23969,
"as_name": "TOT Public Company Limited",
"org": "TOT Public Company Limited",
"usage_type": "Eyeball",
"registry": "apnic",
"allocated": "2008-10-22",
"tags": ["dsl"],
"is_anycast": false,
"is_satellite": false,
"is_datacenter": false,
"is_proxy": false,
"is_vpn_provider": false,
"is_tor": false,
"is_private": false,
"abuse_email": "abuse@totisp.net",
"threat": {
"listed": true,
"score": 90,
"source_count": 2,
"categories": ["abuse", "attacker"],
"is_tor": false,
"is_tor_exit": false,
"is_bogon": false,
"listings": [
{ "category": "abuse", "confidence": 100, "recency_days": 1 },
{ "category": "attacker", "confidence": null, "recency_days": null }
]
},
"updated_at": "2026-09-18 06:53:39"
}响应字段
| 字段 | 类型 | 说明 |
|---|---|---|
ip, version | 字符串、整数 | 所查询的地址(规范形式),以及 4 或 6。 |
found | 布尔值 | 没有任何网络覆盖该地址时为 false;此时位置字段为 null。 |
prefix | 字符串 | 包含该地址的最具体网络,采用 CIDR 格式。 |
country, country_code | 字符串 | 国家名称和大写的 ISO 3166-1 alpha-2 代码。 |
continent, continent_code | 字符串 | 大洲名称和两字母代码。 |
region, region_code | 字符串 | 一级行政区及其简码。美国、加拿大和澳大利亚会填写该代码;其他地方仅在数据集包含时才提供。 |
city, postcode | 字符串 | 最佳估计;未知时为 null。 |
lat, lon | 数字 | 已知最具体区域的中心点。 |
elevation_m | 数字或 null | 该点的平均海平面以上高度(米),取自与海拔端点相同的 15 弧秒网格。在海底上方为负值。 |
timezone, utc_offset, utc_offset_seconds | 字符串、字符串、数字 | IANA 时区、当前生效的偏移量(格式为 +HH:MM)以及以秒表示的同一偏移量。时区由坐标和时区边界决定,因此始终与 lat 和 lon 一致。 |
is_eu | 布尔值 | 该国家属于欧盟。 |
asn, as_name, org | 整数、字符串 | 自治系统编号、其名称以及背后的组织。 |
usage_type | 字符串 | 运营方的类型:Eyeball(面向消费者的 ISP)、Carrier、Content、Hosting、Enterprise、Education、NSP 或 unknown。 |
registry, allocated | 字符串 | 分配该 ASN 的区域注册机构及分配日期。 |
tags | 数组 | 运营方级别的标签,如 dsl、cdn、vpsh(VPS 托管)、vpn、satnet。它们描述的是网络运营方,而不是单个地址。 |
is_anycast, is_satellite | 布尔值 | 该前缀为任播;该运营方是卫星网络。 |
is_datacenter | 布尔值 | 托管或内容网络。应将城市视为不可靠,并考虑该流量可能是自动化的。 |
is_proxy, is_tor | 布尔值 | 针对单个地址的证据,表明它是 Tor 中继或出口节点,或被列为代理或 VPN 端点。 |
is_vpn_provider | 布尔值 | 该运营方在其网络中的某处运营 VPN 或代理服务(运营方级别的提示,弱于 is_proxy)。 |
is_private | 布尔值 | 保留、私有或其他不可路由的地址。为 true 时,响应只包含 ip、version、is_private 和 reason。 |
abuse_email | 字符串 | 该网络登记的滥用举报联系方式。 |
threat | 对象 | 信誉:listed、从 0 到 100 的 score(最严重举报的权重,旧举报会打折扣)、source_count(有多少个独立来源将其列入)、categories、Tor 和 bogon 标志,以及各条 listings,包含类别、置信度以及每条举报距今多少天。 |
updated_at | 字符串 | 该网络记录的最近更新时间。 |
一次调用支持两种版本
GET /v1/ip 接受 IPv4 或 IPv6 地址(或不提供地址,以查询调用方),并返回与各版本专用端点相同的记录。当您事先不知道会收到哪种地址时使用它。
注意事项
1.1.1.1和8.8.8.8等任播地址同时从许多地点提供服务。返回的位置是注册位置,这就是它们的is_datacenter为 true 的原因。- 请从您的服务器调用,并在
ip中传入访客的地址。不带ip调用会返回发出请求的地址,如果位于代理或 CDN 之后,则返回的是代理的地址。 - IP 数据每周更新。缓存一天是合理的。
以其他服务商格式进行的同一查询
如果您已有针对这些服务商之一编写的代码,请保留它:兼容替换主机接受相同的路径和参数,并以该服务商的响应结构作答,背后由此端点提供支持。请参阅兼容替换主机的工作原理。
| 服务商 | 主机 | 路径 |
|---|---|---|
| Geoapify | geoapify.mygeocode.com | /v1/ipinfo?ip=... |
| ip-api.com | ipapi.mygeocode.com | /json/{ip}/json//batch (POST, JSON array) |
| ipinfo.io | ipinfo.mygeocode.com | /{ip}/json/{ip}/json/{ip}/{field} |
| ipstack | ipstack.mygeocode.com | /{ip}/check/{ip},{ip},{ip} |
错误
当 ip 不是有效的 IPv4 地址、向此端点发送了 IPv6 地址(请使用 /v1/ipv6),或 ips 超过 100 条时,返回 400 invalid_request。