RESTful API для даних доменної аналітики
Усі запити до API потребують Bearer-токена в заголовку Authorization. Отримайте свій ключ 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"