Rejestry API to część platformy DebtStrike — sprawdzania kontrahentów i windykacji.Sprawdź firmę bez integracji →

Rejestry API

Jedno API do siedmiu polskich rejestrów publicznych. Jedna koperta odpowiedzi, jedno uwierzytelnianie, jeden sposób obsługi błędów — zamiast siedmiu integracji, siedmiu formatów dat i siedmiu sposobów mówienia „nie wiem”.

Rejestr Co daje Endpoint Stan
KRS odpis aktualny i pełny, reprezentacja, kapitał /v1/krs/{identifier} GA
Biała lista VAT status VAT, rachunki, weryfikacja przelewu /v1/vat/{nip} GA
REGON / GUS tożsamość, adres, PKD (fallback CEIDG) /v1/regon/{identifier} GA
CRBR beneficjenci rzeczywiści /v1/crbr/{nip} GA
BZP zamówienia publiczne (wykonawca i zamawiający) /v1/bzp/{nip} GA
SUDOP pomoc publiczna i de minimis /v1/sudop/{nip} GA
Agregat tożsamość + VAT + KRS jednym zapytaniem /v1/subjects/{identifier} GA

Pierwsze zapytanie w 5 minut

1. Klucz

Klucz wydajemy ręcznie — złóż wniosek w sekcji Uzyskaj dostęp (albo napisz na kontakt@debtstrike.eu). Dostajesz dwa: ds_test_… (piaskownica, nie rusza rejestrów, nie zużywa kwoty) i ds_live_… (dane produkcyjne). Sekret pokazujemy raz — u nas w bazie jest tylko jego skrót.

2. Zapytanie

curl -s https://api.debtstrike.eu/v1/vat/5252344078 \
  -H "Authorization: Bearer ds_live_TWOJ_KLUCZ"

3. Odpowiedź

{
  "apiVersion": "v1",
  "requestId": "01KYFPKKTXD5ENZ1Q69TYC6PDK",
  "status": "found",
  "subject": {
    "nip": "5252344078", "regon": "140182840", "krs": "0000240611",
    "countryCode": "PL", "resolvedVia": "direct"
  },
  "source": {
    "id": "vat", "name": "Wykaz podatników VAT (biała lista)",
    "authority": "Ministerstwo Finansów", "official": true,
    "endpoint": "https://wl-api.mf.gov.pl/api", "availability": "ga"
  },
  "data": {
    "nip": "5252344078",
    "name": "GOOGLE POLAND SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ",
    "statusVat": "Czynny",
    "regon": "140182840",
    "krs": "0000240611",
    "accountNumbers": ["61109000040000000143936780"],
    "registrationLegalDate": "2005-10-06"
  },
  "meta": {
    "cache": { "hit": true, "storedAt": "2026-07-26T16:25:17.000Z",
               "expiresAt": "2026-07-27T16:25:17.000Z" },
    "stale": false,
    "billed": 1,
    "attribution": "Źródło: Wykaz podatników VAT (biała lista) (Ministerstwo Finansów), stan na 2026-07-26, …"
  },
  "timestamps": {
    "requestedAt": "2026-07-26T17:12:19.552Z",
    "sourceFetchedAt": "2026-07-26T16:25:17.000Z",
    "validAsOf": "2026-07-26"
  },
  "warnings": []
}

4. Trzy rzeczy, które warto zrozumieć od razu

Czytaj status, nie kod HTTP

HTTP 200 mówi tylko, że zapytanie zostało obsłużone. O danych mówi status w kopercie. Szczegóły.

Zapisz requestId

Jest w każdej odpowiedzi, także w błędzie. Po nim odtworzymy Twoje zapytanie z audytu — to jedyna rzecz, o którą poprosimy przy reklamacji.

Użyj validAsOf, nie czasu pobrania

Rejestry mają własny stan na dzień. timestamps.validAsOf mówi, na kiedy dane są ważne w rejestrze — a nie kiedy je pobraliśmy.

Publikujesz dane? Weź attribution

Gotowa nota o źródle. Ustawa o otwartych danych wymaga jej przy ponownym wykorzystaniu — składamy ją za Ciebie.

Uwierzytelnianie

Klucz w nagłówku Authorization, schemat Bearer:

Authorization: Bearer ds_live_eH9vE1TxL6IrfAqU9Xh8Ja0U
Cecha Zachowanie
Prefiks ds_live_ — dane z rejestrów · ds_test_ — piaskownica
Przechowywanie W bazie tylko sha256(pieprz + sekret). Zgubionego sekretu nie odzyskamy — wydajemy nowy.
Zakresy Klucz ma listę źródeł. Zapytanie o źródło spoza listy → 403 source_not_in_plan.
Allowlista IP Opcjonalna, per klucz. Spoza listy → 403 ip_not_allowed.
Odwołanie Natychmiastowe, bez restartu usługi. Odwołany klucz → 401 key_revoked.
Rotacja Wydajemy drugi klucz, przepinasz ruch, dopiero potem odwołujemy pierwszy — bez okna niedostępności.

Piaskownica. Klucz ds_test_ zwraca dane przykładowe o tym samym kształcie co produkcja i nigdy nie dotyka rejestrów. Integrację możesz napisać i przetestować, nie zużywając ani jednostki kwoty i nie obciążając limitów rejestru.

Koperta odpowiedzi

Każde źródło odpowiada tą samą strukturą. Zmienia się wyłącznie zawartość data. Dzięki temu obsługę błędów, cache i audytu piszesz raz, a nie siedem razy.

Pole Znaczenie
apiVersion Zawsze "v1" w tej wersji.
requestId ULID zapytania. Do reklamacji i korelacji z Twoimi logami.
status found · not_found · unavailable · forbidden · invalid_input
subject Znormalizowana tożsamość: nip, regon, krs plus resolvedVia — czym dotarliśmy do podmiotu (direct, mf_whitelist, gus_bir).
source Który rejestr odpowiedział, jaki organ go prowadzi, czy jest oficjalny.
data Dane źródła. null zawsze, gdy statusfound — nie ma stanów pośrednich.
meta.cache hit, storedAt, expiresAt.
meta.stale true = rejestr milczał, oddaliśmy ostatnie znane dane. Patrz niżej.
meta.billed Ile jednostek pakietu zdjęła ta odpowiedź: 1 albo 0. Nigdy więcej — patrz Jak liczymy zapytania.
meta.attribution Gotowa nota o źródle (wymóg ustawy o otwartych danych).
timestamps.validAsOf Stan danych w rejestrze — to jest data, którą pokazujesz użytkownikowi.
timestamps.sourceFetchedAt Kiedy my pobraliśmy. Przy trafieniu w cache starsze niż requestedAt.
warnings[] Lista {code, message}. Nie błędy — zastrzeżenia do interpretacji. Czytaj je.

not_found kontra unavailable

To jest miejsce, w którym różnimy się od proxy na rejestry — i jedyna rzecz z tej dokumentacji, którą naprawdę warto przeczytać uważnie.

not_found unavailable
Co się stało Rejestr odpowiedział: nie mam takiego podmiotu Rejestr nie odpowiedział (awaria, timeout, limit)
Co wiesz Fakt. Wiedza negatywna, potwierdzona przez organ Nic. Brak wiedzy
Wolno oprzeć decyzję? Tak Nie — ponów później
HTTP 200 200
data null null albo dane z cache, gdy meta.stale = true

Najczęstszy błąd integracji. Potraktowanie obu przypadków jako „brak danych” i pokazanie użytkownikowi „firma nie istnieje”. Przy unavailable to jest nieprawda — to my nie wiemy. Zwykłe proxy nie robi tego rozróżnienia, bo zwraca pustkę i zostawia Cię z pytaniem, co ona znaczy.

Tryb degradacji

Gdy rejestr milczy, a mamy dane w cache, zwracamy je z meta.stale = true i meta.degraded.reason. To świadoma decyzja: lepiej oddać wczorajszy odpis z etykietą „wczorajszy”, niż nie oddać nic. Nie udajemy jednak, że są świeżetimestamps.sourceFetchedAt mówi prawdę.

Limit rejestru nigdy nie przecieka na Ciebie. Biała lista MF blokuje IP po 100 zapytaniach wyszukujących na dobę. Gdy zbliżamy się do progu, dostajesz stale albo unavailablenie 429. Kod 429 oznacza wyłącznie Twój własny limit.

Jak liczymy zapytania

Jedno zapytanie = jedna jednostka pakietu. Nie ma mnożników: ani za źródło, ani za świeżość, ani za certyfikat. Nie musisz nic przeliczać, żeby wiedzieć, ile Ci zostało — meta.billed w każdej odpowiedzi mówi to wprost.

Zasada, z której wynika cała reszta: płacisz za odpowiedź z rejestru, nie za próbę.

Sytuacja Liczy się Dlaczego
Odpowiedź ok — dane zwrócone 1 Oczywiste.
Odpowiedź not_found 1 To odpowiedź, nie błąd. Kosztowała odpytanie rejestru i ma wartość informacyjną: wiedza negatywna potwierdzona przez organ.
Odpowiedź z cache (bez fresh) 1 Dostałeś wynik. Skąd go wzięliśmy, to nasza sprawa — i nasza oszczędność.
unavailable — rejestr milczy 0 Nie obciążamy za cudzą awarię.
Błąd 5xx po naszej stronie 0 Nie obciążamy za własną awarię.
Błąd 400 — walidacja 0 Integracja musi być tania w nauce.
Błąd 401 / 403 0
Błąd 429 — limit 0 Kara już jest, nie podwajamy jej.
Zapytanie o N źródeł (agregat) N Każde źródło to osobne odpytanie rejestru.
Paczka N podmiotów N Każdy podmiot to osobna odpowiedź, którą dostajesz i na której możesz oprzeć decyzję.
Certyfikat do zapytania 0 Nie jest osobnym zapytaniem — patrz Certyfikaty.
Zapytanie kluczem ds_test_ 0 Klucze testowe nie zużywają pakietu i mają osobny limit dzienny. Patrz niżej.

Klucze testowe (piaskownica)

Klucze testowe nie zużywają pakietu i mają osobny limit dzienny. Klucz ds_test_ zwraca stałe dane z próbki, nie rusza rejestrów i nie zdejmuje ani jednej jednostki — w kopercie zobaczysz "billed": 0. Obowiązuje go za to własny sufit: 500 zapytań na dobę (do północy UTC) i 2 zapytania na sekundę. Stan sufitu niosą nagłówki RateLimit-Sandbox-Limit i RateLimit-Sandbox-Remaining; po jego przekroczeniu dostajesz 429 quota_exceeded.

Cel jest prosty: integracja ma być darmowa w nauce, ale na kluczu testowym nie da się pracować produkcyjnie — dane w piaskownicy są zamrożone i nieprawdziwe.

Sprawdź to sam. Sto zapytań o CRBR z fresh=true i certyfikatem zdejmie z pakietu dokładnie 100, nie 3000. Ta liczba jest pilnowana testem akceptacyjnym, nie deklaracją w cenniku.

Limity i świeżość

Trzy niezależne warstwy. Dwie pierwsze mogą zakończyć się kodem 429. Trzecia — nigdy.

Warstwa Nagłówki Co znaczy wyczerpanie Co robić
Limit chwilowy
token bucket
RateLimit-Limit
RateLimit-Remaining
RateLimit-Reset
Za dużo zapytań na sekundę Poczekaj RateLimit-Reset sekund. Wiadro napełnia się samo.
Pakiet miesięczny RateLimit-Quota-Limit
RateLimit-Quota-Used
RateLimit-Quota-Remaining
RateLimit-Quota-Reset
Pakiet wyczerpany. W planach z nadwyżką API pracuje dalej — do twardego sufitu 3× pakiet, po którym blokuje. Czekanie nie pomoże: pakiet odnawia się w nowym okresie (miesiąc UTC).
Udział świeżych pobrań RateLimit-Fresh-Limit
RateLimit-Fresh-Remaining
X-DS-Freshness
Wyczerpany udział fresh=true w pakiecie Nic. Odpowiedzi lecą dalej, tylko z cache.
RateLimit-Limit: 20
RateLimit-Remaining: 18
RateLimit-Reset: 4
RateLimit-Quota-Limit: 4000
RateLimit-Quota-Used: 1182
RateLimit-Quota-Remaining: 2818
RateLimit-Quota-Reset: 388800
RateLimit-Fresh-Limit: 800
RateLimit-Fresh-Remaining: 611

Twardy sufit nadwyżki

Po przekroczeniu pakietu zapytania idą na nadwyżkę, rozliczaną z dołu — ale nie w nieskończoność. Sufit to 3× pakiet, po nim API blokuje i wysyła alert. Blokada jest celowa: chroni Cię przed rachunkiem bez dna po błędzie w pętli. Ostrzegamy wcześniej — przy 80% i 100% pakietu, potem przy 200% i 300%.

Świeżość: ?fresh=true

fresh=true pomija cache i idzie do rejestru. Nie kosztuje więcej — ma za to własny udział w pakiecie. Po jego wyczerpaniu zapytanie nie jest odrzucane: obsługujemy je z cache i mówimy o tym wprost.

HTTP/1.1 200 OK
X-DS-Freshness: degraded
RateLimit-Fresh-Remaining: 0

{
  "status": "found",
  "meta": { "billed": 1, "cache": { "hit": true } },
  "timestamps": { "validAsOf": "2026-07-26" },
  "warnings": [
    { "code": "fresh_degraded",
      "message": "Wyczerpany udział świeżych pobrań w pakiecie — odpowiedź pochodzi z cache." }
  ]
}

Dlaczego degradujemy, a nie blokujemy. To ograniczenie chroni rejestry publiczne przed przeciążeniem, a nie nasz portfel. Odcięcie Cię od danych byłoby karą wymierzoną nie tam, gdzie jest problem. Dane dostajesz zawsze — timestamps.validAsOf mówi, jak świeże są naprawdę.

Błędy

Błędy transportu i autoryzacji zwracamy w formacie RFC 9457 (application/problem+json). Brak danych w rejestrze nie jest błędem — to 200 z status: not_found.

HTTP/1.1 401 Unauthorized
Content-Type: application/problem+json

{
  "type": "https://api.debtstrike.eu/errors/invalid-key",
  "title": "Nieprawidłowy lub odwołany klucz API",
  "status": 401,
  "code": "invalid_key",
  "detail": "Nieprawidłowy format klucza API.",
  "requestId": "01KYFPM6DWBAY31GYT46C8FNEF"
}
HTTP code Znaczenie
400 invalid_identifier To nie jest NIP, KRS ani REGON.
401 invalid_key Brak nagłówka, zły format lub nieznany klucz.
401 key_revoked Klucz odwołany.
403 ip_not_allowed Adres spoza allowlisty klucza.
403 source_not_in_plan Źródło spoza zakresów klucza.
404 unknown_endpoint Nie ma takiego zasobu.
413 payload_too_large Przekroczony limit pozycji w zapytaniu zbiorczym.
422 index_does_not_cover_date Indeks pliku płaskiego nie obejmuje wskazanego dnia.
429 rate_limited Limit chwilowy — ponów za RateLimit-Reset s.
429 quota_exceeded Wyczerpana kwota miesięczna.
500 internal_error Nasz błąd. Zgłoś z requestId.

Awaria rejestru nigdy nie jest kodem 5xx. Gdy źródło padnie, dostajesz 200 ze status: unavailable albo dane stale. Kod 500 oznacza wyłącznie błąd po naszej stronie i jest zawsze błędem do zgłoszenia.

Wersjonowanie

Wersja siedzi w ścieżce: /v1/…. W obrębie v1 zobowiązujemy się, że:

Zmiana łamiąca kontrakt oznacza /v2 wystawione obok /v1, nie podmianę. Twój parser ma ignorować nieznane pola — to jedyne założenie, o które prosimy.

KRS API

Pełna dokumentacja tego źródła — parametry, przykłady odpowiedzi, limity i semantyka — jest na osobnej stronie: KRS API.

API białej listy VAT

Pełna dokumentacja tego źródła — parametry, przykłady odpowiedzi, limity i semantyka — jest na osobnej stronie: API białej listy VAT.

API REGON / GUS

Pełna dokumentacja tego źródła — parametry, przykłady odpowiedzi, limity i semantyka — jest na osobnej stronie: API REGON / GUS.

CRBR API

Pełna dokumentacja tego źródła — parametry, przykłady odpowiedzi, limity i semantyka — jest na osobnej stronie: CRBR API.

BZP API

Pełna dokumentacja tego źródła — parametry, przykłady odpowiedzi, limity i semantyka — jest na osobnej stronie: BZP API.

SUDOP API

Pełna dokumentacja tego źródła — parametry, przykłady odpowiedzi, limity i semantyka — jest na osobnej stronie: SUDOP API.

Agregat podmiotu

Pełna dokumentacja tego źródła — parametry, przykłady odpowiedzi, limity i semantyka — jest na osobnej stronie: Agregat podmiotu.

Zapytania zbiorcze

Status VAT dla wielu NIP-ów

POST /v1/batch/vat
curl -s https://api.debtstrike.eu/v1/batch/vat \
  -H "Authorization: Bearer ds_live_TWOJ_KLUCZ" \
  -H "Content-Type: application/json" \
  -d '{"nips":["5252344078","7740001454"],"date":"2026-07-26"}'

Maksimum 30 NIP-ów. MF liczy to jako jedno zapytanie i my też — koszt 1 jednostki niezależnie od liczby podmiotów. Powyżej 30 pozycji: 413.

Weryfikacja wielu rachunków

POST /v1/batch/vat/bank-accounts
{
  "pairs": [
    { "nip": "5252344078", "account": "61109000040000000143936780" }
  ],
  "date": "2026-07-26"
}

Maksimum 200 par. Odpowiada wyłącznie z naszego indeksu pliku płaskiego, więc nie zużywa limitów MF — koszt 1 jednostki.

Wynik not_confirmed to nie to samo co „rachunek nie należy”. Oznacza brak potwierdzenia w pliku (np. rachunek wirtualny opisany maską). Po odpowiedź definitywną użyj pojedynczego GET /v1/vat/{nip}/bank-account/{account}, który dopytuje API MF. Ta różnica jest w odpowiedzi powtórzona jako ostrzeżenie.

Rozliczenie paczki. Każde sprawdzenie to jedna jednostka — paczka 50 NIP-ów = 50 zapytań, niezależnie od wyniku sprawdzenia. „Niepotwierdzone" liczy się tak samo jak „potwierdzone", bo jedno i drugie jest odpowiedzią. Zero kosztują wyłącznie pozycje odrzucone na walidacji (invalid_input) — tak samo jak 400 na pojedynczym zapytaniu.

Gdy indeks nie obejmuje wskazanego dnia, dostajesz 422 index_does_not_cover_date zamiast cichego zgadywania. Aktualny dzień indeksu sprawdzisz w katalogu źródeł.

Certyfikaty zapytań

GET /v1/certificates/{id}

Dodaj ?certificate=true do dowolnego zapytania, a zamrozimy odpowiedź i policzymy jej odcisk HMAC. Dostajesz identyfikator, adres i sam odcisk w meta.certificate.

Do czego to służy: dowód, że o tej godzinie rejestr odpowiedział dokładnie tak. Przydaje się w audycie, w sporze z kontrahentem i wszędzie tam, gdzie trzeba wykazać należytą staranność — np. że w dniu przelewu rachunek widniał na białej liście.

Bez dopłaty, w każdym pakiecie. Certyfikat nie jest osobnym zapytaniem i nie zużywa dodatkowej jednostki — to ten sam, już rozliczony fakt z rejestru, tylko zamrożony i podpisany. Liczba certyfikatów jest z natury ograniczona liczbą zapytań w pakiecie, więc nie potrzebuje osobnego limitu.

Certyfikat wystawiamy wyłącznie dla odpowiedzi ze statusem found; przy not_found dostajesz ostrzeżenie certificate_skipped. Wymagany jest zakres certificate przy kluczu.

Jak długo żyją

Certyfikaty są poza retencją, która po 90 dniach czyści cache, a po 400 dniach audyt — w trakcie trwania umowy nie usuwa ich nic. Po jej rozwiązaniu pozostają dostępne do pobrania przez 12 miesięcy, a potem są usuwane. To celowy kompromis: „na zawsze” nie miałoby podstawy prawnej ani końca, a skasowanie ich z dnia na dzień zniszczyłoby dowody, na których klient oparł swój audyt.

Katalog źródeł

GET /v1/sources

Lista źródeł z ich dostępnością, organem prowadzącym, stanem indeksów (m.in. na jaki dzień mamy plik płaski VAT i jaki zakres pokrywa indeks BZP). Pytaj o to zamiast zaszywać stałe w kodzie — dodanie źródła zobaczysz tu pierwszy.

Stan usługi

GET /health bez klucza
GET /health/vat-flat bez klucza

Pierwszy to liveness. Drugi mówi, na jaki dzień mamy indeks pliku płaskiego i ile wpisów zawiera — 503 oznacza brak indeksu, czyli że weryfikacja rachunków idzie przez API MF (wolniej i za budżetem, ale działa).

Kontrakt OpenAPI

GET /v1/openapi.json bez klucza

Pełny kontrakt w OpenAPI 3.1, dostępny bez uwierzytelniania — bo klient ma móc wygenerować sobie SDK, nie pytając nas o nic. Przykłady w kontrakcie pochodzą z prawdziwych odpowiedzi produkcji, nie z wyobraźni.

# klient TypeScript
npx openapi-typescript https://api.debtstrike.eu/v1/openapi.json -o registry-api.d.ts

# klient dowolny (Java, C#, Go, Python…)
openapi-generator-cli generate -i https://api.debtstrike.eu/v1/openapi.json \
  -g java -o ./registry-api-client

Cennik

Ceny netto miesięcznie. Wszystkie źródła są w każdym pakiecie — różnicujemy wolumenem, limitem na sekundę i udziałem świeżych pobrań, nigdy dostępem do danych.

FREE STARTER PRO ENTERPRISE
Cena/mies. netto 0 zł 199 zł 499 zł indywidualnie
Zapytania w pakiecie 250 4 000 15 000 negocjowane
Nadwyżka za zapytanie — (hard stop) 0,08 zł 0,06 zł od 0,05 zł
Źródła wszystkie 7 wszystkie 7 wszystkie 7 wszystkie 7
Limit zapytań/s 2 5 20 negocjowany
Świeże pobrania (fresh) 10% pakietu 20% pakietu 30% pakietu negocjowane
Certyfikaty zapytań ✅ bez dopłaty ✅ bez dopłaty ✅ bez dopłaty ✅ bez dopłaty
Redystrybucja danych ❌ tylko ewaluacja ✅ dozwolona ✅ dozwolona ✅ dozwolona
Cache po stronie klienta ✅ bez ograniczeń ✅ bez ograniczeń ✅ bez ograniczeń
Wsparcie dokumentacja e-mail priorytetowe dedykowane + SLA
White-label ✅ opcja
Rabat roczny (rok z góry) −15% −15% negocjowany

Źródła w każdym pakiecie: KRS, biała lista VAT, REGON/GUS, CEIDG, CRBR, BZP, SUDOP.

Cena roczna z rabatem: Starter 2 030 zł/rok (zamiast 2 388) · Pro 5 090 zł/rok (zamiast 5 988).

Zasady rozliczeń

Pełne brzmienie warunków: regulamin usługi.

Certyfikaty zapytań — bez dopłaty, w granicach pakietu

Każdy pakiet obejmuje certyfikaty z odciskiem HMAC — kryptograficzny dowód, że w danym momencie odpytano rejestr i otrzymano taką odpowiedź. Wartość: audyt, compliance, dowód w sporze.

Certyfikat może zostać wystawiony do każdego rozliczonego zapytania. Nie jest osobno płatny i nie zużywa dodatkowej jednostki. Liczba certyfikatów jest z natury ograniczona liczbą zapytań.

Retencja: certyfikaty są poza standardową retencją (90 dni cache, 400 dni audyt). Po rozwiązaniu umowy pozostają dostępne do pobrania przez 12 miesięcy, potem są usuwane — inaczej baza rośnie bez końca i bez podstawy prawnej.

Świeże pobrania — limit udziałowy, nie mnożnik

fresh=true omija cache i odpytuje rejestr źródłowy. To jedyne miejsce, gdzie klient realnie zużywa cudzy limit.

Ograniczenie chroni rejestry publiczne przed przeciążeniem, nie nasz portfel. Dlatego degradujemy, a nie blokujemy.

Nadwyżka — z dołu, z twardym sufitem

Rabat roczny — −15% za płatność z góry

Płatność za rok z góry obniża cenę pakietu o 15%.

Wszystkie źródła w każdym pakiecie

Różnicujemy wolumenem, limitem na sekundę i udziałem świeżych pobrań — nigdy dostępem do danych. Dzielenie źródeł na pakiety zmusza klienta do kalkulacji i zaciera przekaz.

Redystrybucja — dozwolona od Startera

Klient może udostępniać dane swoim klientom (np. producent ERP w kartotece kontrahenta). FREE jest wyłączone: to pakiet ewaluacyjny.

Piaskownica — darmowa, ale z własnym sufitem

Klucze testowe nie zużywają pakietu i mają osobny limit dzienny. Klucz ds_test_* zwraca zamrożone dane z próbki, nie odpytuje rejestrów i nie zdejmuje jednostek (meta.billed: 0). Obowiązują go własne limity: 500 zapytań na dobę (reset o północy UTC, po przekroczeniu 429 quota_exceeded) i 2 zapytania na sekundę. Stan sufitu w nagłówkach RateLimit-Sandbox-Limit / RateLimit-Sandbox-Remaining.

Integrator ma się uczyć za darmo (tak samo jak darmowe są błędy 400), ale bez sufitu dałoby się na kluczu testowym mieszkać produkcyjnie.

Uzyskaj dostęp

POST /v1/access-requests bez klucza

Klucze wydajemy ręcznie, po rozmowie — ten formularz nie zakłada konta i nie zwraca klucza. Zbieramy z niego dokładnie to, co i tak musielibyśmy dopytać mailem: kto pyta, do czego i w jakiej skali. Dostaniesz parę ds_test_… (piaskownica, darmowa) i ds_live_… (dane produkcyjne).

Składając wniosek, potwierdzasz zapoznanie się z regulaminem usługi i cennikiem. Warunki wiążące ustala umowa zawierana przy wydaniu klucza produkcyjnego.

Wolisz mailem? kontakt@debtstrike.eu — napisz to samo własnymi słowami.

Nie potrzebujesz API? Sprawdź firmę w przeglądarce

Te same rejestry — KRS, biała lista VAT, REGON, CRBR, KRZ — w jednym raporcie o kontrahencie na debtstrike.eu. Bez klucza, bez integracji, pierwsza odpowiedź bez opłat i bez konta.