SDK Node

L’API depuis JavaScript et TypeScript.

Installation

Terminal
npm install handelsregister
export HANDELSREGISTER_API_KEY=TA_CLE_API
Quoi
Quoi Valeur
Paquet handelsregister
Version actuelle 0.7.0
Node.js 22.13 ou plus récent
TypeScript Définitions de types incluses
Licence AGPL-3.0
Code source github.com/Handelsregister-AI/handelsregister-js

Première requête

JavaScript
import { Handelsregister } from 'handelsregister';

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

const entreprise = await client.fetchOrganization({ q: 'Hetzner Online GmbH' });
console.log(entreprise.entity_id, entreprise.name);
console.log(entreprise.registration); // { court: 'Ansbach', register_type: 'HRB', register_number: '6089' }
console.log(entreprise.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 · Extrait de notre exemple de réponse pour Hetzner Online GmbH, Ansbach HRB 6089, données de base uniquement
JavaScript
const entreprise = await client.fetchOrganization({
  q: 'Ansbach HRB 6089',
  features: ['financial_kpi', 'related_persons'],
});
Pendant une heure, le client répond aux requêtes identiques depuis son cache, sans nouveaux crédits. Les requêtes avec le mode temps réel vont toujours à l’API. Définis cacheEnabled: false pour désactiver le cache.

Gérer les erreurs

Exception
Exception Statut Signification
AuthenticationError 401 Clé API manquante ou invalide.
InsufficientCreditsError 402 Ton solde ne suffit pas pour cette requête.
SubscriptionRequiredError 403 La requête nécessite un plan supérieur. requiredPlans nomme les plans qui conviennent.
NotFoundError 404 Aucune entreprise ou personne correspondante trouvée.
RequestTimeoutError 408 Le registre n’a pas répondu à temps. Rien n’a été facturé.
RequestValidationError 400, 422 Un paramètre a une valeur invalide.
RateLimitError 429 Trop de requêtes par minute.
ServerError 5xx La source de données est indisponible ou surchargée pour le moment. Réessaie plus tard.
JavaScript
import {
  Handelsregister,
  HandelsregisterError,
  InsufficientCreditsError,
  NotFoundError,
  RequestTimeoutError,
} from 'handelsregister';

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

try {
  const entreprise = await client.fetchOrganization({
    q: 'Hetzner Online GmbH',
    realtimeMode: true,
  });
} catch (error) {
  if (error instanceof NotFoundError) {
    console.log('Aucune entreprise correspondante trouvée');
  } else if (error instanceof InsufficientCreditsError) {
    console.log('Pas assez de crédits :', error.meta);
  } else if (error instanceof RequestTimeoutError) {
    console.log('Le registre ne répond pas pour le moment, réessaie plus tard');
  } else if (error instanceof HandelsregisterError) {
    console.log('Erreur :', error.statusCode, error.message);
  } else {
    throw error;
  }
}

Ligne de commande

Terminal
# Profil d’entreprise sans mode IA, avec les indicateurs financiers uniquement
npx handelsregister fetch "Hetzner Online GmbH" --no-ai-search --feature financial_kpi

# Enregistrer la liste des associés en PDF
npx handelsregister document "Hetzner Online GmbH" --type shareholders_list --output hetzner.pdf
Sans autre option, handelsregister fetch active le mode IA. Une requête coûte alors 25 crédits au lieu de 5, même sans fonctionnalités. Avec --no-ai-search, tu interroges sans mode IA.

Référence