开发者参考

子域查找器 API 文档

子域查找器 API 文档: 使用 Certificate Transparency (CT) 日志发现子域名。使用 prefer_cache=1 轮询缓存结果:冷缓存未命中会返回 HTTP 202,排队后台刷新,并且不消耗积分。

子域查找器

使用 Certificate Transparency (CT) 日志发现子域名。使用 prefer_cache=1 轮询缓存结果:冷缓存未命中会返回 HTTP 202,排队后台刷新,并且不消耗积分。

GET /v1/subdomains

查询参数

参数类型说明
domain 必需 string 查找子域的根域(例如,"github.com")
prefer_cache 可选 boolean 仅返回缓存结果。如果没有新鲜或过期缓存,API 会返回 202,排队后台刷新,并收取 0 积分。
sources 可选 string 逗号分隔的数据源。目前仅接受 ct (Certificate Transparency)。
verify 可选 boolean 通过DNS验证每个子域是否解析(较慢但更准确)。默认: false
limit 可选 number 返回的子域最大值。默认: 500,最大: 2000

使用场景

  • 攻击面映射和安全审计
  • 发现被遗忘或影子IT子域
  • 收购前技术尽职调查
  • 竞争对手基础设施分析
  • 漏洞赏金侦查

响应字段

字段说明
subdomains[].name发现的子域主机名
subdomains[].source数据源(例如,"ct")
subdomains[].first_seen首次观察到该子域的时间
subdomains[].verified是否确认DNS解析(如果verify=true)
subdomains[].dns_records找到的DNS记录(如果verify=true)
summary.total_found限制前发现的子域总数
summary.verified_count验证过的(活跃)子域数

HTTP 状态码

HTTP 状态码说明
200 成功请求成功
202 已接受仅缓存的子域名请求未命中,已接受并在后台刷新。不收取积分;请在 Retry-After 延迟后重试。
400 请求错误参数无效
402 需要付款没有足够额度来执行此请求。
503 服务不可用上游服务不可用或正在临时限流。
504 网关超时上游查询已超时。

请求示例

# Find subdomains (fast, from CT logs)
curl "https://domscan.net/v1/subdomains?domain=github.com&limit=100"

# Find and verify subdomains (slower, confirms DNS resolution)
curl "https://domscan.net/v1/subdomains?domain=github.com&verify=true&limit=50"

curl "https://domscan.net/v1/subdomains?domain=github.com&prefer_cache=1"
import requests

# Enumerate subdomains with verification
response = requests.get(
    "https://domscan.net/v1/subdomains",
    params={
        "domain": "github.com",
        "verify": "true",
        "limit": 100
    }
)
data = response.json()

print(f"Found {data['summary']['total_found']} subdomains")
print(f"Verified: {data['summary']['verified_count']}")

# Filter to only live subdomains
live_subs = [s for s in data['subdomains'] if s['verified']]
for sub in live_subs[:10]:
    print(f"  {sub['name']}")
const response = await fetch(
  'https://domscan.net/v1/subdomains?' + new URLSearchParams({
    domain: 'github.com',
    verify: 'true',
    limit: '100'
  })
);
const data = await response.json();

console.log(`Found ${data.summary.total_found} subdomains`);
console.log(`Verified: ${data.summary.verified_count}`);

// List verified subdomains
data.subdomains
  .filter(s => s.verified)
  .forEach(s => console.log(`  ${s.name}`));

响应示例

{
  "domain": "github.com",
  "subdomains": [
    {
      "name": "api.github.com",
      "source": "ct",
      "first_seen": "2024-01-15T00:00:00Z",
      "verified": true,
      "dns_records": ["A 140.82.112.5"]
    },
    {
      "name": "gist.github.com",
      "source": "ct",
      "first_seen": "2024-02-01T00:00:00Z",
      "verified": true,
      "dns_records": ["CNAME github.github.io"]
    },
    {
      "name": "education.github.com",
      "source": "ct",
      "first_seen": "2023-06-10T00:00:00Z",
      "verified": true,
      "dns_records": ["A 185.199.108.153"]
    }
  ],
  "summary": {
    "total_found": 847,
    "returned": 3,
    "verified_count": 3,
    "unverified_count": 0,
    "sources_used": ["ct"]
  },
  "meta": {
    "query_time_ms": 1250,
    "cached": false
  }
}

202 已接受

{
  "status": "pending",
  "code": "CACHE_MISS_REFRESH_QUEUED",
  "message": "Try again in a moment",
  "domain": "github.com",
  "retry_after": 30,
  "credits_charged": 0,
  "billing_status": "not_charged",
  "request_id": "m8abc12-x9y8"
}

被出色公司的人们使用

VercelLLM PulseOLXCasa ModernaPipeCal.comBeehiivSnykTogglRemoteSprigDeel