Super Whois

返回查询页

Super Whois API

简单易用的 JSON 格式 WHOIS 查询接口,支持域名、IP 及 ASN。

v2.2.2

基础 URL

GEThttps://w.ppee.eu.org/api.php
POSThttps://w.ppee.eu.org/api.php

POST JSON 支持 {"q":"example.com"}{"queries":["example.com","example.org"]}

认证

该 API 默认可公开访问。认证请求可获得更高但仍有限的配额。

curl -H "Authorization: Bearer YOUR_API_KEY" "https://w.ppee.eu.org/api.php?q=google.com"

请使用 Authorization: Bearer(首选)或 X-API-Key 请求头。本地可直接把 SK 码填入 api_keys.php;生产环境建议使用环境变量。URL 参数中的密钥已弃用。

本地简单设置(编辑 api_keys.php)

$apiKeys = ['paste-your-sk-code-here'];
SUPER_WHOIS_API_KEYS=replace-with-a-long-random-secret

速率限制

未认证客户端每小时每个 IP 有 60 个查询单位;每个唯一查询消耗一个单位,DNS 扩展再消耗一个。

响应头说明
RateLimit-Limit每个时间窗口的最大查询单位
RateLimit-Remaining当前窗口剩余查询单位
RateLimit-Reset当前时间窗口重置前的秒数
Retry-After触发限流后可再次请求前需等待的秒数

请求参数

参数必填说明
q / queries 必填 查询目标。支持域名(如 google.com)、IPv4/IPv6 地址,或 ASN(如 AS15169)。逗号或换行分隔多个查询可进入批量模式。 POST JSON 支持 {"q":"example.com"}{"queries":["example.com","example.org"]}。 公开/认证上限:10/50 个查询。输出位置会保留,重复查询只执行一次上游工作。
key 可选 已弃用的 URL API Key 参数;请改用 AuthorizationX-API-Key 请求头。
dns 可选 设为 true 时在域名查询结果中附加 DNS 记录(A、AAAA、MX、TXT、NS)
raw 可选 单笔查询默认包含原始数据,批量查询默认省略;可明确设为 truefalse,原始数据有大小上限。
pretty 可选 设为 true 输出格式化 JSON;默认返回紧凑 JSON
lang 可选 文档语言:en(默认)、zh-cn(简体)或 zh-tw(繁体)

接口与示例

域名查询

GEThttps://w.ppee.eu.org/api.php?q=google.com

IP 查询

GEThttps://w.ppee.eu.org/api.php?q=8.8.8.8

ASN 查询

GEThttps://w.ppee.eu.org/api.php?q=AS15169

域名 + DNS 记录查询

GEThttps://w.ppee.eu.org/api.php?q=google.com&dns=true

批量查询

GEThttps://w.ppee.eu.org/api.php?q=google.com,github.com,cloudflare.com&raw=false
POST{"queries":["google.com","github.com"],"raw":false}

响应字段说明

HTTP 200 表示请求已处理;客户端仍须检查每个项目的 status。为兼容 v2,上游查询失败会以应用层 status=error 表示。

字段类型说明
querystring经过处理的查询输入
query_typestringdomain | ipv4 | ipv6 | asn
query_methodstringRDAP、WHOIS、后备方法或 none
lookup_domainstring|null域名查询使用 PSL 计算出的可注册域名
unicode_domainstring?输入为 IDN A-label 时的可读 Unicode 域名
is_subdomainboolean?输入被规范化为可注册 apex 时为 true
statusstringregistered | available | found | restricted | error;available 表示权威资料未找到,并非保证可购买
whois_serverstring|null实际提供数据的 RDAP 或 WHOIS 上游服务器
attempted_serversarray?返回结果前尝试过的服务器,用于传输与后备路由诊断
timestampISO 8601本次 API 响应的 UTC 时间
query_msinteger查询耗时(毫秒)
cachedboolean规范化查询是否来自服务端缓存
cache_age_sinteger缓存值的存在时间(秒)
staleboolean?临时刷新失败后返回的已注册最近可信缓存
duration_msnumber查询或批量请求耗时(毫秒)
availabilitystring?权威 RDAP 404 时为 not_found;不代表保证可购买
upstream_statusinteger?可用时记录相关上游 HTTP 状态
dns_recordsobject?dns=true 时返回原始输入主机名的 DNS 数据
error_codestring?稳定的机器可读应用错误码
request_idstring关联 ID,也会通过 X-Request-ID 返回
api_versionstringAPI 版本号
dataobject结构化解析字段(仅域名查询且已注册时返回)
data.creation_dateISO 8601域名注册日期
data.expiration_dateISO 8601域名到期日期
data.updated_dateISO 8601最后更新日期
data.registrarstring注册商名称
data.registrar_iana_idstring注册商 IANA 编号
data.registrant_address
data.registrant_city
data.registrant_region
data.registrant_postal_code
string?注册局公开时提供的注册人地址组成部分
data.nameserversarray域名服务器列表(小写、去重;顺序不保证)
data.statusarray域名 EPP 状态码
data.dnssecstringsigned(已签名)或 unsigned(未签名)
subdomain_suggestionstring?若查询的是子域名,建议查询的顶级域名
rawstring?原始 RDAP/WHOIS 响应(IP 已脱敏);可用 raw=false 省略; 每项最多 131072 字节
raw_truncatedboolean?原始上游数据被大小限制时为 true
batch/count/succeeded/failed批量封装元数据批量封装摘要;结果保持输入顺序

响应示例 — api.php?q=google.com

{ "query": "google.com", "query_type": "domain", "query_method": "rdap", "lookup_domain": "google.com", "whois_server": "rdap.verisign.com", "status": "registered", "cached": false, "cache_age_s": 0, "timestamp": "2026-08-08T10:23:45Z", "query_ms": 180, "api_version": "2.2.2", "data": { "creation_date": "1997-09-15T04:00:00Z", "expiration_date": "2028-09-14T04:00:00Z", "updated_date": "2019-09-09T15:39:04Z", "registrar": "MarkMonitor Inc.", "registrar_iana_id": "292", "registrar_whois": "whois.markmonitor.com", "nameservers": ["ns1.google.com","ns2.google.com","ns3.google.com","ns4.google.com"], "status": ["clientDeleteProhibited","clientTransferProhibited"], "dnssec": "unsigned" }, "request_id": "9c2e7f6f26a9d2c1", "raw": "RDAP 200 from rdap.verisign.com\n--- RDAP JSON ---\n{...}" }

批量响应 — api.php?q=google.com,github.com

{ "batch": true, "count": 2, "succeeded": 2, "failed": 0, "duration_ms": 420, "api_version": "2.2.2", "request_id": "9c2e7f6f26a9d2c1", "timestamp": "2026-08-08T10:23:45Z", "results": [ { "query": "google.com", "query_type": "domain", "status": "registered", "..." : "..." }, { "query": "github.com", "query_type": "domain", "status": "registered", "..." : "..." } ] }

错误码

HTTP含义
400请求错误 — q 参数无效或缺失
401未授权 — 需要 API Key 但未提供或无效
405不允许的请求方法
413请求内容或生成的响应超过配置上限
422超过批量查询上限
429请求过频 — 超出速率限制
503限流存储或其他必要运行服务不可用
500服务器错误 — PHP 扩展缺失或配置错误

在线测试

代码示例

JavaScript (fetch)

fetch("https:\/\/w.ppee.eu.org\/api.php?q=google.com") .then(r => r.json()) .then(data => { console.log(data.status); // "registered" console.log(data.data.registrar); // "MarkMonitor Inc." console.log(data.data.expiration_date); // "2028-09-14T04:00:00Z" });

Python (requests)

import requests resp = requests.get("https:\/\/w.ppee.eu.org\/api.php", params={'q': 'google.com'}) data = resp.json() print(data['status']) print(data['data']['registrar'])

cURL

curl -H "Authorization: Bearer YOUR_API_KEY" "https://w.ppee.eu.org/api.php?q=google.com&raw=false" | python3 -m json.tool

批量查询 (cURL)

curl "https://w.ppee.eu.org/api.php?q=google.com,github.com,cloudflare.com&raw=false" | python3 -m json.tool

POST JSON

curl -X POST -H "Content-Type: application/json" -d '{"queries":["google.com","github.com"],"raw":false}' "https://w.ppee.eu.org/api.php"