所有 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"
https://webtrackly.com/api/v1/JSONGET?page=1 (20 条/页)列表接口返回分页结果。速率限制信息包含在响应头中。
{
"results": [...],
"count": 1511,
"page": 1,
"pages": 76,
"has_next": true
}
响应头
| 响应头字段 | 描述 |
|---|---|
| X-RateLimit-Limit | 每月调用上限 |
| X-RateLimit-Remaining | 本月剩余调用次数 |
| X-RateLimit-Used | 本月已用调用次数 |
/api/v1/packages/
列出所有域名数据包(区域文件和技术数据)。支持筛选和搜索。
| 参数 | 类型 | 描述 |
|---|---|---|
| type | string | 按类型筛选:zone、technology、detailed |
| zone | string | 按区域 TLD 筛选(如 com、net) |
| technology | string | 按技术名称筛选 |
| q | string | 按名称搜索 |
| page | int | 页码(默认:1) |
/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", ...]
}
/api/v1/datasets/
列出所有高级数据集。支持搜索。
| 参数 | 类型 | 描述 |
|---|---|---|
| q | string | 按名称或描述搜索 |
| page | int | 页码(默认:1) |
/api/v1/datasets/{slug}/
获取数据集详情,包括示例数据。
{
"slug": "ecommerce-domains-2026",
"name": "E-commerce Domains 2026",
"description": "...",
"record_count": 500000,
"price": "99.00",
"sample": [...]
}
/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 Starter | 10,000 | $29/月 |
| API Professional | 100,000 | $99/月 |
| API Enterprise | 1,000,000 | $299/月 |
结果采用分页返回,每页最多 20 条,以防止批量提取数据。 查看套餐
| 代码 | 描述 |
|---|---|
| 401 | API 密钥缺失或无效 |
| 403 | API 密钥已停用或订阅已过期 |
| 404 | 资源不存在 |
| 429 | 已超出每月 API 调用上限 |
{"error": "Rate limit exceeded", "limit": 10000, "used": 10000}
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']}")
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'));
$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";
}
# 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"