Node SDK
API’et fra JavaScript og TypeScript.
Node SDK’et giver dig en klient til JavaScript og TypeScript, med typedefinitioner for forespørgsler og svar. Det gentager selv midlertidige fejl og gør fejlsvar til særskilte fejlklasser.
Installation
Installér pakken handelsregister med npm.
npm install handelsregister export HANDELSREGISTER_API_KEY=DIN_API_NOEGLE
| Hvad | Værdi |
|---|---|
| Pakke |
handelsregister |
| Aktuel version | 0.7.0 |
| Node.js | 22.13 eller nyere |
| TypeScript | Typedefinitioner inkluderet |
| Licens | AGPL-3.0 |
| Kildekode | github.com/Handelsregister-AI/handelsregister-js |
SDK’et læser din API-nøgle fra miljøvariablen HANDELSREGISTER_API_KEY. Du kan også angive den, når du opretter klienten. Et bearer-token går via HANDELSREGISTER_BEARER_TOKEN eller bearerToken. Nøglen sendes altid i headeren, aldrig i URL’en.
Første forespørgsel
fetchOrganization henter en virksomhedsprofil og returnerer API-svaret som objekt. Parameteren q tager et navn, registerret med registernummer eller et entity_id.
import { Handelsregister } from 'handelsregister'; const client = new Handelsregister({ apiKey: process.env.HANDELSREGISTER_API_KEY }); const virksomhed = await client.fetchOrganization({ q: 'Hetzner Online GmbH' }); console.log(virksomhed.entity_id, virksomhed.name); console.log(virksomhed.registration); // { court: 'Ansbach', register_type: 'HRB', register_number: '6089' } console.log(virksomhed.meta.request_credit_cost);
Svaret er det samme som for fetch-organization. Her er et uddrag:
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}
Flere data anmoder du om med features, AI-tilstand med aiSearch: true og Realtid med realtimeMode: true. Alle features står under fetch-organization.
const virksomhed = await client.fetchOrganization({ q: 'Ansbach HRB 6089', features: ['financial_kpi', 'related_persons'], });
cacheEnabled: false for at slå cachen fra.
Håndter fejl
Hvert fejlsvar fra API’et bliver til en fejl med sin egen klasse. De arver alle fra HandelsregisterError og har statusCode, svaret i response og omkostningerne i meta.
| Exception | Status | Betydning |
|---|---|---|
| AuthenticationError | 401 | Manglende eller ugyldig API-nøgle. |
| InsufficientCreditsError | 402 | Din saldo rækker ikke til denne forespørgsel. |
| SubscriptionRequiredError | 403 |
Forespørgslen kræver et højere abonnement. requiredPlans angiver de abonnementer, der passer. |
| NotFoundError | 404 | Ingen matchende virksomhed eller person fundet. |
| RequestTimeoutError | 408 | Registret svarede ikke i tide. Der blev ikke trukket noget. |
| RequestValidationError | 400, 422 | En parameter har en ugyldig værdi. |
| RateLimitError | 429 | For mange forespørgsler pr. minut. |
| ServerError | 5xx | Datakilden er utilgængelig eller overbelastet lige nu. Prøv igen senere. |
import { Handelsregister, HandelsregisterError, InsufficientCreditsError, NotFoundError, RequestTimeoutError, } from 'handelsregister'; const client = new Handelsregister({ timeout: 120000 }); try { const virksomhed = await client.fetchOrganization({ q: 'Hetzner Online GmbH', realtimeMode: true, }); } catch (error) { if (error instanceof NotFoundError) { console.log('Ingen matchende virksomhed fundet'); } else if (error instanceof InsufficientCreditsError) { console.log('Ikke nok kreditter:', error.meta); } else if (error instanceof RequestTimeoutError) { console.log('Registret svarer ikke lige nu, prøv igen senere'); } else if (error instanceof HandelsregisterError) { console.log('Fejl:', error.statusCode, error.message); } else { throw error; } }
Ved netværksfejl, status 429 og serverfejl gentager SDK’et selv, med op til tre forsøg i alt. Sender API’et en ventetid i Retry-After, overholder det den.
Som standard venter klienten 90 sekunder på et svar. For Realtid, personprofiler og dokumenter anbefaler vi mindst 120 sekunder, dvs. timeout: 120000.
Kommandolinje
Pakken følger med programmet handelsregister. Det henter virksomhedsprofiler, personprofiler og dokumenter, søger efter virksomheder og beriger filer.
# Virksomhedsprofil uden AI-tilstand, kun med Finansielle nøgletal npx handelsregister fetch "Hetzner Online GmbH" --no-ai-search --feature financial_kpi # Gem ejerlisten som PDF npx handelsregister document "Hetzner Online GmbH" --type shareholders_list --output hetzner.pdf
handelsregister fetch AI-tilstand til. En forespørgsel koster så 25 kreditter i stedet for 5, også uden features. Med --no-ai-search forespørger du uden AI-tilstand.
handelsregister document slår først virksomheden op via en virksomhedsprofil uden AI-tilstand. Derfor kommer 5 kreditter oven i dokumentets 15 kreditter.
Reference
Den fulde reference med alle metoder står i repositoryets README. SDK’et dækker hele API’et:
- Virksomhedsprofiler med alle features, også som
Company-klasse - Personprofiler, også som
Person-klasse - Søgning & eksport med filtre, sortering og automatisk paginering
- Dokumenter som filer
- Signals, Monitoring og webhook-endpoints, med verificering af webhook-signaturer
- Konto, saldo, forbrug og API-nøgler
- Berigelse af hele CSV-, JSON- og Excel-filer
SDK’et er licenseret under AGPL-3.0. Kildekoden finder du på GitHub og pakken på npm.