> ## Documentation Index
> Fetch the complete documentation index at: https://docs.krdata.pl/llms.txt
> Use this file to discover all available pages before exploring further.

# Szybki start

> krdata API - jedno źródło dla polskich rejestrów gospodarczych.

krdata udostępnia dane z polskich rejestrów gospodarczych w postaci jednego, spójnego REST API:

* **KRS** — Krajowy Rejestr Sądowy (firmy, członkowie organów, wspólnicy, dokumenty).
* **CRBR** — Centralny Rejestr Beneficjentów Rzeczywistych.
* **CEIDG** — Centralna Ewidencja i Informacja o Działalności Gospodarczej (jednoosobowe działalności).
* **KRZ** — Krajowy Rejestr Zadłużonych (postępowania, ogłoszenia).
* **MSiG** — Monitor Sądowy i Gospodarczy.
* **Biała lista VAT** — wyszukiwanie i weryfikacja podatników VAT.

## Szybki start

1. Załóż konto na [krdata.pl/rejestracja](https://krdata.pl/rejestracja) i wybierz plan.
2. Wygeneruj klucz API w **Panel → Ustawienia → API**.
3. Wywołaj endpoint, przekazując klucz w nagłówku `x-api-key`:

```bash theme={null}
curl "https://api.krdata.pl/v1/krs/record?nip=5252344078" \
  -H "x-api-key: $KRDATA_API_KEY"
```

Każdy zasób (`krs`, `crbr`, `ceidg`, `persons`, `krz`, `msig`) udostępnia trzy warianty:

* **`/record`** — pojedynczy zasób po identyfikatorze (KRS/NIP/REGON/PESEL/UUID).
* **`/records`** — wsadowe pobranie wielu zasobów jednym wywołaniem (do 50 identyfikatorów; parametry można powtarzać: `?krs=A&krs=B&nip=C`).
* **`/stream`** — strumień bez filtru po podmiocie, posortowany po dacie aktualizacji/publikacji. Domyślnie zwraca pełny rekord (`KrsRecord`, `KrzAnnouncement`, itd.) — identyczny jak `/record`. `include_details=false` przełącza na lekki shape. Paginacja `limit` (do 1000) + `offset`.

### Strumieniowa integracja i paginacja

Strumień zwraca rekordy posortowane od najnowszego. Przykład pobrania wszystkich zmian KRS z 28 maja:

```bash theme={null}
curl "https://api.krdata.pl/v1/krs/stream?from=2026-05-28T00:00:00Z&to=2026-05-28T23:59:59Z&limit=1000&offset=0" \
  -H "x-api-key: $KRDATA_API_KEY"
```

Iteruj `offset += 1000` aż `has_more: false`. Filtry `from`/`to` w KRS i CRBR przyjmują pełny znacznik czasu (ISO 8601), w CEIDG/KRZ/MSiG — datę (dane źródłowe są dzienne).

**Unikanie dryfu offsetu na żywym strumieniu:** offset-paginacja jest niespójna gdy nowe rekordy dochodzą między stronami (strona 2 może powtórzyć ostatni wiersz ze strony 1). Rozwiązanie: zamroź zakres `to` na konkretny moment — `to=<znacznik startu>` — i paginuj w jego obrębie. Następne pollowanie zaczynaj od `from=<znacznik startu>` z poprzedniego cyklu.

Pełna lista endpointów znajduje się w sekcji **API Reference**.
