Node SDK

La API desde JavaScript y TypeScript.

Instalar

Terminal
npm install handelsregister
export HANDELSREGISTER_API_KEY=TU_CLAVE_API
Qué
Qué Valor
Paquete handelsregister
Versión actual 0.7.0
Node.js 22.13 o posterior
TypeScript Definiciones de tipos incluidas
Licencia AGPL-3.0
Código fuente github.com/Handelsregister-AI/handelsregister-js

Primera solicitud

JavaScript
import { Handelsregister } from 'handelsregister';

const client = new Handelsregister({ apiKey: process.env.HANDELSREGISTER_API_KEY });

const empresa = await client.fetchOrganization({ q: 'Hetzner Online GmbH' });
console.log(empresa.entity_id, empresa.name);
console.log(empresa.registration); // { court: 'Ansbach', register_type: 'HRB', register_number: '6089' }
console.log(empresa.meta.request_credit_cost);
1{2  "entity_id": "94eb910fef13f94585c48c263fa446d4",3  "name": "Hetzner Online GmbH",4  "status": "ACTIVE",5  "legal_form": "GmbH",6  "registration": {7    "court": "Ansbach",8    "register_type": "HRB",9    "register_number": "6089"10  },11  "meta": {12    "request_credit_cost": 5,13    "credits_remaining": 14514  }15}
200 · Fragmento de nuestra respuesta de ejemplo para Hetzner Online GmbH, Ansbach HRB 6089, solo datos básicos
JavaScript
const empresa = await client.fetchOrganization({
  q: 'Ansbach HRB 6089',
  features: ['financial_kpi', 'related_persons'],
});
Durante una hora, el cliente responde a solicitudes idénticas desde su caché, sin créditos nuevos. Las solicitudes con Tiempo real van siempre a la API. Usa cacheEnabled: false para desactivar la caché.

Gestionar errores

Excepción
Excepción Estado Significado
AuthenticationError 401 Clave API ausente o no válida.
InsufficientCreditsError 402 Tu saldo no alcanza para esta solicitud.
SubscriptionRequiredError 403 La solicitud necesita un plan superior. requiredPlans nombra los planes adecuados.
NotFoundError 404 No se encontró ninguna empresa o persona que encaje.
RequestTimeoutError 408 El registro no respondió a tiempo. No se cobró nada.
RequestValidationError 400, 422 Un parámetro tiene un valor no válido.
RateLimitError 429 Demasiadas solicitudes por minuto.
ServerError 5xx La fuente de datos no está disponible o está sobrecargada ahora mismo. Vuelve a intentarlo más tarde.
JavaScript
import {
  Handelsregister,
  HandelsregisterError,
  InsufficientCreditsError,
  NotFoundError,
  RequestTimeoutError,
} from 'handelsregister';

const client = new Handelsregister({ timeout: 120000 });

try {
  const empresa = await client.fetchOrganization({
    q: 'Hetzner Online GmbH',
    realtimeMode: true,
  });
} catch (error) {
  if (error instanceof NotFoundError) {
    console.log('No se encontró ninguna empresa coincidente');
  } else if (error instanceof InsufficientCreditsError) {
    console.log('Créditos insuficientes:', error.meta);
  } else if (error instanceof RequestTimeoutError) {
    console.log('El registro no responde ahora mismo, inténtalo más tarde');
  } else if (error instanceof HandelsregisterError) {
    console.log('Error:', error.statusCode, error.message);
  } else {
    throw error;
  }
}

Línea de comandos

Terminal
# Perfil de empresa sin modo IA, solo con KPI financieros
npx handelsregister fetch "Hetzner Online GmbH" --no-ai-search --feature financial_kpi

# Guardar la lista de socios como PDF
npx handelsregister document "Hetzner Online GmbH" --type shareholders_list --output hetzner.pdf
Sin más opciones, handelsregister fetch activa el modo IA. Una solicitud cuesta entonces 25 créditos en lugar de 5, incluso sin funciones. Con --no-ai-search, pides sin modo IA.

Referencia