Node SDK

L’API da JavaScript e TypeScript.

Installazione

Terminal
npm install handelsregister
export HANDELSREGISTER_API_KEY=LA_TUA_CHIAVE_API
Cosa
Cosa Valore
Pacchetto handelsregister
Versione attuale 0.7.0
Node.js 22.13 o successiva
TypeScript Definizioni di tipo incluse
Licenza AGPL-3.0
Codice sorgente github.com/Handelsregister-AI/handelsregister-js

Prima richiesta

JavaScript
import { Handelsregister } from 'handelsregister';

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

const azienda = await client.fetchOrganization({ q: 'Hetzner Online GmbH' });
console.log(azienda.entity_id, azienda.name);
console.log(azienda.registration); // { court: 'Ansbach', register_type: 'HRB', register_number: '6089' }
console.log(azienda.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 · Estratto dalla nostra risposta di esempio per Hetzner Online GmbH, Ansbach HRB 6089, solo dati di base
JavaScript
const azienda = await client.fetchOrganization({
  q: 'Ansbach HRB 6089',
  features: ['financial_kpi', 'related_persons'],
});
Per un’ora il client risponde alle richieste identiche dalla sua cache, senza nuovi crediti. Le richieste con Tempo reale vanno sempre all’API. Imposta cacheEnabled: false per disattivare la cache.

Gestire gli errori

Eccezione
Eccezione Stato Significato
AuthenticationError 401 Chiave API mancante o non valida.
InsufficientCreditsError 402 Il tuo saldo non basta per questa richiesta.
SubscriptionRequiredError 403 La richiesta richiede un piano superiore. requiredPlans indica i piani adatti.
NotFoundError 404 Nessuna azienda o persona corrispondente trovata.
RequestTimeoutError 408 Il registro non ha risposto in tempo. Non è stato addebitato nulla.
RequestValidationError 400, 422 Un parametro ha un valore non valido.
RateLimitError 429 Troppe richieste al minuto.
ServerError 5xx La fonte dei dati al momento non è disponibile o è sovraccarica. Riprova più tardi.
JavaScript
import {
  Handelsregister,
  HandelsregisterError,
  InsufficientCreditsError,
  NotFoundError,
  RequestTimeoutError,
} from 'handelsregister';

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

try {
  const azienda = await client.fetchOrganization({
    q: 'Hetzner Online GmbH',
    realtimeMode: true,
  });
} catch (error) {
  if (error instanceof NotFoundError) {
    console.log('Nessuna azienda corrispondente trovata');
  } else if (error instanceof InsufficientCreditsError) {
    console.log('Crediti insufficienti:', error.meta);
  } else if (error instanceof RequestTimeoutError) {
    console.log('Il registro non risponde al momento, riprova più tardi');
  } else if (error instanceof HandelsregisterError) {
    console.log('Errore:', error.statusCode, error.message);
  } else {
    throw error;
  }
}

Riga di comando

Terminal
# Profilo aziendale senza Modalità AI, solo con KPI finanziari
npx handelsregister fetch "Hetzner Online GmbH" --no-ai-search --feature financial_kpi

# Salva l’elenco soci come PDF
npx handelsregister document "Hetzner Online GmbH" --type shareholders_list --output hetzner.pdf
Senza altre opzioni, handelsregister fetch attiva la Modalità AI. Una richiesta costa allora 25 crediti invece di 5, anche senza feature. Con --no-ai-search richiedi senza Modalità AI.

Riferimento