API 文档

IPv4.DEV 提供强大的 IP 情报 API,支持 IP 地理位置查询、ASN 信息、风险评分等功能。

API 基础地址: https://api.ipv4.dev/v1

认证方式

所有 API 请求都需要在 Header 中携带 API Key 进行认证。

curl -X GET "https://api.ipv4.dev/v1/ip/8.8.8.8" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

安全提示:请勿在客户端代码中暴露您的 API Key。

速率限制

API 请求受到速率限制,具体限制取决于您的订阅套餐:

套餐 每秒请求 每日请求 每月请求
免费版 5 1,000 30,000
基础版 20 10,000 300,000
专业版 50 100,000 3,000,000
企业版 200 无限制 无限制

响应头会包含当前速率限制状态:

X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1640000000

API 端点

GET IP 查询

查询单个 IP 地址的地理位置和相关信息。

GET /v1/ip/{ip_address}

参数

参数 类型 说明
ip_address string IPv4 或 IPv6 地址

响应示例

{
  "success": true,
  "data": {
    "ip": "8.8.8.8",
    "asn": 15169,
    "as_name": "GOOGLE",
    "country": "US",
    "country_name": "United States",
    "region": "California",
    "city": "Mountain View",
    "isp": "Google LLC",
    "organization": "Google Public DNS",
    "network_type": "dc",
    "is_datacenter": true,
    "is_vpn": false,
    "is_proxy": false,
    "risk_score": 10,
    "latitude": 37.386,
    "longitude": -122.0838,
    "timezone": "America/Los_Angeles"
  }
}

POST 批量查询

一次查询多个 IP 地址(最多 100 个)。

POST /v1/ip/batch

请求体

{
  "ips": ["8.8.8.8", "1.1.1.1", "208.67.222.222"]
}

响应示例

{
  "success": true,
  "data": {
    "8.8.8.8": { "asn": 15169, "country": "US", ... },
    "1.1.1.1": { "asn": 13335, "country": "AU", ... },
    "208.67.222.222": { "asn": 36692, "country": "US", ... }
  }
}

GET ASN 查询

查询 ASN(自治系统号)的详细信息。

GET /v1/asn/{asn_number}

响应示例

{
  "success": true,
  "data": {
    "asn": 15169,
    "as_name": "GOOGLE",
    "description": "Google LLC",
    "country": "US",
    "rir": "ARIN",
    "total_prefixes": 1532,
    "total_ips": 15678432,
    "website": "https://google.com",
    "abuse_email": "[email protected]"
  }
}

响应代码

状态码 说明
200 请求成功
400 请求参数错误
401 认证失败,API Key 无效
403 权限不足
404 资源不存在
429 请求过于频繁,超出速率限制
500 服务器内部错误

代码示例

cURL

curl -X GET "https://api.ipv4.dev/v1/ip/8.8.8.8" \
  -H "Authorization: Bearer YOUR_API_KEY"

Python

import requests

url = "https://api.ipv4.dev/v1/ip/8.8.8.8"
headers = {"Authorization": "Bearer YOUR_API_KEY"}

response = requests.get(url, headers=headers)
data = response.json()
print(data)

JavaScript (Node.js)

const axios = require('axios');

axios.get('https://api.ipv4.dev/v1/ip/8.8.8.8', {
  headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
})
.then(response => console.log(response.data))
.catch(error => console.error(error));

PHP

$ch = curl_init();
curl_setopt_array($ch, [
    CURLOPT_URL => "https://api.ipv4.dev/v1/ip/8.8.8.8",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer YOUR_API_KEY"
    ]
]);
$response = curl_exec($ch);
$data = json_decode($response, true);
print_r($data);