Saltar al contenido principal

SDK de TypeScript

@neivi/iqx-lookup-typescript — Cliente TypeScript/JavaScript para la API de IQX Lookup usando fetch nativo.

Instalación

npm install @neivi/iqx-lookup-typescript

Inicio Rápido

import { IqxLookup } from '@neivi/iqx-lookup-typescript';

const client = new IqxLookup({ apiKey: 'ALk-your-api-key' });

// Validate an email
const email = await client.validateEmail('user@example.com');
console.log('Valid format:', email.validFormat);
console.log('Disposable:', email.disposableEmail);

// Validate a phone number
const phone = await client.validatePhone('+34912345678', 'ES');
console.log('Valid:', phone.valid);
console.log('Carrier:', phone.carrier);

// Geolocate an IP
const ip = await client.geolocateIp('8.8.8.8');
console.log('Country:', ip.countryName);

// Validate a VAT number
const vat = await client.validateVat('ES', 'B87387775');
console.log('Valid:', vat.valid);

// Parse a user-agent string
const ua = await client.parseUserAgent('Mozilla/5.0...');
console.log('Browser:', ua.browserFamily);

Configuración

const client = new IqxLookup({
apiKey: 'ALk-your-api-key', // required
baseUrl: 'https://api.iqxlookup.neivi.es', // optional, default shown
timeout: 15000, // optional, ms, default 10000
});

Referencia de la API

Todos los métodos son async y devuelven Promise<T>:

MétodoRetornaDescripción
validateEmail(address)EmailValidationResultValidación de formato de email, MX, desechable, proveedor gratuito
validatePhone(number, countryCode?)PhoneValidationResultValidación de teléfono
geolocateIp(ip?)IpGeolocationGeolocalización IP + ASN (omitir ip = IP del llamante)
validateVat(countryCode, number)VatValidationResultValidación de IVA UE vía VIES
parseUserAgent(ua?)UserAgentResultAnálisis de UA — navegador, SO, marca y modelo del dispositivo
validateIban(iban)IbanValidationResultEstructura IBAN, suma de verificación, información del banco
validateBic(bic)BicValidationResultFormato BIC/SWIFT, información de la institución
lookupDns(domain, types?)DnsLookupResultRegistros DNS, seguridad SPF/DKIM/DMARC
checkSsl(domain)SslCertificateResultCertificado SSL, cadena, calificación
analyzePassword(password)PasswordStrengthResultPuntuación de fortaleza, tiempo de descifrado, verificación de filtraciones
validateCreditCard(number)CreditCardValidationResultVerificación Luhn, red de tarjeta, consulta BIN
rateLimitInfo (getter)RateLimitInfo | nullLímite de peticiones de la última respuesta

Manejo de Errores

import { IqxLookup, RateLimitError, UnauthorizedError } from '@neivi/iqx-lookup-typescript';

try {
const result = await client.validateEmail('user@example.com');
} catch (error) {
if (error instanceof RateLimitError) {
console.log(`Retry after: ${error.retryAfter}s`);
} else if (error instanceof UnauthorizedError) {
console.log('Check your API key');
}
}

Requisitos

  • Node.js 18+ (usa fetch nativo)
  • Funciona en navegadores modernos (sin polyfills necesarios)
  • Cero dependencias en tiempo de ejecución