모든 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"