Tra cứu WHOIS và RDAP API
Dữ liệu đăng ký của bất kỳ tên miền, địa chỉ IP hay số hiệu mạng tự trị nào, lấy trực tiếp từ sổ đăng ký có thẩm quyền qua RDAP. Nhà đăng ký, máy chủ tên, DNSSEC, ngày hết hạn và đầu mối báo cáo lạm dụng dưới dạng JSON đơn giản.
Chưa có API key?
Đăng nhập vào tài khoản để tạo và quản lý API key của bạn.
Hướng dẫn tích hợp
Sao chép một đoạn mã, thay API key của bạn, chạy. Hoạt động với mọi HTTP client — các ví dụ bên dưới bằng cURL, JavaScript và Python.
/api/whoishttps://www.apipick.comRegistration data for a domain, IP address, or AS number
querystringbắt buộcA domain name, IPv4/IPv6 address, or AS number. The type is detected automatically. github.com
curl -X GET "https://www.apipick.com/api/whois" \
-H "x-api-key: YOUR_API_KEY"{
"query": "github.com",
"type": "domain",
"found": true,
"domain": "github.com",
"unicode_domain": null,
"nameservers": [
"dns1.p08.nsone.net",
"ns-421.awsdns-52.com"
],
"dnssec": false,
"handle": "1264983250_DOMAIN_COM-VRSN",
"status": [
"client delete prohibited",
"client transfer prohibited"
],
"country": null,
"registrar": "MarkMonitor Inc.",
"registered_at": "2007-10-09T18:20:50Z",
"updated_at": "2024-09-07T09:16:32Z",
"expires_at": "2026-10-09T18:20:50Z",
"contacts": [
{
"roles": [
"registrar"
],
"handle": "292",
"name": "MarkMonitor Inc.",
"organization": null,
"email": null,
"phone": null,
"address": null,
"country": null
}
],
"source": "RDAP (IANA bootstrap via rdap.org)",
"credits_used": 2,
"remaining_credits": 98
}Xây dựng cho các trường hợp sử dụng thực tế
Theo dõi ngày hết hạn
Định kỳ truy vấn danh mục tên miền của bạn và cảnh báo trước ngày gia hạn. Dữ liệu trực tiếp từ sổ đăng ký nên không có gì lỗi thời vì một chu kỳ bộ nhớ đệm.
Thẩm định tên miền
Kiểm tra tuổi đăng ký, nhà đăng ký và mã trạng thái trước khi tin tưởng tên miền của đối tác hoặc phê duyệt một nhà cung cấp.
Báo cáo lạm dụng
Truy ngược một địa chỉ IP hoặc ASN về chủ sở hữu và đầu mối báo cáo lạm dụng, để báo cáo tự động đến được hộp thư thực sự có người đọc.
Làm giàu dữ liệu cho tác tử
Một tham số duy nhất bao trùm tên miền, IP và ASN, nên với mô hình ngôn ngữ đây là một định nghĩa công cụ gọn gàng.
Các trường phản hồi
| Trường | Kiểu | Mô tả |
|---|---|---|
| type | string | Loại truy vấn được nhận diện: domain, ip hoặc autnum |
| found | boolean | False khi đối tượng chưa đăng ký hoặc chưa được cấp phát |
| registrar | string | null | Nhà đăng ký phụ trách (tên miền) |
| registered_at | string | null | Ngày đăng ký theo định dạng ISO 8601 |
| expires_at | string | null | Ngày hết hạn theo định dạng ISO 8601 (tên miền) |
| updated_at | string | null | Ngày ISO 8601 của lần thay đổi bản ghi gần nhất |
| status | string[] | Mã trạng thái EPP, ví dụ client transfer prohibited |
| nameservers | string[] | Máy chủ tên được ủy quyền (tên miền) |
| dnssec | boolean | null | Việc ủy quyền có được ký bằng DNSSEC hay không |
| cidr | string[] | Các khối CIDR của phần cấp phát (truy vấn IP) |
| asn | integer | null | Số hiệu mạng tự trị (truy vấn ASN) |
| contacts[] | object[] | Các thực thể jCard đã làm phẳng, kèm vai trò, tổ chức, email và điện thoại |
| credits_used | integer | Credit bị trừ cho request này |
| remaining_credits | integer | Credit còn lại trong tài khoản của bạn |
Giới hạn tần suất
Giới hạn tốc độ tính theo từng API key, cửa sổ trượt 60 giây. Vượt giới hạn, bạn nhận được phản hồi 429 sạch sẽ kèm header Retry-After.
30req/min
Theo từng API key, từng endpoint. Cửa sổ trượt 60 giây.
3concurrent
Số request đang chạy tối đa đồng thời cho mỗi API key.
X-RateLimit-LimitSố request tối đa cho phép mỗi phútX-RateLimit-RemainingSố request còn lại trong cửa sổ hiện tạiX-RateLimit-ResetSố giây cho đến khi cửa sổ hiện tại được đặt lạiRetry-AfterSố giây cần chờ trước khi thử lại (chỉ khi 429)HTTP/1.1 429 Too Many Requests
Retry-After: 12
X-RateLimit-Limit: 30
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 12
{
"error": "rate_limit_exceeded",
"message": "Rate limit exceeded: 30 requests/minute per API key. Retry after 12s.",
"retry_after": 12
}Nguồn dữ liệu và giấy phép
Bản ghi đến từ sổ đăng ký có thẩm quyền của từng đối tượng — Verisign, Nominet và các đơn vị vận hành sổ đăng ký khác đối với tên miền; ARIN, RIPE NCC, APNIC, LACNIC và AFRINIC đối với dải IP và số hiệu mạng tự trị — được phân giải qua cơ chế RDAP bootstrap của IANA. Chúng tôi không lưu đệm hay đăng lại bất cứ điều gì: bạn thấy đúng những gì sổ đăng ký trả về tại thời điểm truy vấn.
Câu hỏi thường gặp
Hỏi: Cái này khác gì WHOIS truyền thống?
Đáp: RDAP là giao thức do IETF xây dựng để thay thế WHOIS trên cổng 43. Trong khi WHOIS trả về văn bản tự do khác nhau tùy sổ đăng ký và phải bóc tách, RDAP trả về JSON có cấu trúc theo lược đồ chuẩn, qua HTTPS, với mã 404 đúng nghĩa. Chúng tôi truy vấn sổ đăng ký có thẩm quyền qua cơ chế bootstrap của IANA và làm phẳng các khối liên hệ jCard thành đối tượng thông thường.
Hỏi: Vì sao thông tin liên hệ của chủ thể đăng ký thường trống?
Đáp: Kể từ GDPR, phần lớn sổ đăng ký gTLD che tên, email và địa chỉ của chủ thể trong RDAP công khai, chỉ công bố nhà đăng ký phụ trách cùng một đầu mối báo cáo lạm dụng. Việc che thông tin đó chính là câu trả lời của sổ đăng ký, không phải thiếu sót của API này — không nhà cung cấp WHOIS nào hiển thị được dữ liệu mà sổ đăng ký không công bố.
Hỏi: Có dùng được cho địa chỉ IP và số hiệu mạng tự trị không?
Đáp: Có. Truyền vào địa chỉ IPv4 hoặc IPv6 để nhận mạng được cấp phát, các khối CIDR, chủ sở hữu và mã định danh RIR; truyền AS13335 hoặc 13335 để nhận tên AS cùng các đầu mối chủ sở hữu, báo cáo lạm dụng và kỹ thuật. Loại truy vấn được nhận diện từ dữ liệu nhập, nên một tham số bao trùm cả ba trường hợp.
Hỏi: Tên miền chưa đăng ký sẽ trả về gì?
Đáp: HTTP 200 kèm found: false. Đó là một câu trả lời thực sự — đây chính là cách kiểm tra tên miền còn trống — nên vẫn tính tín dụng như bình thường. Chỉ khi phía nguồn gặp sự cố (sổ đăng ký hết thời gian chờ, bị giới hạn tần suất) mới trả về mã ngoài dải 2xx, và những trường hợp đó không bao giờ bị tính phí.
Hỏi: Ngày hết hạn cập nhật đến mức nào?
Đáp: Nó được lấy thẳng từ bản ghi RDAP của chính sổ đăng ký tại thời điểm truy vấn, không có lớp bộ nhớ đệm nào ở giữa, nên mới đúng bằng sổ đăng ký. Điều đó khiến nó phù hợp để theo dõi ngày hết hạn — truy vấn danh mục hằng ngày và đặt cảnh báo dựa trên expires_at.