Node SDK

A API a partir de JavaScript e TypeScript.

Instalar

Terminal
npm install handelsregister
export HANDELSREGISTER_API_KEY=SUA_CHAVE_DE_API
O quê
O quê Valor
Pacote handelsregister
Versão atual 0.7.0
Node.js 22.13 ou mais recente
TypeScript Definições de tipos incluídas
Licença AGPL-3.0
Código-fonte github.com/Handelsregister-AI/handelsregister-js

Primeira requisição

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 · Trecho da nossa resposta de exemplo para a Hetzner Online GmbH, Ansbach HRB 6089, só dados básicos
JavaScript
const empresa = await client.fetchOrganization({
  q: 'Ansbach HRB 6089',
  features: ['financial_kpi', 'related_persons'],
});
Durante uma hora, o cliente responde requisições idênticas a partir do cache, sem novos créditos. Requisições com Tempo real sempre vão para a API. Defina cacheEnabled: false para desativar o cache.

Tratar erros

Exceção
Exceção Status Significado
AuthenticationError 401 Chave de API ausente ou inválida.
InsufficientCreditsError 402 Seu saldo não é suficiente para esta requisição.
SubscriptionRequiredError 403 A requisição precisa de um plano superior. requiredPlans indica os planos adequados.
NotFoundError 404 Nenhuma empresa ou pessoa correspondente encontrada.
RequestTimeoutError 408 O registro não respondeu a tempo. Nada foi cobrado.
RequestValidationError 400, 422 Um parâmetro tem um valor inválido.
RateLimitError 429 Requisições demais por minuto.
ServerError 5xx A fonte de dados está indisponível ou sobrecarregada no momento. Tente de novo mais 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('Nenhuma empresa correspondente encontrada');
  } else if (error instanceof InsufficientCreditsError) {
    console.log('Créditos insuficientes:', error.meta);
  } else if (error instanceof RequestTimeoutError) {
    console.log('O registro não está respondendo agora, tente de novo mais tarde');
  } else if (error instanceof HandelsregisterError) {
    console.log('Erro:', error.statusCode, error.message);
  } else {
    throw error;
  }
}

Linha de comando

Terminal
# Perfil da empresa sem Modo IA, só com KPIs financeiros
npx handelsregister fetch "Hetzner Online GmbH" --no-ai-search --feature financial_kpi

# Salvar a lista de sócios como PDF
npx handelsregister document "Hetzner Online GmbH" --type shareholders_list --output hetzner.pdf
Sem outras opções, handelsregister fetch ativa o Modo IA. Uma requisição então custa 25 créditos em vez de 5, mesmo sem recursos. Com --no-ai-search, você faz a requisição sem Modo IA.

Referência