Node SDK

API z JavaScriptu a TypeScriptu.

Instalace

Terminal
npm install handelsregister
export HANDELSREGISTER_API_KEY=TVUJ_API_KLIC
Co
Co Hodnota
Balíček handelsregister
Aktuální verze 0.7.0
Node.js 22.13 nebo novější
TypeScript Typové definice v balíčku
Licence AGPL-3.0
Zdrojový kód github.com/Handelsregister-AI/handelsregister-js

První požadavek

JavaScript
import { Handelsregister } from 'handelsregister';

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

const firma = await client.fetchOrganization({ q: 'Hetzner Online GmbH' });
console.log(firma.entity_id, firma.name);
console.log(firma.registration); // { court: 'Ansbach', register_type: 'HRB', register_number: '6089' }
console.log(firma.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 · Výňatek z naší ukázkové odpovědi pro Hetzner Online GmbH, Ansbach HRB 6089, jen základní údaje
JavaScript
const firma = await client.fetchOrganization({
  q: 'Ansbach HRB 6089',
  features: ['financial_kpi', 'related_persons'],
});
Po dobu jedné hodiny odpovídá klient na stejné požadavky ze své cache, bez nových kreditů. Požadavky v režimu v reálném čase jdou vždy na API. Cache vypneš pomocí cacheEnabled: false.

Ošetření chyb

Výjimka
Výjimka Stav Význam
AuthenticationError 401 Chybějící nebo neplatný API klíč.
InsufficientCreditsError 402 Tvůj zůstatek na tento požadavek nestačí.
SubscriptionRequiredError 403 Požadavek potřebuje vyšší tarif. requiredPlans jmenuje vhodné tarify.
NotFoundError 404 Nebyla nalezena odpovídající firma ani osoba.
RequestTimeoutError 408 Rejstřík neodpověděl včas. Nic se neúčtovalo.
RequestValidationError 400, 422 Parametr má neplatnou hodnotu.
RateLimitError 429 Příliš mnoho požadavků za minutu.
ServerError 5xx Zdroj dat je teď nedostupný nebo přetížený. Zkus to později znovu.
JavaScript
import {
  Handelsregister,
  HandelsregisterError,
  InsufficientCreditsError,
  NotFoundError,
  RequestTimeoutError,
} from 'handelsregister';

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

try {
  const firma = await client.fetchOrganization({
    q: 'Hetzner Online GmbH',
    realtimeMode: true,
  });
} catch (error) {
  if (error instanceof NotFoundError) {
    console.log('Nebyla nalezena žádná odpovídající firma');
  } else if (error instanceof InsufficientCreditsError) {
    console.log('Nedostatek kreditů:', error.meta);
  } else if (error instanceof RequestTimeoutError) {
    console.log('Rejstřík teď neodpovídá, zkus to později znovu');
  } else if (error instanceof HandelsregisterError) {
    console.log('Chyba:', error.statusCode, error.message);
  } else {
    throw error;
  }
}

Příkazový řádek

Terminal
# Profil firmy bez AI režimu, jen s finančními ukazateli
npx handelsregister fetch "Hetzner Online GmbH" --no-ai-search --feature financial_kpi

# Uložit seznam společníků jako PDF
npx handelsregister document "Hetzner Online GmbH" --type shareholders_list --output hetzner.pdf
Bez dalších voleb zapne handelsregister fetch AI režim. Požadavek pak stojí 25 kreditů místo 5, i bez funkcí. S --no-ai-search se ptáš bez AI režimu.

Reference