API RESTful de datos de inteligencia de dominios
Todas las peticiones a la API requieren un token Bearer en la cabecera Authorization. Obtén tu clave de API en el Panel de API tras suscribirte a un plan de 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 por página)Los endpoints de listado devuelven resultados paginados. La información del límite de peticiones se incluye en las cabeceras de la respuesta.
{
"results": [...],
"count": 1511,
"page": 1,
"pages": 76,
"has_next": true
}
Cabeceras de respuesta
| Cabecera | Descripción |
|---|---|
| X-RateLimit-Limit | Límite mensual de llamadas |
| X-RateLimit-Remaining | Llamadas restantes este mes |
| X-RateLimit-Used | Llamadas usadas este mes |
/api/v1/packages/
Lista todos los paquetes de dominios (archivos de zona y datos de tecnologías). Admite filtrado y búsqueda.
| Parámetro | Tipo | Descripción |
|---|---|---|
| type | string | Filtrar por tipo: zone, technology, detailed |
| zone | string | Filtrar por TLD de la zona (p. ej. com, net) |
| technology | string | Filtrar por nombre de tecnología |
| q | string | Buscar por nombre |
| page | int | Número de página (por defecto: 1) |
/api/v1/packages/{slug}/
Obtén información detallada de un paquete concreto, incluidos dominios de muestra.
{
"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/
Lista todos los conjuntos de datos premium. Admite búsqueda.
| Parámetro | Tipo | Descripción |
|---|---|---|
| q | string | Buscar por nombre o descripción |
| page | int | Número de página (por defecto: 1) |
/api/v1/datasets/{slug}/
Obtén los detalles del conjunto de datos, incluidos datos de muestra.
{
"slug": "ecommerce-domains-2026",
"name": "E-commerce Domains 2026",
"description": "...",
"record_count": 500000,
"price": "99.00",
"sample": [...]
}
/api/v1/account/
Obtén la información de tu suscripción de API, estadísticas de uso y lista de claves de 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}
]
}
Las llamadas API se contabilizan mensualmente. Los límites dependen de tu plan de suscripción de API.
| Plan | Llamadas/mes | Precio |
|---|---|---|
| API Starter | 10,000 | $29/mes |
| API Professional | 100,000 | $99/mes |
| API Enterprise | 1,000,000 | $299/mes |
Los resultados se paginan con un máximo de 20 elementos por página para evitar la extracción masiva de datos. Ver planes
| Código | Descripción |
|---|---|
| 401 | Clave de API ausente o no válida |
| 403 | Clave de API deshabilitada o suscripción expirada |
| 404 | Recurso no encontrado |
| 429 | Límite mensual de llamadas API superado |
{"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"