Dane gospodarcze
jako endpoint.
Dostęp do wszystkich spółek i organizacji z KRS od 100 zł.
{ "data": [{ "krs": "0000795513", "nip": 8971868567, "kod_pkd": "62.01.Z", "opis_pkd": "Działalność związana z oprogramowaniem", "informacje_o_firmie": [ { "nazwa_pola": "nazwa", "wartosc": "BASELINKER SP. Z O.O." }, { "nazwa_pola": "miejscowosc", "wartosc": "WROCŁAW" }, // … ], "dane_finansowe": [ { "rok": 2024, "nazwa_wskaznika": "przychody", "kwota": 219815000 }, { "rok": 2024, "nazwa_wskaznika": "zysk_netto", "kwota": 102311000 }, { "rok": 2024, "nazwa_wskaznika": "roe", "kwota": 1.48 }, // … ], "powiazania": [ /* zarząd, wspólnicy, prokurenci */ ], "udzialy": [ /* struktura właścicielska */ ], "monitor_sadowy": [ /* obwieszczenia MSiG */ ], "krz": [ /* Krajowy Rejestr Zadłużonych */ ] }] }
To proste.
Działa z dowolnego języka, narzędzia, a nawet z przeglądarki. Bez OAuth, bez SDK, bez webhooków.
/api/danePełne dane firmy po KRS lub NIP.
Jedno żądanie zwraca komplet danych spółki: rejestrowe, finansowe, opisy działalności, powiązania osobowe, strukturę udziałów, a także obwieszczenia z Monitora Sądowego i Gospodarczego (MSiG) oraz wpisy z Krajowego Rejestru Zadłużonych (KRZ). Pełną treść samych sprawozdań, pozycja po pozycji, zwraca endpoint /api/sprawozdania.
parametry
krs stringnip stringW odpowiedzi numer KRS ma na końcu podkreślnik (0000795513_) - to klucz główny, w tej postaci zwraca go też /api/szukaj. W zapytaniu przyjmujemy obie postacie, z podkreślnikiem i bez.
co dostajesz w odpowiedzi
- •Dane rejestrowe - nazwa, forma prawna, kapitał, adres, REGON, organ rejestrowy, daty
- •Dane finansowe - przychody, zysk netto, EBITDA, ROE, ROA, marże, zatrudnienie, wskaźniki ryzyka - wiele lat
- •Wycena spółki i kredyt kupiecki - szacowana wartość firmy oraz sugerowany limit kredytu kupieckiego, każde w trzech wariantach: minimalnym, średnim i maksymalnym - dla każdego roku sprawozdawczego
- •Pozycja na tle branży - percentyl spółki w jej grupie PKD dla maks. 10 wskaźników, a przy przychodach dodatkowo udział w rynku, przychody całej branży i liczba firm w branży - wiele lat
- •Historia sprawozdań - okresy sprawozdawcze wraz z terminem złożenia i datą dodania do KRS
- •Opisy działalności - opis spółki i kluczowe punkty profilu biznesowego
- •Powiązania - zarząd, prokurenci, organy nadzoru, wspólnicy
- •Udziały - pełna struktura właścicielska z procentami
- •Monitor Sądowy i Gospodarczy (MSiG) - obwieszczenia rejestrowe wraz z datą, treścią i oznaczeniem istotności
- •Krajowy Rejestr Zadłużonych (KRZ) - wpisy o upadłościach i restrukturyzacjach spółki
{ "data": [{ "krs": "0000795513", "nip": 8971868567, "kod_pkd": "62.01.Z", "informacje_o_firmie": [ { "nazwa_pola": "nazwa", "wartosc": "BASELINKER SP. Z O.O." }, { "nazwa_pola": "kapital_zakladowy", "wartosc": "3620000,00 PLN" } // … ], "dane_finansowe": [ { "rok": 2024, "nazwa_wskaznika": "przychody", "kwota": 219815000 }, { "rok": 2024, "nazwa_wskaznika": "roe", "kwota": 1.48 } // … ], "pozycja_na_tle_branzy": [ { "okres_sprawozdawczy": "01-01-2024_31-12-2024", "rok": 2024, "nazwa_wskaznika": "przychody", "percentyl_w_pkd": 0.9947, "udzial_w_rynku": 0.0019, "przychody_calej_branzy": 113299968237.52, "liczba_firm_w_branzy": 13080 } // … ], "powiazania": [ /* zarząd, wspólnicy */ ], "udzialy": [ /* struktura właścicielska */ ], "monitor_sadowy": [ { "data_publikacji": "2026-03-30", "rozdzial": "XV. WPISY DO KRS", "poziom_istotnosci": "Zmiana formalna" } // … ], "krz": [ /* wpisy z KRZ */ ] }] }
/api/sprawozdaniaPełne sprawozdania finansowe z KRS - pozycja po pozycji.
Pełna treść sprawozdań finansowych spółki w takiej postaci, w jakiej zostały złożone do KRS jako e-sprawozdania: bilans (aktywa i pasywa), rachunek zysków i strat, rachunek przepływów pieniężnych (cash flow) oraz zestawienie zmian w kapitale własnym. Każda pozycja, każdy poziom zagłębienia, wszystkie okresy sprawozdawcze - jako gotowy JSON, bez pobierania plików z eKRS i bez parsowania XML-i czy skanów PDF.
parametry
krs stringnip stringco dostajesz w odpowiedzi
- •Cztery sekcje sprawozdania - Bilans, Rachunek zysków i strat, Rachunek przepływów pieniężnych, Zestawienie zmian w kapitale - zawsze w tej kolejności; sekcja, której spółka nie złożyła, po prostu nie występuje w tablicy
- •Wszystkie okresy sprawozdawcze - od najnowszego, także lata obrotowe przesunięte względem kalendarzowych;
okres_sprawozdawczyto ten sam klucz co wdane_finansoweihistoria_sprawozdanz/api/dane - •Każda pozycja sprawozdania - nazwa, kod pozycji (np.
Aktywa_B_II_A_1), kwota oraz poziom zagłębienia, z którego odtworzysz pełną hierarchię pozycji - •Kwoty w złotych - sprawozdania złożone „w tysiącach” są już przeliczone na pełne złote
- •Wierność 1:1 ze źródłem - niczego nie korygujemy ani nie interpretujemy; dostajesz sprawozdanie dokładnie takie, jakie spółka złożyła do KRS
{ "data": [{ "krs": "0000566918", "okresy": [{ "okres_sprawozdawczy": "01-01-2024_31-12-2024", "rok": 2024, "sekcje": [{ "sekcja": "Bilans", "pozycje": [ { "pozycja_szczegolowa": "Aktywa", "kod_pozycji": "Aktywa_B_II_A_1", "poziom_zaglebienia": 5, "nazwa_pozycji": "- do 12 miesięcy", "kwota": 114370.32 } // … kolejne pozycje bilansu ] }, { "sekcja": "Rachunek zysków i strat" }, { "sekcja": "Rachunek przepływów pieniężnych" }, { "sekcja": "Zestawienie zmian w kapitale" } ]}, { "okres_sprawozdawczy": "01-01-2023_31-12-2023" } // … starsze okresy ] }] }
Wskaźniki finansowe czy źródłowe sprawozdanie?
/api/dane zwraca gotowe wskaźniki (przychody, EBITDA, ROE, modele ryzyka), /api/sprawozdania - źródłowe sprawozdanie pozycja po pozycji. Oba zbiory łączysz po kluczu okres_sprawozdawczy. Każde wywołanie to osobne odpytanie, więc pobieraj ten zbiór, którego akurat potrzebujesz.
Hierarchia pozycji sprawozdania
Drzewo sprawozdania odtworzysz z kolejności wierszy i pola poziom_zaglebienia: rodzicem pozycji jest najbliższy wcześniejszy wiersz o mniejszym poziomie, a wcięcie to poziom zagłębienia minus 1. Każdy okres traktuj jako osobne sprawozdanie - spółki potrafią zmieniać jego formę między latami.
Jedno odpytanie - komplet sprawozdań
Nawet kilkanaście okresów i tysiące pozycji w odpowiedzi to jedno odpytanie w rozliczeniu. Zapytanie po NIP może zwrócić kilka spółek, bo jeden NIP bywa powiązany z więcej niż jednym KRS - to nadal jedno odpytanie. Pusty wynik data: [] jest zawsze bezpłatny.
/api/katalogWszystkie polskie spółki z filtrami.
Programatyczny dostęp do tego, co interaktywnie robisz w naszym katalogu firm - filtruj spółki z Krajowego Rejestru Sądowego po finansach, branży PKD, lokalizacji i innych kryteriach. Endpoint zwraca listę KRS - pełne dane firmy pobierzesz potem przez /api/dane. Limit zwracanych wierszy: 1 000 000.
parametry
przychody_od / _do numberzysk_netto_od / _do numberzatrudnienie_od / _do numberpkd_sekcja stringpkd_dzial stringpkd_podklasa stringwojewodztwo stringmiasto string+ więcej filtrów (bilans, wskaźniki, EBIT, ROE, …) − mniej filtrów
przychody_operacyjne_od / _do numberzysk_z_dzialalnosci_operacyjnej_od / _do numberebit_od / _do numberebitda_od / _do numberpodatek_dochodowy_od / _do numberwynagrodzenia_od / _do numberamortyzacja_od / _do numbersuma_bilansowa_od / _do numberaktywa_trwale_od / _do numberaktywa_obrotowe_od / _do numbergotowka_od / _do numberkapital_wlasny_od / _do numberzobowiazania_i_rezerwy_na_zobowiazania_od / _do numberroa_od / _do %roe_od / _do %marza_netto_od / _do %marza_operacyjna_od / _do %wskaznik_zadluzenia_od / _do %srednioroczny_wzrost_przychodow_1_rok_od / _do %srednioroczny_wzrost_przychodow_3_lata_od / _do %srednioroczny_wzrost_przychodow_5_lat_od / _do %ostatni_krz numberostatni_monitor numberpowiat stringgmina stringkod_pocztowy_poczatek stringkod_pocztowy_koncowka stringadres stringopis stringnie_wykreslona takczy_status_opp takcit_estonski takco dostajesz w odpowiedzi
- •data - lista numerów KRS pasujących do filtrów
- •count - łączna liczba pasujących rekordów
- •fetchedCount - rekordy pobrane w tym wywołaniu (max 1 000 000)
{ "data": [ { "krs": "0000493049" }, { "krs": "0000972003" }, // … ], "count": 437, "fetchedCount": 437 }
/api/szukajPełnotekstowe wyszukiwanie.
Programatyczny odpowiednik wyszukiwarki KRS - znajdź firmę po nazwie, fragmencie nazwy, numerze NIP, KRS lub REGON. Idealne do autouzupełniania w formularzach, szybkiej weryfikacji kontrahenta i dopinania danych w CRM. Podpowiedzi wysyłaj, gdy wpisywane słowo ma trzy znaki.
parametry
q stringco dostajesz w odpowiedzi
- •data - lista numerów KRS pasujących do zapytania
- •dane_uciete -
truejeśli wyników było więcej, niż zmieściło się w odpowiedzi
{ "data": [ { "krs": "0000795513" }, { "krs": "0000581581" }, { "krs": "0000568694" } ], "dane_uciete": false }
Do czego klienci używają API KRS.
Sześć najczęstszych scenariuszy biznesowych, w których dane z Krajowego Rejestru Sądowego, sprawozdania finansowe i struktura właścicielska polskich spółek robią różnicę.
Wzbogacanie CRM i lead scoring
Po numerze NIP albo fragmencie nazwy automatycznie uzupełnij rekord klienta B2B o adres, formę prawną, kapitał zakładowy, dane finansowe i strukturę właścicielską. Segmentuj bazę CRM według wielkości firmy, rentowności i dynamiki wzrostu, a nowe leady punktuj w czasie rzeczywistym na podstawie przychodów i wskaźników finansowych.
HubSpot · Salesforce · Pipedrive · Microsoft Dynamics · własne CRM
Weryfikacja kontrahenta i ocena kredytowa
Sprawdź status w rejestrze, kondycję finansową i ryzyko upadłości zanim wystawisz fakturę, udzielisz kredytu kupieckiego albo podpiszesz umowę. Model niewyplacalnosc_lub_restrukturyzacja_24m daje prawdopodobieństwo niewypłacalności lub restrukturyzacji w ciągu 24 miesięcy, wiarygodnosc ocenę w skali 1-5, a wskaźniki ROE, ROA, marża netto i wskaźnik zadłużenia pomagają zautomatyzować scoring finansowy. API nie zostawia Cię przy samej ocenie ryzyka: pola kredyt_kupiecki_minimalny, _sredni i _maksymalny podają sugerowany limit kredytu kupieckiego w złotych, a wartosc_firmy_minimalna, _srednia i _maksymalna - szacowaną wartość spółki. Idealne do workflowu compliance, AML i KYC.
ERP · księgowość · faktoring · ubezpieczenia · banki
Generowanie leadów B2B
Zbuduj precyzyjnie targetowaną listę firm spełniających dowolne kryteria - przychody w widełkach, branża po kodzie PKD, województwo lub powiat, dynamika wzrostu (CAGR 1-, 3- i 5-letni), zatrudnienie, marża netto, gotówka na koniec ostatniego roku obrotowego - i zasil nią dział sprzedaży. Sama gotówka odsiewa kontrahentów bez zdolności do zapłaty szybciej niż jakikolwiek inny filtr: ponad 56 tys. aktywnych spółek ma w ostatnim bilansie powyżej 1 mln zł środków pieniężnych. Endpoint /api/katalog zwraca do miliona pasujących KRS w jednym wywołaniu, więc nawet duże kampanie ABM dostają komplet danych w sekundach.
sales · marketing · ABM · outbound · prospecting
Analiza rynku i Business Intelligence
Zasilaj hurtownię danych (Snowflake, BigQuery, Redshift) albo dashboardy w Tableau, Power BI, Looker Studio aktualnymi danymi o polskim rynku - bez ręcznego pobierania z KRS i parsowania PDF-ów. Jednorazowy eksport plików zrobisz przez pobierz dane; do ciągłej synchronizacji - API. Badaj trendy branżowe, identyfikuj liderów rynku w poszczególnych PKD i buduj benchmarki finansowe dla swoich klientów, a do własnych modeli i przeliczeń pobieraj pełne sprawozdania finansowe - pozycja po pozycji - przez /api/sprawozdania.
consulting · research · BI · data warehouse · analytics
Due diligence i M&A
Przyspiesz proces weryfikacji firm przed inwestycją, akwizycją lub strategiczną współpracą. API zwraca pełną strukturę powiązań osobowych (zarząd, prokurenci, rada nadzorcza, wspólnicy), procentowe udziały w spółce oraz powiązania korporacyjne z innymi podmiotami - wszystko w jednym żądaniu. Idealne do mapowania struktur holdingowych i przygotowania red flag reports.
private equity · venture capital · M&A · legal · doradztwo
Compliance, AML i audyt
Zapewnij zgodność danych w swoim systemie z oficjalnymi rejestrami państwowymi - dane pochodzą wprost z KRS, Monitora Sądowego i Gospodarczego oraz sprawozdań finansowych składanych do rejestru. Automatyczna walidacja NIP/KRS/REGON, aktualny skład zarządu i struktura właścicielska oraz status OPP - elementy które audytor wewnętrzny i dział compliance dostają out-of-the-box.
compliance · AML · KYC · audyt wewnętrzny · ESG
Automatyzacja procesów z API KRS.
Integracja z systemami CRM, ERP i narzędziami no-code eliminuje ręczne wprowadzanie danych firm, przyspiesza przepływ informacji w organizacji i sprawia, że dane KRS są zawsze aktualne tam, gdzie ich potrzebujesz - od leadu po fakturę.
Integracja z CRM
Automatyczne wzbogacanie profili klientów B2B o aktualne dane rejestrowe, finansowe i strukturę właścicielską. API integruje się z HubSpot, Salesforce, Pipedrive, Microsoft Dynamics oraz dowolnym własnym CRM-em poprzez REST.
- •Auto-uzupełnianie po NIP - rekord firmy w CRM-ie wypełnia się sam po wpisaniu numeru
- •Segmentacja - filtruj kontakty po wielkości firmy, branży PKD, rentowności, województwie
- •Lead scoring - oceniaj potencjał klientów po przychodach, marży i dynamice wzrostu
- •Synchronizacja - dane KRS odświeżają się wraz z rejestrem, bez manualnego eksportu
Integracja z ERP
Automatyczna weryfikacja kontrahentów i dostawców w systemach ERP. Eliminuj błędy ręcznego wprowadzania danych, sprawdzaj wiarygodność partnera przed podpisaniem umowy, kontroluj limity kredytowe na podstawie kondycji finansowej.
- •Weryfikacja kontrahenta - automatyczna kontrola NIP/KRS/REGON przy zakładaniu nowego dostawcy
- •Ocena ryzyka finansowego - analiza kondycji firmy i ryzyka upadłości przed transakcją
- •Auto-uzupełnianie - adres, forma prawna, kapitał i dane rejestrowe wpisują się same
- •Compliance i audyt - zgodność danych z oficjalnym rejestrem KRS w każdej chwili
Przykładowe scenariusze automatyzacji
Onboarding klientów B2B
Klient wpisuje NIP w formularzu rejestracyjnym - system automatycznie pobiera nazwę, adres, formę prawną, KRS, weryfikuje status w rejestrze i tworzy kompletny profil. Czas onboardingu skraca się z minut do sekund, a dane są od razu zgodne z KRS.
Monitoring kontrahentów
Cyklicznie odpytuj /api/dane dla swoich kluczowych dostawców i klientów. Wykryj zmianę zarządu, spadek przychodów, wzrost zadłużenia, status wykreślenia z KRS albo wpis do Monitora Sądowego - i wyślij alert do odpowiedzialnego account managera.
Raportowanie i analityka
Automatyczne generowanie raportów o portfelu klientów, analiza branżowa po kodach PKD, identyfikacja trendów rynkowych w regionach. Łącz dane z API z własnymi danymi sprzedażowymi w hurtowni i dashboardach.
Proces zakupowy i P2P
Integracja z systemem procure-to-pay - automatyczna weryfikacja dostawcy przed wystawieniem zamówienia, kontrola limitu kredytowego na podstawie wskaźnika ryzyka upadłości, blokada transakcji z podmiotami wykreślonymi z KRS.
Gotowe integracje i kompatybilne platformy
Dlaczego API BizRaport?
Aktualne dane
Regularnie odświeżana baza danych z KRS, Monitora Sądowego i sprawozdań finansowych. Sekcja rejestrowa odzwierciedla wpisy w KRS w ciągu kilku dni od publikacji.
Wysoka jakość
Zweryfikowane dane z oficjalnych źródeł państwowych, wzbogacone o własne wskaźniki finansowe i modele predykcyjne ryzyka niewypłacalności oraz wiarygodności płatniczej.
Łatwa integracja
Przejrzysty format JSON, REST API z czterema endpointami i dokumentacją w pliku. Wdrożenie typowo zajmuje jeden popołudniowy sprint dewelopera.
Dane KRS dla agentów AI i modeli językowych (LLM).
Agent AI jest tak dobry, jak dane, do których ma dostęp. Modele językowe - ChatGPT, Claude, Gemini - trenowane są na historycznych zbiorach danych, więc o aktualne przychody, zarząd czy status spółki muszą zapytać źródło. API BizRaport podłączysz do dowolnego agenta jako narzędzie (function calling / tool use) w kilka minut: to zwykłe żądania HTTPS GET zwracające czysty JSON - bez OAuth, bez SDK, bez webhooków. Agent sam decyduje, kiedy pobrać dane rejestrowe, sprawozdania finansowe, powiązania albo wskaźnik ryzyka upadłości - i odpowiada na podstawie Krajowego Rejestru Sądowego, a nie domysłów.
Integracja w trzech krokach
Wygeneruj klucze API - zaloguj się i kliknij przycisk na górze strony. Darmowe klucze testowe ze 100 odpytaniami dostajesz od ręki.
Zdefiniuj narzędzie - w swoim frameworku agentowym podaj adres
api.bizraport.pl, parametry (krs,nip,q) i krótki opis. Możesz też po prostu wkleić dokumentację do promptu systemowego albo podać agentowi jej adres w formacie Markdown, żeby pobrał ją sam.Gotowe - agent sam decyduje, kiedy odpytać API, a odpowiedź JSON trafia prosto do jego kontekstu. Bez parsowania HTML, bez scrapingu, bez PDF-ów.
{ "name": "sprawdz_firme", "description": "Dane firmy z KRS po NIP: rejestrowe, finansowe, ryzyko upadłości, powiązania", "parameters": { "type": "object", "properties": { "nip": { "type": "string" } }, "required": ["nip"] } } // pod spodem agent wykonuje zwykły GET: GET https://api.bizraport.pl/api/dane?email=…&password=…&nip=8971868567
Najważniejsze modele AI - i co z nimi zbudujesz
ChatGPT / GPT (OpenAI)
Function calling w OpenAI API, asystenci w OpenAI Agents SDK i custom GPT z akcjami. Zbuduj asystenta sprzedaży, który przed spotkaniem sam pobiera przychody, wskaźniki finansowe i strukturę właścicielską potencjalnego klienta - prosto z KRS.
function calling · Agents SDK · custom GPT
Claude (Anthropic)
Tool use, serwery MCP (Model Context Protocol) i Claude Agent SDK. Świetny do analizy pełnych sprawozdań finansowych - agent pobiera przez /api/sprawozdania bilans oraz rachunek zysków i strat, po czym przygotowuje memo due diligence z listą red flags.
tool use · MCP · Claude Agent SDK
Gemini (Google)
Function calling w Gemini API i agenci w Vertex AI. Wzbogacaj arkusze Google Sheets, pipeline'y BigQuery i automatyzacje w ekosystemie Google Workspace aktualnymi danymi o polskich spółkach.
function calling · Vertex AI · Google Workspace
Copilot (Microsoft)
Agenci w Copilot Studio i Azure AI Foundry, wpięci w Microsoft 365, Teams i Dynamics 365. Weryfikacja kontrahenta bez wychodzenia z Teams - agent odpytuje API i zwraca ocenę ryzyka wprost w czacie.
Copilot Studio · Azure AI Foundry · Power Platform
DeepSeek / Qwen / Kimi (chińskie modele)
Chińskie modele AI - DeepSeek (V3, R1), Qwen od Alibaby, Kimi od Moonshot AI i GLM od Zhipu - udostępniają API zgodne z OpenAI, więc ta sama definicja narzędzia działa w nich bez zmian. Świetny stosunek ceny do możliwości przy masowych zadaniach agentowych, np. hurtowej weryfikacji tysięcy kontrahentów z /api/katalog.
DeepSeek V3/R1 · Qwen (Alibaba) · Kimi (Moonshot AI) · GLM (Zhipu AI)
Llama / Mistral / Bielik (open source)
Modele z otwartymi wagami uruchomisz na własnej infrastrukturze (Ollama, vLLM) - dane firmowe i zapytania nie opuszczają twojej organizacji, co docenią compliance i RODO. Tool calling działa także lokalnie, a polski Bielik dobrze radzi sobie z urzędową i finansową polszczyzną danych z KRS.
on-premise · Ollama · vLLM · data privacy
Przykładowe zastosowania agentów AI z danymi KRS
Automatyczna weryfikacja kontrahenta
Agent dostaje NIP z faktury albo maila, wywołuje /api/dane, sprawdza status w rejestrze, ryzyko upadłości i wpisy w KRZ, po czym zwraca rekomendację z uzasadnieniem - zanim ktokolwiek zdąży otworzyć przeglądarkę.
Agent AI jako analityk finansowy
Agent pobiera pełne sprawozdanie finansowe przez /api/sprawozdania, liczy własne wskaźniki, porównuje spółkę z branżą (percentyle w grupie PKD) i pisze podsumowanie due diligence - pozycja po pozycji, bez ręcznego przepisywania danych.
Research handlowy przed spotkaniem
Poproś agenta o brief na temat klienta: przychody i ich dynamika, zysk netto, zatrudnienie, zarząd, wspólnicy i ostatnie obwieszczenia w MSiG. A na etapie prospectingu /api/katalog zwróci listę firm o zadanych parametrach - gotową bazę dla agenta SDR.
Firmowy chatbot z aktualnymi danymi (RAG)
Bot w Slacku albo Teams odpowiada na pytania o polskie spółki, odpytując API w czasie rzeczywistym. Grounding sztucznej inteligencji w oficjalnym rejestrze eliminuje halucynacje - model cytuje dane z KRS, a nie zgaduje.
Kompatybilne modele LLM, frameworki i platformy agentowe
Nie wiesz, od czego zacząć? Wygeneruj darmowe klucze testowe, wklej dokumentację do promptu systemowego swojego agenta i zadaj mu pierwsze pytanie o dowolną polską spółkę. W razie potrzeby pomożemy z integracją - napisz na kontakt@bizraport.pl.
Najczęstsze pytania.
Ile kosztuje API BizRaport?
Jak działa rozliczenie abonamentu i jak mogę go anulować?
Jak wygląda autoryzacja w API?
Jakie są limity i czy są ograniczenia zapytań na minutę?
Jak aktualne są dane firm w API KRS?
Jak długo trwa wdrożenie API BizRaport?
Czy mogę przetestować API BizRaport za darmo?
Jakie dane o polskich spółkach zwraca API?
Czy przez API pobiorę pełne sprawozdanie finansowe spółki z KRS?
Czym różni się /api/sprawozdania od /api/dane?
Czy mogę wyszukiwać firmy po NIP, KRS lub REGON?
Czy API podpowie, jaki limit kredytu kupieckiego dać kontrahentowi?
Czy macie gotowe integracje (HubSpot, Salesforce, Make, Zapier)?
Czy API BizRaport można podłączyć do agenta AI (ChatGPT, Claude, Gemini)?
Dokumentacja techniczna API KRS.
Specyfikacja pięciu endpointów: parametry żądania, wszystkie pola odpowiedzi wraz z typami, kody odpowiedzi HTTP oraz przykładowe odpowiedzi JSON. Ta sama treść, którą wysyłamy mailem po wygenerowaniu kluczy dostępowych.
Dokumentacja API BizRaport
5 endpointów · wszystkie parametry i pola odpowiedzi · kody odpowiedzi HTTP · przykłady JSON
rozwiń zwiń
Dokumentacja API BizRaport
5 endpointów · wszystkie parametry i pola odpowiedzi · kody odpowiedzi HTTP · przykłady JSON
Kompleksowy przewodnik po API do danych o polskich firmach
1. Dane firmy (/api/dane)
Przegląd
API dostarcza kompleksowych danych o polskich firmach, obejmujących informacje rejestrowe, dane finansowe, opisy działalności, powiązania korporacyjne oraz strukturę udziałowców.
Endpoint
https://api.bizraport.pl/api/dane?email=abc@xyz.pl&password=qwe&krs=123
https://api.bizraport.pl/api/dane?email=abc@xyz.pl&password=qwe&nip=1234567890
Uwierzytelnienie
Wybierz jeden z dwóch sposobów:
- parametry URL
emailipassword— jak w przykładzie wyżej - nagłówek HTTP Basic Auth
Parametry żądania
| Parametr | Typ | Opis |
|---|---|---|
krs | String | Numer KRS firmy (wymagany jeśli brak nip) |
nip | String | Numer NIP firmy (wymagany jeśli brak krs) |
Format danych
Wszystkie dane są zwracane w formacie JSON (UTF-8). Pola zagnieżdżone to gotowe tablice i obiekty, które nie wymagają dodatkowego parsowania po stronie klienta.
Struktura główna
Odpowiedź ze statusem 200 ma jedno pole data z tablicą firm. Zapytanie po krs zwraca najwyżej jeden element, po nip może zwrócić kilka - jeden NIP bywa przypisany do kilku numerów KRS. Brak trafienia to status 200 i pusta tablica, a nie 404.
{
"data": [
{
"krs": "0000795513_",
"nip": 8971868567,
"...": "pozostałe pola z tabeli niżej"
}
]
}Pola główne
| Pole | Typ | Opis |
|---|---|---|
krs | String | Numer KRS firmy (klucz główny). 10 cyfr zakończonych podkreślnikiem, np. 0000795513_ |
nip | Number | null | Numer identyfikacji podatkowej (NIP). |
kod_pkd | String | null | Kod PKD działalności gospodarczej, np. 62.01.Z. Bywa null albo Brak |
opis_pkd | String | null | Słowny opis działalności według PKD |
informacje_o_firmie | Array | null | Podstawowe informacje rejestrowe o firmie |
dane_finansowe | Array | null | Dane finansowe i wskaźniki ekonomiczne |
opisy_firmy | Array | null | Opisy działalności i punkty kluczowe |
powiazania | Array | null | Powiązania korporacyjne i osobowe |
udzialy | Array | null | Struktura właścicielska i udziałowcy |
monitor_sadowy | Array | null | Informacje z Monitora Sądowego |
krz | Array | null | Informacje z KRZ |
historia_sprawozdan | Array | null | Historia sprawozdań finansowych: okresy, terminy i faktyczne daty złożenia do KRS |
pozycja_na_tle_branzy | Array | null | Pozycja firmy na tle branży: percentyle wskaźników finansowych w grupie spółek o tym samym PKD głównym na koniec danego okresu |
Sekcja, dla której firma nie ma danych, jest null, a nie pustą tablicą - krz jest null dla zdecydowanej większości spółek. Sprawdzaj null przed iteracją.
Szczegółowy opis pól
1. informacje_o_firmie
Zawiera tablicę obiektów z podstawowymi informacjami o firmie.
Struktura:
[
{
"nazwa_pola": "string",
"wartosc": "string"
}
]Dostępne pola (nazwa_pola):
cel_dzialalnosci- Cel działalności spółkidata_wpisu_do_rejestru- Data wpisu do rejestru KRS (YYYY-MM-DD)data_wykreslenia_z_krs- Data wykreślenia z rejestru, jeśli dotyczy (DD.MM.YYYY)kod_pocztowy- Kod pocztowy siedzibymiejscowosc- Miejscowość siedzibyorgan_rejestrowy- Organ rejestrowy prowadzący KRSregon- Numer REGONulica- Ulica siedzibyadres_strony_internetowej- Adres strony WWW firmyemail- Adres email kontaktowykapital_zakladowy- Wartość i waluta kapitału zakładowegowojewodztwo- Województwoforma_prawna- Forma prawna podmiotunip- Numer NIPnazwa- Pełna nazwa firmydata_rozpoczecia_dzialalnosci- Data rozpoczęcia działalności (YYYY-MM-DD)forma_wlasnosci- Forma własnościnumer_nieruchomosci- Numer nieruchomościkraj- Kraj oddziału (jednostki terenowej), nie siedzibyorgan_reprezentujacy- Organ reprezentujący spółkęorgan_nadzoru- Organ nadzorusposob_reprezentacji- Sposób reprezentacji spółkistatus_opp- Status organizacji pożytku publicznegopostepowanie_likwidacyjne- Informacja o postępowaniu likwidacyjnympostepowanie_upadlosciowe- Informacja o postępowaniu upadłościowympostepowanie_restrukturyzacyjne- Informacja o postępowaniu restrukturyzacyjnympostepowanie_ukladowe- Informacja o postępowaniu układowym
2. dane_finansowe
Zawiera tablicę danych finansowych dla różnych okresów sprawozdawczych.
Struktura:
[
{
"okres_sprawozdawczy": "string",
"kwota": number,
"nazwa_wskaznika": "string",
"rok": number
}
]Dostępne wskaźniki (nazwa_wskaznika):
Aktywa i Kapitał:
aktywa_trwale- Aktywa trwałeaktywa_obrotowe- Aktywa obrotowesuma_bilansowa- Suma bilansowakapital_wlasny- Kapitał własnyzobowiazania_i_rezerwy- Zobowiązania i rezerwy na zobowiązania
Wielkość firmy:
przychody- Przychody całkowiteprzychody_operacyjne- Przychody operacyjneprzychody_ze_sprzedazy- Przychody ze sprzedażyzatrudnienie/zatrudnienie_estymowane- Zatrudnienie
Koszty:
koszty_operacyjne- Koszty operacyjnekoszty_sprzedanych_produktow- Koszty sprzedanych produktówkoszty_sprzedazy_i_zarzadu- Koszty sprzedaży i zarząduwynagrodzenia- Wynagrodzeniapodatek_dochodowy- Podatek dochodowyamortyzacja- Amortyzacja
Zyski i Straty:
zysk_brutto_ze_sprzedazy- Zysk (strata) brutto ze sprzedażyzysk_ze_sprzedazy- Zysk (strata) ze sprzedażyzysk_operacyjny- Zysk (strata) z działalności operacyjnejzysk_brutto- Zysk bruttozysk_netto- Zysk netto
Wskaźniki rentowności:
ebit- EBIT (zysk przed odsetkami i podatkami)ebitda- EBITDA (zysk przed odsetkami, podatkami, deprecjacją i amortyzacją)marza_operacyjna- Marża operacyjnamarza_netto- Marża nettoroe- ROE (zwrot z kapitału własnego)roa- ROA (zwrot z aktywów)wskaznik_zadluzenia- Wskaźnik zadłużenia
Modele ryzyka:
niewyplacalnosc_lub_restrukturyzacja_24m- Prawdopodobieństwo niewypłacalności lub restrukturyzacji w ciągu 24 miesięcywiarygodnosc- Ocena wiarygodności podmiotu
Wycena i kredyt kupiecki:
wartosc_firmy_minimalna- Szacowana wartość spółki (wariant minimalny)wartosc_firmy_srednia- Szacowana wartość spółki (wariant średni)wartosc_firmy_maksymalna- Szacowana wartość spółki (wariant maksymalny)kredyt_kupiecki_minimalny- Sugerowany kredyt kupiecki (wariant minimalny)kredyt_kupiecki_sredni- Sugerowany kredyt kupiecki (wariant średni)kredyt_kupiecki_maksymalny- Sugerowany kredyt kupiecki (wariant maksymalny)
3. opisy_firmy
Zawiera opisy tekstowe działalności firmy oraz punkty kluczowe.
Struktura:
[
{
"opis": "string",
"punkt_kluczowy_1": "string",
"punkt_kluczowy_2": "string",
"punkt_kluczowy_3": "string",
"punkt_kluczowy_4": "string",
"punkt_kluczowy_5": "string"
}
]4. powiazania
Zawiera informacje o powiązaniach korporacyjnych i osobowych firmy.
Typy powiązań:
reprezentacja- Osoba/podmiot reprezentujący spółkęwspólnik- Wspólnik spółkiorgan nadzoru- Członek organu nadzoruprokurent- Prokurentpowiązanie zwrotne- Kierunek odwrotny: ta firma jest powiązana z podmiotem z listy- Pozostałe:
pełnomocnik,likwidator,syndyk,kurator,komitet założycielski,powstanie organizacji,podmioty o identycznym NIP,podmioty o identycznym REGON,inne
Struktura:
[
{
"typ_podmiotu": "string",
"nazwa": "string",
"typ_powiazania": "string",
"id_podmiotu": "string | null",
"organ": "string | null",
"funkcja": "string | null"
}
]id_podmiotu to numer KRS dla organizacji, a wewnętrzny identyfikator dla osoby.
Pole powiazania_rozszerzone (patrz „Rozszerzenie powiązań" na końcu rozdziału) ma cztery pola: typ_podmiotu, nazwa, typ_powiazania i id_podmiotu.
5. udzialy
Zawiera informacje o strukturze właścicielskiej firmy.
Uwaga: Dane są sortowane malejąco według procentu udziałów.
procent_udzialow jest liczbą w skali 0-100 (51 oznacza 51%). Suma udziałów nie musi dawać 100.
Struktura:
[
{
"typ_podmiotu": "string",
"nazwa": "string",
"procent_udzialow": number | null,
"id_podmiotu": "string | null"
}
]6. monitor_sadowy
Ogłoszenia z Monitora Sądowego i Gospodarczego (MSiG) powiązane z KRS: wpisy do KRS, upadłości, restrukturyzacje, likwidacje, ogłoszenia wymagane przez KSH/KPC/prawo upadłościowe.
Struktura:
[
{
"numer_ogloszenia": "string",
"sygnatura_sprawy": "string",
"tresc_naglowka": "string",
"nr_monitora": "string (numer/rok)",
"rozdzial": "string | null",
"tresc_ogloszenia": "string",
"data_publikacji": "string (YYYY-MM-DD)",
"nazwa_podmiotu": "string",
"poziom_istotnosci": "string ('UWAGA' | 'Rzuć okiem' | 'Zmiana formalna')"
}
]7. krz
Zawiera obwieszczenia z Krajowego Rejestru Zadłużonych, w których dłużnikiem jest sama spółka (głównie w postępowaniach upadłościowych i restrukturyzacyjnych). Wpisów dotyczących osób powiązanych ze spółką sekcja nie zawiera.
Struktura:
[
{
"data_krz": "string (YYYY-MM-DD)",
"grupa_kategorii_tytul": "string",
"kategoria_tytul": "string",
"poziom_istotnosci": "string ('UWAGA' | 'Rzuć okiem' | 'Zmiana formalna')",
"numer_obwieszczenia": "string",
"tytul_obwieszczenia": "string",
"sygnatura_akt": "string",
"sad": "string",
"wydzial_sadu": "string",
"dluznik_typ": "string",
"tresc": "string",
"id_osoby": "string | null",
"przypisanie_do_krs": "string"
}
]Pola dluznik_typ i przypisanie_do_krs mają zawsze wartość podmiot, a id_osoby wartość null.
8. historia_sprawozdan
Historia sprawozdań finansowych złożonych do KRS: okresy sprawozdawcze, ustawowy termin złożenia oraz faktyczna data wpływu dokumentu. Najnowszy okres jest pierwszy. Pole okres_sprawozdawczy jest wspólne z sekcją dane_finansowe, więc obie można po nim złączyć.
Struktura:
[
{
"okres_sprawozdawczy": "string (DD-MM-YYYY_DD-MM-YYYY)",
"rok": number,
"termin_zlozenia": "string (DD-MM-YYYY)",
"data_dodania_do_krs": "string (DD-MM-YYYY)"
}
]9. pozycja_na_tle_branzy
Pozycja spółki na tle grupy PKD, osobno dla każdego okresu i wskaźnika. Grupę tworzą spółki, które na koniec danego okresu sprawozdawczego miały w KRS to samo PKD główne (podklasa, w formacie jak kod_pkd). Pole kod_pkd podaje dzisiejsze PKD główne spółki, więc w latach, w których spółka miała w KRS inne PKD główne, grupa porównawcza różni się od kod_pkd. Za lata bez wpisu PKD głównego w KRS (w tym wszystkie sprzed grudnia 2014 r.) sekcja nie ma wierszy.
Struktura:
[
{
"okres_sprawozdawczy": "string (DD-MM-YYYY_DD-MM-YYYY)",
"rok": number,
"nazwa_wskaznika": "string",
"percentyl_w_pkd": number
}
]percentyl_w_pkd to ułamek od 0 do 1, a nie procent: 0.9507 znaczy, że 95,07% firm w tej grupie PKD ma niższą wartość tego wskaźnika.
nazwa_wskaznika używa tych samych nazw co dane_finansowe, więc obie sekcje można złączyć po parze (okres_sprawozdawczy, nazwa_wskaznika) i mieć kwotę obok percentyla. Dostępne wskaźniki:
przychodyzysk_nettosuma_bilansowamarza_nettomarza_operacyjnaroaroewskaznik_zadluzeniapodatek_dochodowywartosc_firmy_srednia
Wiersz dla wskaźnika przychody ma dodatkowo trzy pola opisujące udział spółki w rynku:
| Pole | Typ | Opis |
|---|---|---|
udzial_w_rynku | Number | Ułamek przychodów grupy PKD, jaki generuje ta spółka (0.0032 to 0,32%) |
przychody_calej_branzy | Number | null | Suma przychodów w tej grupie PKD za dany rok, w złotych |
liczba_firm_w_branzy | Number | Liczba sprawozdań w tej grupie PKD za dany rok |
Przy pozostałych wskaźnikach tych trzech pól nie ma w ogóle - nie są null, po prostu nie występują w obiekcie.
Obie liczby branżowe rosną, w miarę jak spływają sprawozdania, więc za ostatnie lata są zaniżone.
Wartości NULL
Pola mogą przyjmować wartość null w następujących przypadkach:
- Brak danych dla danej firmy
- Dane niedostępne w źródle
- Nieaplikowalne dla danego typu firmy
Pola z zagnieżdżonymi strukturami JSON zwracają null zamiast pustego ciągu, jeśli brak danych.
Uwagi techniczne
1. Struktury zagnieżdżone: Pola informacje_o_firmie, dane_finansowe, opisy_firmy, powiazania, udzialy, monitor_sadowy, krz, historia_sprawozdan i pozycja_na_tle_branzy są zwracane jako gotowe tablice JSON. Nie wywołuj na nich JSON.parse().
2. Encoding: Wszystkie dane są zwracane w kodowaniu UTF-8.
3. Typy i skale:
- wartości procentowe są ułamkami (
0.15to 15%). Wyjątek:procent_udzialoww sekcjiudzialyjest w skali 0-100 wiarygodnoscprzyjmuje wartości od 1 do 5, gdzie 1 to najwyższa wiarygodność płatnicza- format daty jest podany przy każdym polu z datą
4. Sortowanie:
dane_finansowe: sortowane malejąco po okresie sprawozdawczym (najnowszy pierwszy), a w obrębie okresu rosnąco ponazwa_wskaznikapowiazania: sortowane wedługtyp_powiazaniainazwaudzialy: sortowane malejąco wedługprocent_udzialow
5. Okresy sprawozdawcze: Mogą mieć różną długość w zależności od roku obrotowego firmy.
Rozszerzenie powiązań
Parametr rozszerz_polaczenia=tak dokłada do każdego elementu powiazania pole powiazania_rozszerzone - powiązania danej osoby lub podmiotu, jeden poziom głębiej.
2. Katalog firm (/api/katalog)
Przegląd
API umożliwia filtrowanie i wyszukiwanie firm według różnych kryteriów finansowych, lokalizacyjnych i klasyfikacyjnych. Zwraca listę numerów KRS firm spełniających zadane kryteria. Może służyć jako narzędzie do wyszukiwania leadów B2B.
Endpoint
https://api.bizraport.pl/api/katalog?email=abc@xyz.pl&password=qwe&przychody_od=10000000&przychody_do=11000000
Uwierzytelnienie
Wybierz jeden z dwóch sposobów:
- parametry URL
emailipassword— jak w przykładzie wyżej - nagłówek HTTP Basic Auth
Odpowiedź
Struktura JSON
{
"data": [{ "krs": "0000123456_" }, ...],
"count": 12345,
"fetchedCount": 1000
}| Pole | Typ | Opis |
|---|---|---|
data | Array | Lista obiektów z numerami KRS |
data[].krs | String | Numer KRS (10 cyfr + "_") |
count | Number | Całkowita liczba wyników spełniających kryteria |
fetchedCount | Number | Liczba zwróconych rekordów (max 1 000 000) |
Gdy count przekracza milion, fetchedCount zatrzymuje się na milionie i reszty nie da się pobrać - endpoint nie ma paginacji. Zawęź kryteria, jeśli wynik jest większy.
Parametry filtrowania
Filtry finansowe (zakresy)
Wymagany jest co najmniej jeden filtr - żądanie bez żadnego kończy się błędem 400.
Wszystkie filtry finansowe przyjmują wartości liczbowe. Użyj sufiksu _od dla minimum i _do dla maksimum. Wartość zawierająca litery (10mln, 1e6) kończy żądanie błędem 400.
| Parametr | Typ | Opis |
|---|---|---|
przychody_od / przychody_do | Number | Przychody całkowite |
zysk_netto_od / zysk_netto_do | Number | Zysk netto |
zobowiazania_i_rezerwy_na_zobowiazania_od / _do | Number | Zobowiązania i rezerwy |
przychody_operacyjne_od / przychody_operacyjne_do | Number | Przychody operacyjne |
aktywa_obrotowe_od / aktywa_obrotowe_do | Number | Aktywa obrotowe |
gotowka_od / gotowka_do | Number | Gotówka, czyli środki pieniężne z ostatniego sprawozdania |
kapital_wlasny_od / kapital_wlasny_do | Number | Kapitał własny |
suma_bilansowa_od / suma_bilansowa_do | Number | Suma bilansowa |
kapital_zakladowy_liczbowo_od / _do | Number | Kapitał zakładowy |
podatek_dochodowy_od / podatek_dochodowy_do | Number | Podatek dochodowy |
zysk_z_dzialalnosci_operacyjnej_od / _do | Number | Zysk z działalności operacyjnej |
aktywa_trwale_od / aktywa_trwale_do | Number | Aktywa trwałe |
koszty_operacyjne_od / koszty_operacyjne_do | Number | Koszty operacyjne |
estymowana_wartosc_firmy_od / _do | Number | Estymowana wartość firmy |
wynagrodzenia_od / wynagrodzenia_do | Number | Wynagrodzenia |
amortyzacja_od / amortyzacja_do | Number | Amortyzacja |
ebit_od / ebit_do | Number | EBIT |
ebitda_od / ebitda_do | Number | EBITDA |
zatrudnienie_od / zatrudnienie_do | Number | Zatrudnienie |
Filtry czasowe
| Parametr | Typ | Opis |
|---|---|---|
ostatni_rok_sprawozdania_od / _do | Number | Rok ostatniego sprawozdania (np. 2023) |
rok_wpisu_do_rejestru_od / _do | Number | Rok wpisu do rejestru |
rok_rozpoczecia_dzialalnosci_od / _do | Number | Rok rozpoczęcia działalności |
ostatni_krz | Number | Istotny wpis w KRZ w ostatnich N dniach (np. 90) |
ostatni_monitor | Number | Istotny wpis w MSiG w ostatnich N dniach |
Filtry procentowe
WAŻNE: Wszystkie wskaźniki procentowe (ROA, ROE, marże, CAGR, wskaźnik zadłużenia) podawane są jako liczby całkowite reprezentujące procenty. Na przykład: roa_od=15 oznacza ROA ≥ 15%, a nie 0.15.| Parametr | Typ | Opis |
|---|---|---|
roa_od / roa_do | Number | ROA - zwrot z aktywów (%) |
roe_od / roe_do | Number | ROE - zwrot z kapitału własnego (%) |
marza_netto_od / marza_netto_do | Number | Marża netto (%) |
marza_operacyjna_od / marza_operacyjna_do | Number | Marża operacyjna (%) |
wskaznik_zadluzenia_od / _do | Number | Wskaźnik zadłużenia (%) |
srednioroczny_wzrost_przychodow_1_rok_od / _do | Number | CAGR przychodów (1 rok) (%) |
srednioroczny_wzrost_przychodow_3_lata_od / _do | Number | CAGR przychodów (3 lata) (%) |
srednioroczny_wzrost_przychodow_5_lat_od / _do | Number | CAGR przychodów (5 lat) (%) |
Filtry klasyfikacji PKD
| Parametr | Typ | Opis |
|---|---|---|
pkd_sekcja | String | Sekcja PKD (np. C, G, J) - wielkie litery |
pkd_dzial | String | Dział PKD (np. 62, 47) |
pkd_podklasa | String | Podklasa PKD (np. 62.01.Z) - wielkie litery |
Filtry lokalizacyjne siedziby / tekstowe
| Parametr | Typ | Opis |
|---|---|---|
wojewodztwo | String | Województwo (wielkie litery, bez myślinków, np. MAZOWIECKIE, WARMINSKOMAZURSKIE) |
miasto | String | Miejscowość (wyszukiwanie częściowe) |
adres | String | Ulica (wyszukiwanie częściowe) |
gmina | String | Gmina (wyszukiwanie częściowe) |
powiat | String | Powiat (wyszukiwanie częściowe) |
kod_pocztowy_poczatek | String | Początek kodu pocztowego (np. 00) |
kod_pocztowy_koncowka | String | Końcówka kodu pocztowego (np. 001) |
opis | String | Wyszukiwanie firm bazują na ich opisie, np. opis=erp |
Filtry boolowskie
Akceptowane wartości: "tak"
| Parametr | Typ | Opis |
|---|---|---|
czy_ma_jednostke_terenowa | Boolean | Czy firma ma jednostkę terenową |
czy_ma_jednostke_terenowa_poza_polska | Boolean | Czy firma ma jednostkę poza Polską |
czy_status_opp | Boolean | Czy firma ma status OPP |
czy_wiekszosciowy_udzialowiec | Boolean | Czy firma ma większościowego udziałowca |
nie_wykreslona | Boolean | Tylko firmy aktywne (niewykreślone z KRS) |
cit_estonski | Boolean | Prawdopodobnie CIT estoński |
Przykłady użycia
Firmy z przychodami powyżej 10 mln zł:
https://api.bizraport.pl/api/katalog?email=abc@xyz.pl&password=qwe&przychody_od=10000000
Firmy IT w województwie mazowieckim:
https://api.bizraport.pl/api/katalog?email=abc@xyz.pl&password=qwe&pkd_sekcja=J&wojewodztwo=MAZOWIECKIE
Aktywne firmy z ROE powyżej 15%:
https://api.bizraport.pl/api/katalog?email=abc@xyz.pl&password=qwe&roe_od=15&nie_wykreslona=tak
3. Wyszukiwanie firm (/api/szukaj)
Przegląd
API umożliwia wyszukiwanie firm po nazwie.
Endpoint
https://api.bizraport.pl/api/szukaj?email=abc@xyz.pl&password=qwe&q=abc
Uwierzytelnienie
Wybierz jeden z dwóch sposobów:
- parametry URL
emailipassword— jak w przykładzie wyżej - nagłówek HTTP Basic Auth
Parametry żądania
| Parametr | Typ | Opis |
|---|---|---|
| q | String | Fraza wyszukiwania (nazwa firmy, NIP, KRS, REGON). Musi zawierać słowo o długości co najmniej 3 znaków |
Odpowiedź
Struktura JSON
{
"data": [{ "krs": "0000123456_" }, ...],
"dane_uciete": false
}| Pole | Typ | Opis |
|---|---|---|
| data | Array | Lista obiektów z numerami KRS |
| dane_uciete | Boolean | true jeśli zwrócona lista nie jest kompletna; wyszukiwarka pobiera najwyżej 100 tys. dopasowań |
Lista jest sortowana rosnąco po długości nazwy, a nie po trafności. Wyjątek: przy frazie z cyframi i literami na pierwszym miejscu stoi najlepsze dopasowanie.
Brak dopasowań to status 200 z pustą tablicą data, a nie 404. Endpoint nie ma paginacji.
4. Sprawozdania finansowe (/api/sprawozdania)
Przegląd
Zwraca pełną treść sprawozdań finansowych spółki. To co innego niż dane_finansowe w /api/dane. Tam są gotowe wskaźniki finansowe, tutaj sprawozdanie w takiej postaci, w jakiej spółka je złożyła, pozycja po pozycji.
Endpoint
https://api.bizraport.pl/api/sprawozdania?email=abc@xyz.pl&password=qwe&krs=0000566918
Uwierzytelnienie
Wybierz jeden z dwóch sposobów:
- parametry URL
emailipassword— jak w przykładzie wyżej - nagłówek HTTP Basic Auth
Parametry żądania
| Parametr | Typ | Opis |
|---|---|---|
krs | String | Numer KRS firmy (wymagany jeśli brak nip) |
nip | String | Numer NIP firmy (wymagany jeśli brak krs) |
Odpowiedź
Struktura JSON
{
"data": [{
"krs": "0000566918_",
"okresy": [{
"okres_sprawozdawczy": "01-01-2024_31-12-2024",
"rok": 2024,
"sekcje": [{
"sekcja": "Bilans",
"pozycje": [{
"pozycja_szczegolowa": "Aktywa",
"kod_pozycji": "Aktywa_B_II_A_1",
"poziom_zaglebienia": 5,
"nazwa_pozycji": "– do 12 miesięcy",
"kwota": 114370.32
}]
}]
}]
}]
}Pola odpowiedzi
| Pole | Typ | Opis |
|---|---|---|
| data[] | Array | Zero albo jeden element przy zapytaniu po krs; przy zapytaniu po nip może być kilka |
| data[].krs | String | Numer KRS (10 cyfr + "_") |
| data[].okresy[] | Array | Okresy sprawozdawcze, najnowszy pierwszy |
| okresy[].okres_sprawozdawczy | String | Okres w formacie DD-MM-YYYY_DD-MM-YYYY |
| okresy[].rok | Number | null | Rok okresu. Okresy identyfikuj po okres_sprawozdawczy |
| okresy[].sekcje[] | Array | Sekcje złożone w danym okresie. Sekcji niezłożonej nie ma w tablicy |
| sekcje[].sekcja | String | Bilans, Rachunek zysków i strat, Rachunek przepływów pieniężnych albo Zestawienie zmian w kapitale, zawsze w tej kolejności |
| sekcje[].pozycje[] | Array | Pozycje sekcji w kolejności ze źródła |
| pozycje[].pozycja_szczegolowa | String | null | Aktywa albo Pasywa w Bilansie; Kalkulacyjny albo Porównawczy w Rachunku zysków i strat; null w pozostałych sekcjach |
| pozycje[].kod_pozycji | String | null | Kod pozycji ze schemy sprawozdania, np. Aktywa_B_II_A_1 |
| pozycje[].poziom_zaglebienia | Number | null | Głębokość pozycji w obrębie swojej sekcji |
| pozycje[].nazwa_pozycji | String | null | Nazwa pozycji; przy null użyj kod_pozycji |
| pozycje[].kwota | Number | null | Kwota w złotych; null to pozycja nadrzędna bez własnej kwoty |
Uwagi
Hierarchię odtwarzaj z kolejności wierszy i poziom_zaglebienia: rodzicem jest najbliższy wcześniejszy wiersz o mniejszym poziomie, a wcięcie to poziom_zaglebienia minus 1. Nie buduj jej z kod_pozycji: pozycje dopisane przez spółkę poza wzorem nie mają w nim ścieżki.
Każdy okres to osobne sprawozdanie: spółka może w różnych latach składać je w różnych formach, więc zestaw sekcji, pozycji i etykiet potrafi się różnić. Nie buduj mapy kod_pozycji na nazwę raz dla całej spółki.
Kwoty są w złotych, po przeliczeniu sprawozdań podanych w tysiącach. W części sprawozdań suma aktywów nie równa się sumie pasywów. To stan złożonego dokumentu, nie błąd odczytu.
Brak spółki w zbiorze sprawozdań zwraca puste data: [] ze statusem 200. Takie odpytanie jest bezpłatne.
5. Zużycie danych (/api/zuzycie)
Przegląd
Pozwala sprawdzić liczbę odpytań i koszt netto za wybrany miesiąc, a przy pakiecie albo abonamencie kupionym online - saldo pakietu i bieżący okres rozliczeniowy. Wywołanie /api/zuzycie jest bezpłatne i nie wlicza się do rozliczenia.
Endpoint
https://api.bizraport.pl/api/zuzycie?email=abc@xyz.pl&password=qwe
Uwierzytelnienie
Wybierz jeden z dwóch sposobów:
- parametry URL
emailipassword— jak w przykładzie wyżej - nagłówek HTTP Basic Auth
Parametry żądania
Parametry są opcjonalne. Gdy pominięte, system zwróci dane o zużyciu za bieżący miesiąc.
| Parametr | Typ | Opis |
|---|---|---|
| month | Number | Miesiąc za który sprawdzane zużycie |
| year | Number | Rok za który sprawdzane zużycie |
Odpowiedź
Struktura JSON
{
"miesiac": "2026-07",
"model": "standard",
"zuzycie": {
"/dane": 820,
"/katalog": 45,
"/szukaj": 130,
"/sprawozdania": 210
},
"pula": 1000,
"odpytania_razem": 1205,
"odpytania_w_abonamencie": 1000,
"odpytania_ponad_abonament": 205,
"koszt_abonamentu_pln": 100,
"koszt_ponad_abonament_pln": 18.45,
"koszt_netto_pln": 118.45,
"pakiet": null,
"abonament": null
}| Pole | Typ | Opis |
|---|---|---|
| miesiac | String | Miesiąc (YYYY-MM) |
| zuzycie["<path>"] | Integer | Liczba odpytań, które zwróciły dane, w rozbiciu na endpointy. Zawsze te same cztery klucze |
| pula | Integer | null | Ile odpytań mieści się w abonamencie |
| odpytania_razem | Integer | Suma odpytań ze wszystkich endpointów |
| koszt_netto_pln | Number | null | Łączny koszt netto w PLN |
| model | String | standard, legacy, pakiet, abonament albo konto testowe |
| odpytania_w_abonamencie | Integer | null | Ile z wykonanych odpytań mieści się w puli zawartej w abonamencie |
| odpytania_ponad_abonament | Integer | null | Ile odpytań wykracza ponad pulę; tylko te są dodatkowo płatne |
| koszt_abonamentu_pln | Number | null | Miesięczny abonament netto |
| koszt_ponad_abonament_pln | Number | null | Koszt netto odpytań ponad pulę |
| pakiet | Object | null | Pakiet odpytań kupiony online: odpytania_lacznie, odpytania_zuzyte, odpytania_pozostale, pierwszy_zakup, zamrozony (true, gdy trwa abonament). null, gdy konto nie ma pakietu |
| abonament | Object | null | Abonament kupiony online, bieżący okres: status, okres_od, okres_do, anulowanie_na_koniec_okresu, pula, odpytania_w_okresie, odpytania_w_abonamencie, odpytania_ponad_abonament, koszt_ponad_abonament_pln, nastepne_obciazenie_pln (netto). null, gdy konto go nie ma |
Przy planie kupionym online (model pakiet albo abonament) pola najwyższego poziomu pula, odpytania_w_abonamencie, odpytania_ponad_abonament i koszt_* mają wartość null. Pola model, pakiet i abonament opisują stan w chwili wywołania, niezależnie od parametrów month i year.
Konto testowe
Konto z wartością konto testowe w polu model ma limit 100 bezpłatnych odpytań, liczonych łącznie ze wszystkich endpointów i narastająco od założenia konta - bez resetu na początku miesiąca.
Po wyczerpaniu limitu każdy płatny endpoint zwraca status 402. Klucze pozostają te same.
Uwaga: pola pula i koszt_* dotyczą abonamentu, nie tego limitu - na koncie testowym pula pokaże 1000.
Klucze API
Klucze odbierasz na https://www.bizraport.pl/api - zaloguj się i kliknij raz. Pierwsze 100 odpytań jest bezpłatnych. Tym samym jednym kliknięciem wymieniasz klucze na nowe, bez względu na to, czy zakładasz konto, czy już je masz: e-mail zostaje ten sam, zmienia się hasło.
Poprzednie hasło przestaje działać od razu, więc jeśli masz je wpisane w jakimś narzędziu, wpisz tam nowe.
6. Kody odpowiedzi
| Kod | Znaczenie |
|---|---|
| 200 | Sukces. Brak wyników również jest sukcesem: "data": [] |
| 400 | Coś jest nie tak z żądaniem - brakujący albo nieprawidłowy parametr. Ponowienie bez poprawki nic nie da |
| 401 | Nieprawidłowe albo brakujące dane uwierzytelniające |
| 402 | Wyczerpany limit bezpłatnych odpytań konta testowego. Stan trwały, ponawianie nie pomoże |
| 403 | Żądanie niedostępne dla tego konta. Ponowienie nic nie da |
| 429 | Żądanie odrzucone chwilowo. Ponów po krótkiej przerwie - odstęp podpowiada nagłówek Retry-After |
| 500 | Błąd po naszej stronie. Żądanie można ponowić |
Naliczane jest wyłącznie odpytanie, które zwróciło dane. Każda odpowiedź inna niż 200 jest bezpłatna, tak samo jak odpowiedź 200 z pustą tablicą data.
Odpowiedź inna niż 200 zawiera pole error z opisem po polsku - bez data i bez count. Część odpowiedzi niesie dodatkowo request_id; jeśli piszesz do nas w sprawie konkretnego żądania, podanie go pozwala nam je znaleźć od razu:
{ "error": "Podaj identyfikator spółki: 'krs' (1-10 cyfr) albo 'nip' (10 cyfr)." }Treść komunikatu jest przeznaczona dla człowieka i może się zmieniać. Logikę swojej integracji buduj na kodzie HTTP, nie na treści error.
Wszystkie endpointy przyjmują wyłącznie metodę GET.
7. Wsparcie
W przypadku pytań lub problemów technicznych prosimy o kontakt z zespołem wsparcia.
Kontakt: kontakt@bizraport.pl
Wolisz jeden link do przesłania zespołowi? Ta sama dokumentacja jako dokument do czytania i druku ↗, a dla agenta AI - wersja Markdown ↗, którą pobierze sam jednym żądaniem GET.
Gotowy zacząć?
Wygeneruj darmowe klucze testowe albo od razu kup pełny dostęp.