WebTrackly API v1

面向域名情报数据的 RESTful API

身份验证

所有 API 请求都必须在 Authorization 头中携带 Bearer 令牌。订阅 API 套餐后,可在 API 控制台获取您的 API 密钥。

Authorization: Bearer YOUR_API_KEY

快速上手

curl "https://webtrackly.com/api/v1/packages/?type=technology&q=wordpress" \
     -H "Authorization: Bearer YOUR_API_KEY"
基础 URL: https://webtrackly.com/api/v1/
格式: JSON
方法: GET
分页: ?page=1 (20 条/页)

响应格式

列表接口返回分页结果。速率限制信息包含在响应头中。

{
  "results": [...],
  "count": 1511,
  "page": 1,
  "pages": 76,
  "has_next": true
}

响应头

响应头字段描述
X-RateLimit-Limit每月调用上限
X-RateLimit-Remaining本月剩余调用次数
X-RateLimit-Used本月已用调用次数

数据包

GET /api/v1/packages/

列出所有域名数据包(区域文件和技术数据)。支持筛选和搜索。

参数类型描述
typestring按类型筛选:zone、technology、detailed
zonestring按区域 TLD 筛选(如 com、net)
technologystring按技术名称筛选
qstring按名称搜索
pageint页码(默认:1)
GET /api/v1/packages/{slug}/

获取指定数据包的详细信息,包括示例域名。

{
  "slug": "com-zone",
  "name": ".com Zone File",
  "package_type": "zone",
  "zone": "com",
  "domain_count": 150000000,
  "price": "49.00",
  "updated_at": "2026-03-08",
  "sample_domains": ["example.com", "test.com", ...]
}

数据集

GET /api/v1/datasets/

列出所有高级数据集。支持搜索。

参数类型描述
qstring按名称或描述搜索
pageint页码(默认:1)
GET /api/v1/datasets/{slug}/

获取数据集详情,包括示例数据。

{
  "slug": "ecommerce-domains-2026",
  "name": "E-commerce Domains 2026",
  "description": "...",
  "record_count": 500000,
  "price": "99.00",
  "sample": [...]
}

账号

GET /api/v1/account/

获取您的 API 订阅信息、用量统计和 API 密钥列表。

{
  "subscription": {
    "plan": "API Professional",
    "status": "active",
    "calls_limit": 100000,
    "calls_used": 1523,
    "calls_remaining": 98477,
    "expires_at": "2026-04-08"
  },
  "keys": [
    {"key": "wt_live_abc...xyz", "name": "Production", "is_active": true}
  ]
}

速率限制

API 调用按月计数。上限取决于您的 API 订阅套餐。

套餐调用次数/月价格
API Starter10,000$29/月
API Professional100,000$99/月
API Enterprise1,000,000$299/月

结果采用分页返回,每页最多 20 条,以防止批量提取数据。 查看套餐

错误

代码描述
401API 密钥缺失或无效
403API 密钥已停用或订阅已过期
404资源不存在
429已超出每月 API 调用上限
{"error": "Rate limit exceeded", "limit": 10000, "used": 10000}

代码示例

Python
import requests

API_KEY = "YOUR_API_KEY"
BASE = "https://webtrackly.com/api/v1"
headers = {"Authorization": f"Bearer {API_KEY}"}

# Search technology packages
r = requests.get(f"{BASE}/packages/", headers=headers,
                 params={"type": "technology", "q": "wordpress"})
for pkg in r.json()["results"]:
    print(f"{pkg['name']}: {pkg['domain_count']} domains")

# Check usage
r = requests.get(f"{BASE}/account/", headers=headers)
info = r.json()["subscription"]
print(f"Used {info['calls_used']}/{info['calls_limit']}")
JavaScript
const API_KEY = 'YOUR_API_KEY';
const BASE = 'https://webtrackly.com/api/v1';
const headers = { 'Authorization': `Bearer ${API_KEY}` };

// Search packages
const res = await fetch(`${BASE}/packages/?type=zone&q=com`, { headers });
const data = await res.json();
data.results.forEach(pkg =>
    console.log(`${pkg.name}: ${pkg.domain_count} domains`)
);

// Check rate limits from headers
console.log('Remaining:', res.headers.get('X-RateLimit-Remaining'));
PHP
$apiKey = 'YOUR_API_KEY';
$base = 'https://webtrackly.com/api/v1';

$ch = curl_init("$base/packages/?type=technology&q=wordpress");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer $apiKey"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = json_decode(curl_exec($ch), true);
curl_close($ch);

foreach ($result['results'] as $pkg) {
    echo "- {$pkg['name']}: {$pkg['domain_count']} domains\n";
}
cURL
# List zone packages
curl "https://webtrackly.com/api/v1/packages/?type=zone" \
     -H "Authorization: Bearer YOUR_API_KEY"

# Get package details
curl "https://webtrackly.com/api/v1/packages/com-zone/" \
     -H "Authorization: Bearer YOUR_API_KEY"

# Check account usage
curl "https://webtrackly.com/api/v1/account/" \
     -H "Authorization: Bearer YOUR_API_KEY"
support_agent
WebTrackly Support
Usually replies within minutes
您好!
给我们留言,我们会尽快回复。