Integracje API

Dokumentacja API bazy.biz

API bazy.biz pozwala zintegrować monitoring nowych firm z CEIDG i KRS z Twoim CRM-em, arkuszem lub własną automatyzacją. Wszystkie endpointy zwracają JSON i działają na tych samych danych, które widzisz w panelu.

Base URL https://bazy.biz

Autoryzacja

API używa kluczy Bearer. Klucz wygenerujesz w panelu użytkownika w zakładce Klucze API i przekazujesz go w nagłówku każdego zapytania:

Authorization: Bearer {twoj-klucz-api} Accept: application/json

Klucz wyświetlany jest tylko raz, przy utworzeniu. W każdej chwili możesz go odwołać w panelu. Bez aktywnego planu z monitoringiem endpoint wyszukiwania działa w trybie podglądu (pierwsze rekordy + zablokowane wiersze).

GET /api/v1/me

Sprawdza poprawność klucza - zwraca dane konta i informację o dostępie do monitoringu.

curl https://bazy.biz/api/v1/me \ -H "Authorization: Bearer {twoj-klucz-api}"

Monitoring nowych firm

Wyszukiwanie firm zarejestrowanych w CEIDG i KRS - z filtrami po PKD, lokalizacji, statusie, danych kontaktowych i datach rejestracji. Dane odświeżane są cyklicznie z rejestrów publicznych.

POST /api/v1/monitoring/search

Wyszukuje firmy według podanych filtrów. Wszystkie parametry są opcjonalne - bez filtrów zwraca najnowsze wpisy.

ParametrTypOpis
imiestringImię właściciela - dopasowanie częściowe, ignoruje polskie znaki (Łódź = lodz).
nazwiskostringNazwisko właściciela - dopasowanie częściowe.
nipstringNIP - dopasowanie częściowe, myślniki i spacje są ignorowane.
regonstringREGON - dopasowanie częściowe.
krsstringNumer KRS - dopasowanie dokładne.
rejestr[]string[]Rejestr źródłowy: CEIDG lub KRS.
status[]string[]Status działalności: aktywny, zawieszony, wykreslony, oczekuje_na_rozpoczecie_dzialanosci, wylacznie_w_formie_spolki.
wojewodztwo[]string[]Województwa (multi-select, bez rozróżniania wielkości liter i diakrytyków).
powiat[]string[]Powiaty - lista wartości dokładnych lub pojedynczy string (dopasowanie częściowe).
gminastringGmina - dopasowanie częściowe.
miastostringMiasto lub lista miast po przecinku, np. Warszawa, Kraków.
wyklucz_miastastringMiasta do wykluczenia z wyników (lista po przecinku).
kodstringKod pocztowy - dopasowanie częściowe, np. 00-.
pkd_include[]string[]Kody PKD w klasyfikacji PKD 2025, bez kropek, np. 4100A, 6910Z. Zob. też pkd_search_type.
pkd_search_typestringglowny (domyślnie - tylko PKD główne) lub all (wszystkie kody PKD firmy).
contact_filterstringhas_email, has_phone, has_both, has_any, no_email, no_phone.
start_date_from / start_date_todateZakres daty rozpoczęcia działalności (YYYY-MM-DD).
reg_date_from / reg_date_todateZakres daty pojawienia się firmy w monitoringu (YYYY-MM-DD).
only_new_firmsboolTylko nowo zarejestrowane, aktywne firmy (bez zawieszonych i wykreślonych).
exclude_previously_foundboolPomiń firmy oznaczone wcześniej jako znalezione (deduplikacja między wyszukiwaniami).
pageintNumer strony wyników (od 1).
limitintLiczba wyników na stronę (domyślnie 20, maks. 2000).
sort_by / sort_dirstringSortowanie wyników, np. data_rozpoczecia + desc.

Przykład - nowe, aktywne firmy budowlane z Mazowsza z adresem e-mail:

curl -X POST https://bazy.biz/api/v1/monitoring/search \ -H "Authorization: Bearer {twoj-klucz-api}" \ -H "Accept: application/json" \ -d "pkd_include[]=4100A" \ -d "wojewodztwo[]=mazowieckie" \ -d "contact_filter=has_email" \ -d "only_new_firms=1" \ -d "reg_date_from=2026-06-01" \ -d "limit=50"

Odpowiedź (skrócona):

{ "success": true, "total": 1284, "page": 1, "data": [ { "nazwa": "Przykładowa Firma Budowlana", "wlasciciel_nip": "5251234567", "wlasciciel_regon": "146123456", "status": "AKTYWNY", "dataRozpoczecia": "2026-06-14", "adresDzialalnosci_miasto": "Warszawa", "adresDzialalnosci_wojewodztwo": "mazowieckie", "telefon": "+48500100200", "email": "biuro@przyklad.pl", "pkdGlowny": "4120Z", "pkdGlownyNazwa": "Roboty budowlane związane ze wznoszeniem budynków" } ] }

Znalezione firmy

Lista firm oznaczonych jako „znalezione" - służy do deduplikacji wyników między kolejnymi wyszukiwaniami (parametr exclude_previously_found).

GET /api/v1/monitoring/found

Zwraca liczbę i 10 ostatnich znalezionych firm (nip, found_at).

POST /api/v1/monitoring/found/clear

Czyści całą listę znalezionych firm.

DELETE /api/v1/monitoring/found/{nip}

Usuwa pojedynczą firmę z listy znalezionych.

Szablony wyszukiwań

Zapisane zestawy filtrów - te same, które tworzysz w panelu monitoringu. Przydatne, gdy cyklicznie odpytujesz API o ten sam segment firm.

GET /api/v1/monitoring/templates

Lista szablonów użytkownika.

POST /api/v1/monitoring/templates

Tworzy szablon - name + obiekt filters (parametry jak w /search).

PATCH /api/v1/monitoring/templates/{id}

Aktualizuje nazwę lub filtry szablonu.

DELETE /api/v1/monitoring/templates/{id}

Usuwa szablon.

Wyszukiwarka firm (GUS)

Wyszukiwanie pojedynczych firm w rejestrach GUS po NIP, REGON, KRS lub nazwie - dostępne w serwisie pod adresem /szukaj-firmy. Odkrycie danych kontaktowych firmy kosztuje 1 token z Twojego pakietu. Wersja API tego modułu jest udostępniana na życzenie - napisz na biuro@bazy.biz.

Przykłady: PHP i Python

Minimalne integracje - pobranie nowych firm z ostatniego tygodnia dla wybranego PKD.

PHP (Guzzle lub czysty cURL):

<?php $ch = curl_init('https://bazy.biz/api/v1/monitoring/search'); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => [ 'Authorization: Bearer ' . getenv('BAZYBIZ_API_KEY'), 'Accept: application/json', ], CURLOPT_POSTFIELDS => http_build_query([ 'pkd_include' => ['4321Z'], 'contact_filter' => 'has_email', 'reg_date_from' => date('Y-m-d', strtotime('-7 days')), 'limit' => 100, ]), ]); $firms = json_decode(curl_exec($ch), true); echo "Nowych firm: " . $firms['total'] . PHP_EOL;

Python (requests):

import os, requests from datetime import date, timedelta resp = requests.post( "https://bazy.biz/api/v1/monitoring/search", headers={ "Authorization": f"Bearer {os.environ['BAZYBIZ_API_KEY']}", "Accept": "application/json", }, data={ "pkd_include[]": "4321Z", "contact_filter": "has_email", "reg_date_from": (date.today() - timedelta(days=7)).isoformat(), "limit": 100, }, ) firms = resp.json() print(f"Nowych firm: {firms['total']}")

Specyfikacja OpenAPI

Pełna, maszynowo-czytelna specyfikacja API w formacie OpenAPI 3.0 - do importu w Postmanie, Insomni, Swagger UI lub generatorach klientów.

Pobierz openapi.yaml curl -O https://www.bazy.biz/openapi.yaml

Limity i dobre praktyki

  • Limit zapytań: 60 wywołań na minutę na klucz - po przekroczeniu API zwraca 429 Too Many Requests.
  • Maksymalnie 2000 wyników na stronę (limit); użyj page do paginacji.
  • Do cyklicznego pobierania nowych firm używaj reg_date_from zamiast pobierania całości.
  • Oznaczaj przetworzone firmy jako znalezione i filtruj przez exclude_previously_found - unikniesz duplikatów.
  • Zachowaj rozsądną częstotliwość zapytań (rekomendujemy odstępy min. kilku sekund między kolejnymi wywołaniami).
  • NIP, REGON i KRS traktuj zawsze jako tekst - numery mogą zaczynać się od zera.
Potrzebujesz pomocy z integracją?
Pomożemy dobrać filtry, skonfigurować automatyzację lub przygotować dedykowany eksport.
Skontaktuj się z nami