← Inicio/
API Reference
v1REST

API Reference

La API REST de JSNH Engine Lab permite integrar cualquier módulo de validación en tu aplicación en minutos. Usa tu API key para autenticarte y empieza a hacer llamadas.

Base URL: https://jsnhlab-vvcqvwxm.manus.space/api/v1

Autenticación

Incluye tu API key en el header Authorization de cada request. También puedes usar el header x-api-key como alternativa.

# Con Authorization: Bearer
curl -X POST https://jsnhlab-vvcqvwxm.manus.space/api/v1/email-validator \
  -H "Authorization: Bearer tu_api_key_aqui" \
  -H "Content-Type: application/json" \
  -d '{"email": "[email protected]"}'

# Con x-api-key
curl -X POST https://jsnhlab-vvcqvwxm.manus.space/api/v1/email-validator \
  -H "x-api-key: tu_api_key_aqui" \
  -H "Content-Type: application/json" \
  -d '{"email": "[email protected]"}'

401

API key inválida o ausente

402

Tokens insuficientes

429

Rate limit superado

Formato de respuesta

Todas las respuestas siguen el mismo formato JSON con los campos success, data y tokens_used.

Respuesta exitosa

{
  "success": true,
  "data": { ... },
  "tokens_used": 1
}

Respuesta de error

{
  "success": false,
  "error": "Descripción del error",
  "code": "INSUFFICIENT_TOKENS"
}

Los headers X-Tokens-Used, X-Tokens-Remaining-Daily y X-Tokens-Remaining-Paid están disponibles en cada respuesta.

GET

/balance

Consulta el saldo de tokens de tu cuenta.

curl https://jsnhlab-vvcqvwxm.manus.space/api/v1/balance \
  -H "Authorization: Bearer tu_api_key_aqui"
{
  "success": true,
  "data": {
    "daily_tokens": 95,
    "paid_tokens": 450,
    "total": 545
  }
}
GET

/modules

Lista todos los módulos disponibles con su endpoint y coste en tokens.

curl https://jsnhlab-vvcqvwxm.manus.space/api/v1/modules \
  -H "Authorization: Bearer tu_api_key_aqui"
POST

/batch

Procesa hasta 100 inputs en paralelo para cualquier módulo. Los tokens se descuentan solo por items procesados correctamente.

ParámetroTipoDescripción
modulestringSlug del módulo (ej: "email-validator")
inputsstring[]Array de hasta 100 strings a procesar
curl -X POST https://jsnhlab-vvcqvwxm.manus.space/api/v1/batch \
  -H "Authorization: Bearer tu_api_key_aqui" \
  -H "Content-Type: application/json" \
  -d '{
    "module": "email-validator",
    "inputs": [
      "[email protected]",
      "invalid-email",
      "[email protected]"
    ]
  }'
{
  "success": true,
  "data": {
    "module": "email-validator",
    "totalItems": 3,
    "successCount": 3,
    "errorCount": 0,
    "totalTokensDeducted": 3,
    "items": [
      { "index": 0, "input": "[email protected]", "status": "success", "result": {...}, "tokensUsed": 1 },
      { "index": 1, "input": "invalid-email", "status": "success", "result": {...}, "tokensUsed": 1 },
      { "index": 2, "input": "[email protected]", "status": "success", "result": {...}, "tokensUsed": 1 }
    ]
  },
  "tokens_used": 3
}
POST

/email-validator

1 token

Valida formato, sintaxis RFC 5322, dominio activo y detecta emails desechables.

Request

curl -X POST https://jsnhlab-vvcqvwxm.manus.space/api/v1/email-validator \
  -H "Authorization: Bearer tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{"email": "[email protected]"}'

Campos de respuesta

is_validbooleanSi el email es válido
domainstringDominio del email
is_disposablebooleanSi es un email desechable
reasonstringMotivo del fallo (si aplica)
POST

/phone-validator

1 token

Valida número de teléfono, detecta país, tipo (móvil/fijo) y formato E.164.

Request

curl -X POST https://jsnhlab-vvcqvwxm.manus.space/api/v1/phone-validator \
  -H "Authorization: Bearer tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{"phone": "+34612345678"}'

Campos de respuesta

is_validbooleanSi el número es válido
countrystringPaís del número
typestringmobile | landline | voip
e164stringFormato E.164 normalizado
POST

/url-checker

2 tokens

Verifica si una URL es accesible, obtiene el código de estado HTTP y el título de la página.

Request

curl -X POST https://jsnhlab-vvcqvwxm.manus.space/api/v1/url-checker \
  -H "Authorization: Bearer tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://google.com"}'

Campos de respuesta

is_reachablebooleanSi la URL responde
status_codenumberCódigo HTTP de respuesta
titlestringTítulo de la página (si disponible)
redirect_urlstringURL final tras redirecciones
POST

/ip-lookup

1 token

Geolocalización de IP: país, ciudad, ISP, coordenadas y ASN.

Request

curl -X POST https://jsnhlab-vvcqvwxm.manus.space/api/v1/ip-lookup \
  -H "Authorization: Bearer tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{"ip": "8.8.8.8"}'

Campos de respuesta

countrystringPaís
citystringCiudad
ispstringProveedor de internet
lat / lonnumberCoordenadas geográficas
POST

/domain-validator

2 tokens

Valida formato de dominio, resuelve DNS (A/AAAA/MX) y verifica TLD válido.

Request

curl -X POST https://jsnhlab-vvcqvwxm.manus.space/api/v1/domain-validator \
  -H "Authorization: Bearer tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{"domain": "google.com"}'

Campos de respuesta

is_valid_formatbooleanSi el formato es correcto
is_activebooleanSi el dominio tiene DNS activo
tldstringTLD del dominio
has_mxbooleanSi tiene registros MX
POST

/mx-checker

2 tokens

Resuelve registros MX, los ordena por prioridad y detecta el proveedor de email.

Request

curl -X POST https://jsnhlab-vvcqvwxm.manus.space/api/v1/mx-checker \
  -H "Authorization: Bearer tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{"domain": "gmail.com"}'

Campos de respuesta

has_mx_recordsbooleanSi tiene registros MX
recordsarrayLista de registros MX con prioridad
primary_providerstringProveedor detectado (Google, Microsoft...)
POST

/disposable-email

1 token

Detecta si un email pertenece a un proveedor de emails desechables o temporales.

Request

curl -X POST https://jsnhlab-vvcqvwxm.manus.space/api/v1/disposable-email \
  -H "Authorization: Bearer tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{"email": "[email protected]"}'

Campos de respuesta

is_disposablebooleanSi es desechable
domainstringDominio analizado
confidence_scorenumberPuntuación de confianza 0-100
POST

/proxy-detector

2 tokens

Detecta si una IP es Tor, VPN comercial o datacenter. Risk score 0-100.

Request

curl -X POST https://jsnhlab-vvcqvwxm.manus.space/api/v1/proxy-detector \
  -H "Authorization: Bearer tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{"ip": "185.220.101.5"}'

Campos de respuesta

is_torbooleanSi es un nodo Tor
is_vpnbooleanSi es una VPN conocida
is_datacenterbooleanSi pertenece a un datacenter
risk_scorenumberPuntuación de riesgo 0-100
threat_typestringTipo de amenaza detectada

¿Listo para integrar? Crea tu API key desde el Dashboard.

Ir al Dashboard →