API de WebTrackly v1

API RESTful de datos de inteligencia de dominios

Autenticación

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

Inicio rápido

curl "https://webtrackly.com/api/v1/packages/?type=technology&q=wordpress" \
     -H "Authorization: Bearer YOUR_API_KEY"
URL base: https://webtrackly.com/api/v1/
Formato: JSON
Método: GET
Paginación: ?page=1 (20 por página)

Formato de respuesta

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

CabeceraDescripción
X-RateLimit-LimitLímite mensual de llamadas
X-RateLimit-RemainingLlamadas restantes este mes
X-RateLimit-UsedLlamadas usadas este mes

Paquetes

GET /api/v1/packages/

Lista todos los paquetes de dominios (archivos de zona y datos de tecnologías). Admite filtrado y búsqueda.

ParámetroTipoDescripción
typestringFiltrar por tipo: zone, technology, detailed
zonestringFiltrar por TLD de la zona (p. ej. com, net)
technologystringFiltrar por nombre de tecnología
qstringBuscar por nombre
pageintNúmero de página (por defecto: 1)
GET /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", ...]
}

Conjuntos de datos

GET /api/v1/datasets/

Lista todos los conjuntos de datos premium. Admite búsqueda.

ParámetroTipoDescripción
qstringBuscar por nombre o descripción
pageintNúmero de página (por defecto: 1)
GET /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": [...]
}

Cuenta

GET /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}
  ]
}

Límites de peticiones

Las llamadas API se contabilizan mensualmente. Los límites dependen de tu plan de suscripción de API.

PlanLlamadas/mesPrecio
API Starter10,000$29/mes
API Professional100,000$99/mes
API Enterprise1,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

Errores

CódigoDescripción
401Clave de API ausente o no válida
403Clave de API deshabilitada o suscripción expirada
404Recurso no encontrado
429Límite mensual de llamadas API superado
{"error": "Rate limit exceeded", "limit": 10000, "used": 10000}

Ejemplos de código

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
¡Hola!
Envíanos un mensaje y te responderemos lo antes posible.