API ipcheckerpro
API JSON miễn phí, không cần khóa cho định vị IP, dữ liệu ASN, cờ, danh sách chặn, WHOIS và bản ghi DNS. 60 yêu cầu mỗi phút, hỗ trợ CORS, kèm ví dụ.
Endpoint
/api/v1/ipGiới hạn tần suất: 60/minYour own address: location, network, type and flags (never cached).
curl -s https://ipcheckerpro.com/api/v1/ip/api/v1/ip/{ip}Giới hạn tần suất: 60/minAny public IPv4/IPv6 address. Add whois=1 (RDAP record) and blacklists=1 (DNSBL checks, IPv4).
curl -s "https://ipcheckerpro.com/api/v1/ip/1.1.1.1?whois=1&blacklists=1"/api/v1/asn/{asn}Giới hạn tần suất: 60/minAutonomous system details: name, country, type, prefix counts; whois=1 adds the registry record.
curl -s "https://ipcheckerpro.com/api/v1/asn/13335?whois=1"/api/v1/dns?name=&type=Giới hạn tần suất: 30/minDNS records of a hostname (A, AAAA, CNAME, MX, NS, TXT, SOA, SRV, CAA, PTR).
curl -s "https://ipcheckerpro.com/api/v1/dns?name=example.com&type=MX"/api/v1/bulkMớiGiới hạn tần suất: 5/minUp to 100 addresses in one JSON array: country, city, ASN, type, Tor/hosting/DROP flags and risk score.
curl -s -X POST https://ipcheckerpro.com/api/v1/bulk -H "Content-Type: application/json" -d '["1.1.1.1","8.8.8.8"]'/api/v1/stats/liveMớiGiới hạn tần suất: 60/minAnonymous aggregates: checks in the last 24 h, countries seen, top networks, dataset versions.
curl -s https://ipcheckerpro.com/api/v1/stats/liveNhận khóa API miễn phí
Các endpoint không cần khóa cho phép 60 yêu cầu mỗi phút cho mỗi IP. Khóa miễn phí nâng mức đó lên 1.000 yêu cầu mỗi ngày và 300 mỗi phút, tính theo khóa thay vì theo IP — đủ cho một ứng dụng nhỏ, một cron job hay một dashboard. Khóa được gửi qua email và hiển thị một lần bên dưới.
Chúng tôi lưu mã băm của khóa và email của bạn để bạn có thể yêu cầu thu hồi. Không có bản tin.
Sử dụng khóa
Gửi khóa trong header X-API-Key (khuyên dùng) hoặc dưới dạng tham số truy vấn key trên bất kỳ endpoint /api/v1/ nào. Mọi phản hồi mang header X-RateLimit-Limit và X-RateLimit-Remaining cho hạn mức ngày; GET /api/v1/key trả về mức sử dụng hôm nay của khóa được cung cấp.
Hạn mức
| Không có khóa | Với khóa miễn phí | |
|---|---|---|
| yêu cầu mỗi phút cho mỗi IP | 60 (DNS: 30) | — |
| yêu cầu mỗi phút cho mỗi khóa | — | 300 |
| yêu cầu mỗi ngày cho mỗi khóa | — | 1,000 |
| POST /api/v1/bulk | 5 batches/min · 100 IPs | 5 batches/min · 100 IPs |
Ví dụ
curl -s -H "X-API-Key: YOUR_KEY" \
"https://ipcheckerpro.com/api/v1/ip/1.1.1.1?checks=native,risk"
# usage of the key
curl -s -H "X-API-Key: YOUR_KEY" https://ipcheckerpro.com/api/v1/keyconst res = await fetch('https://ipcheckerpro.com/api/v1/ip/1.1.1.1', {
headers: { 'X-API-Key': 'YOUR_KEY' }
});
const data = await res.json();
console.log(data.location.country, data.network.name, res.headers.get('X-RateLimit-Remaining'));import requests
r = requests.get('https://ipcheckerpro.com/api/v1/ip/1.1.1.1',
headers={'X-API-Key': 'YOUR_KEY'}, timeout=10)
r.raise_for_status()
data = r.json()
print(data['location']['country'], data['classification'], r.headers['X-RateLimit-Remaining'])$ctx = stream_context_create(['http' => ['header' => "X-API-Key: YOUR_KEY\r\n"]]);
$json = file_get_contents('https://ipcheckerpro.com/api/v1/ip/1.1.1.1', false, $ctx);
$data = json_decode($json, true);
echo $data['location']['country'], ' ', $data['network']['name'];Tổng quan
Mô tả máy đọc được: /api/v1/openapi.json (OpenAPI 3.1).
API trả về cùng dữ liệu như website dưới dạng JSON: vị trí, mạng và phân loại của bất kỳ địa chỉ IP nào, bản ghi registry đằng sau nó, trạng thái danh sách chặn, chi tiết ASN và bản ghi DNS. Không cần khóa và không cần đăng ký.
- URL gốc:
https://ipcheckerpro.com/api/v1 - Định dạng: JSON, UTF-8, chỉ
GET - Giới hạn: 60 yêu cầu mỗi phút cho mỗi địa chỉ IP với endpoint IP và ASN, 30 mỗi phút với endpoint DNS
- CORS: mọi phản hồi mang
Access-Control-Allow-Origin: *, nên trình duyệt gọi trực tiếp được - Ghi nguồn: nếu bạn hiển thị dữ liệu, hãy hiện "IP geolocation by DB-IP" kèm liên kết tới db-ip.com (xem Ghi nguồn bên dưới)
Endpoint
GET /api/v1/ip
Trả về hồ sơ địa chỉ của chính người gọi. Phản hồi được đánh dấu Cache-Control: private, no-store, nên luôn mới.
curl -s https://ipcheckerpro.com/api/v1/ip
GET /api/v1/ip/{ip}
Trả về hồ sơ của bất kỳ địa chỉ IPv4 hoặc IPv6 công khai nào. Tham số truy vấn tùy chọn:
whois=1thêm đối tượngwhoisvới bản ghi registry lấy qua RDAP.blacklists=1chạy tám kiểm tra danh sách chặn DNS (chỉ IPv4) và điền đối tượngblacklists.
Phản hồi lưu đệm được 300 giây. Kết quả danh sách chặn được lưu đệm ở phía chúng tôi một giờ và bản ghi registry 24 giờ.
curl -s "https://ipcheckerpro.com/api/v1/ip/1.1.1.1?whois=1&blacklists=1"
GET /api/v1/asn/{asn}
Trả về chi tiết của một hệ thống tự trị. Số có thể có hoặc không có tiền tố AS. Thêm whois=1 để kèm bản ghi registry trong đối tượng registry. Phản hồi lưu đệm được một giờ.
curl -s "https://ipcheckerpro.com/api/v1/asn/13335?whois=1"
GET /api/v1/dns?name=&type=
Trả về bản ghi DNS của một hostname. type là một trong A, AAAA, CNAME, MX, NS, TXT, SOA, SRV, CAA hoặc PTR; mặc định là A. Phản hồi lưu đệm được 60 giây.
curl -s "https://ipcheckerpro.com/api/v1/dns?name=example.com&type=MX"
Cấu trúc phản hồi
Yêu cầu IP thành công trả về đối tượng với các trường sau. Giá trị không rõ là null. Các giá trị bên dưới chỉ minh họa; hãy chạy yêu cầu để xem dữ liệu hiện tại của một địa chỉ.
{
"ip": "1.1.1.1",
"version": 4,
"private": false,
"hostname": "one.one.one.one",
"location": {
"country_code": "AU",
"country": "Australia",
"region": "Queensland",
"city": "Brisbane",
"latitude": -27.4679,
"longitude": 153.028,
"timezone": "Australia/Brisbane",
"continent": "OC",
"eu": false
},
"network": {
"asn": 13335,
"name": "CLOUDFLARENET",
"prefix": "1.1.1.0/24",
"country_code": "US",
"type": "hosting"
},
"classification": "hosting",
"flags": {
"hosting": true,
"tor": false,
"vpn_provider": false,
"spamhaus_drop": null,
"datacenter": "Cloudflare",
"mobile": false
},
"blacklists": { "checked": 8, "listed": 0 },
"sources": {
"geolocation": "DB-IP Lite (CC BY 4.0)",
"asn": "iptoasn.com / DB-IP Lite"
}
}
Ghi chú về trường:
versionlà4hoặc6.privatelàtruevới dải loopback, link-local và riêng; các địa chỉ đó không cólocationhaynetwork.hostnamelà bản ghi PTR (DNS ngược), hoặcnull.network.typelà phân loại mạng suy từ tên ASN và danh sách công khai:isp,mobile,hosting,education,government,businesshoặcunknown.classificationlà kết luận tổng thể:residential,mobile,hosting,vpn,tor,education,government,business,privatehoặcunknown.flags.spamhaus_droplà dải DROP khớp dưới dạng chuỗi, hoặcnull.flags.datacenterlà tên nhà cung cấp khớp từ danh sách datacenter, hoặcnull.blacklistslànulltrừ khi cóblacklists=1.whois(vớiwhois=1) chứahandle,name,type,start,end,cidr,country,parent,status,entities,events,remarks,linksvàregistry.
Yêu cầu ASN trả về asn, name, country_code, type, ipv4_prefixes, ipv4_addresses, ipv6_prefixes, prefixes_sample (tối đa 20 chuỗi CIDR), registry (với whois=1, nếu không là null) và source.
Yêu cầu DNS trả về name, type và records, một mảng các đối tượng { "name", "ttl", "value" }.
Lỗi
Lỗi là đối tượng JSON với mã error và, thường, một message:
| Trạng thái | error |
Ý nghĩa |
|---|---|---|
| 400 | invalid_ip |
Phân đoạn đường dẫn không phải địa chỉ IPv4 hoặc IPv6 hợp lệ |
| 400 | invalid_asn |
ASN không phải số |
| 400 | invalid_query |
name không phải hostname hoặc type không được hỗ trợ |
| 404 | not_found |
Không biết prefix được quảng bá nào cho ASN đó |
| 429 | rate_limited |
Vượt giới hạn; đợi rồi thử lại |
Ví dụ
JavaScript (trình duyệt hoặc Node)
const res = await fetch("https://ipcheckerpro.com/api/v1/ip/8.8.8.8?whois=1");
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const data = await res.json();
console.log(data.location.country, data.network.name, data.classification);
Python
import requests
r = requests.get("https://ipcheckerpro.com/api/v1/ip/8.8.8.8", params={"blacklists": 1}, timeout=10)
r.raise_for_status()
data = r.json()
print(data["location"]["country"], data["network"]["name"], data["blacklists"])
curl với địa chỉ của chính người gọi
curl -s https://ipcheckerpro.com/api/v1/ip | jq '{ip, country: .location.country, type: .network.type}'
Ghi nguồn
Dữ liệu định vị đến từ DB-IP Lite, cấp phép theo Creative Commons Attribution 4.0. Nếu bạn hiển thị dữ liệu từ API này cho người dùng, hãy hiện văn bản "IP geolocation by DB-IP" kèm liên kết tới https://db-ip.com gần dữ liệu. Dữ liệu ASN đến từ iptoasn.com (công cộng) và DB-IP Lite. Kết quả danh sách chặn và registry thuộc về nhà vận hành tương ứng và được trả về cho mục đích sử dụng của bạn, không để phân phối lại dưới dạng bộ dữ liệu.
Sử dụng hợp lý
Các giới hạn trên áp dụng theo địa chỉ IP gọi. Nếu cần nhiều hơn, hãy lưu đệm phản hồi ở phía bạn; dữ liệu vị trí và mạng của một địa chỉ hiếm khi thay đổi trong ngày. Đừng dùng API để xây bản sao của các cơ sở dữ liệu nền. Xem điều khoản sử dụng để biết đầy đủ quy tắc sử dụng được chấp nhận.
Thay đổi
API được đánh phiên bản trong đường dẫn. Trường có thể được thêm vào phản hồi mà không báo trước; trường hiện có không bị đổi tên hay xóa trong v1. Thay đổi về giới hạn, endpoint hoặc hành vi được thông báo trên trang này trước khi có hiệu lực.
