debtstrike
v0.1.0
Published
Lekki klient TypeScript/JavaScript dla Rejestry API (api.debtstrike.eu) — KRS, REGON, Biała Lista VAT, CRBR, BZP po NIP, bez zależności.
Maintainers
Readme
debtstrike
Lekki klient TypeScript/JavaScript dla Rejestry API —
KRS, REGON, Biała Lista VAT, CRBR i BZP po numerze NIP, w jednym ujednoliconym formacie JSON.
Zero zależności — sam fetch, działa w Node ≥18, Deno, Bun i w przeglądarce.
Instalacja
npm install debtstrikeKlucz API
Klucz (ds_live_…) dostajesz po zatwierdzeniu wniosku — zobacz
dokumentację i cennik.
Przykład: odpis z KRS w JSON
import { DebtstrikeClient } from "debtstrike";
const client = new DebtstrikeClient({ apiKey: process.env.DEBTSTRIKE_API_KEY! });
const odpis = await client.getKrsExcerpt("5260250995"); // NIP albo KRS
console.log(odpis.status); // "found" | "not_found" | "unavailable" | ...
console.log(odpis.data);Dostępne metody
| Metoda | Endpoint | Co zwraca |
| ------------------------------------------ | ------------------------------------------ | --------------------------------------------- |
| listSources() | GET /v1/sources | katalog źródeł i ich dostępność (GA/beta) |
| getSubject(identifier) | GET /v1/subjects/{identifier} | agregat po NIP, KRS albo REGON |
| getKrsExcerpt(identifier) | GET /v1/krs/{identifier} | odpis aktualny z KRS |
| getVatStatus(nip) | GET /v1/vat/{nip} | status w Białej Liście VAT |
| verifyBankAccount(nip, account) | GET /v1/vat/{nip}/bank-account/{account} | czy rachunek jest zgłoszony do MF |
| getRegonEntity(identifier) | GET /v1/regon/{identifier} | dane z REGON (GUS), w tym JDG |
| getPublicProcurement(nip, limit?) | GET /v1/bzp/{nip} | postępowania publiczne (BZP) |
| getStateAid(nip) | GET /v1/sudop/{nip} | pomoc publiczna i de minimis |
| getBeneficialOwners(nip) | GET /v1/crbr/{nip} | beneficjenci rzeczywiści (CRBR) |
| getHealth() | GET /health | stan usługi, bez klucza |
Pełna specyfikacja (batch, kody błędów, przykłady odpowiedzi): api.debtstrike.eu/openapi.json (OpenAPI 3.1).
Kształt odpowiedzi
Każdy endpoint zwraca tę samą kopertę:
{
"apiVersion": "v1",
"requestId": "…",
"status": "found",
"subject": { "nip": "5260250995", "krs": "…", "regon": "…", "countryCode": "PL", "resolvedVia": "direct" },
"source": { "id": "krs", "name": "Krajowy Rejestr Sądowy", "official": true, "availability": "ga" },
"data": { "…": "…" },
"meta": { "cache": { "hit": false, "storedAt": null, "expiresAt": null } },
"timestamps": {},
"warnings": []
}status mówi o stanie DANYCH, nie transportu: not_found oznacza, że rejestr odpowiedział,
że podmiotu nie ma; unavailable oznacza, że rejestr nie odpowiedział (nie wiadomo).
Obsługa błędów
import { DebtstrikeApiError } from "debtstrike";
try {
await client.getVatStatus("0000000000");
} catch (e) {
if (e instanceof DebtstrikeApiError) {
console.error(e.status, e.body);
}
}Licencja
MIT. Dane pochodzą z rejestrów publicznych RP — warunki korzystania z API.
