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.
/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
}
}/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"
/batch
Procesa hasta 100 inputs en paralelo para cualquier módulo. Los tokens se descuentan solo por items procesados correctamente.
| Parámetro | Tipo | Descripción |
|---|---|---|
| module | string | Slug del módulo (ej: "email-validator") |
| inputs | string[] | 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
}/email-validator
1 tokenValida 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_valid | boolean | Si el email es válido |
| domain | string | Dominio del email |
| is_disposable | boolean | Si es un email desechable |
| reason | string | Motivo del fallo (si aplica) |
/phone-validator
1 tokenValida 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_valid | boolean | Si el número es válido |
| country | string | País del número |
| type | string | mobile | landline | voip |
| e164 | string | Formato E.164 normalizado |
/url-checker
2 tokensVerifica 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_reachable | boolean | Si la URL responde |
| status_code | number | Código HTTP de respuesta |
| title | string | Título de la página (si disponible) |
| redirect_url | string | URL final tras redirecciones |
/ip-lookup
1 tokenGeolocalizació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
| country | string | País |
| city | string | Ciudad |
| isp | string | Proveedor de internet |
| lat / lon | number | Coordenadas geográficas |
/domain-validator
2 tokensValida 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_format | boolean | Si el formato es correcto |
| is_active | boolean | Si el dominio tiene DNS activo |
| tld | string | TLD del dominio |
| has_mx | boolean | Si tiene registros MX |
/mx-checker
2 tokensResuelve 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_records | boolean | Si tiene registros MX |
| records | array | Lista de registros MX con prioridad |
| primary_provider | string | Proveedor detectado (Google, Microsoft...) |
/disposable-email
1 tokenDetecta 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_disposable | boolean | Si es desechable |
| domain | string | Dominio analizado |
| confidence_score | number | Puntuación de confianza 0-100 |
/proxy-detector
2 tokensDetecta 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_tor | boolean | Si es un nodo Tor |
| is_vpn | boolean | Si es una VPN conocida |
| is_datacenter | boolean | Si pertenece a un datacenter |
| risk_score | number | Puntuación de riesgo 0-100 |
| threat_type | string | Tipo de amenaza detectada |
¿Listo para integrar? Crea tu API key desde el Dashboard.
Ir al Dashboard →