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 status ≠ found — 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że — timestamps.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 unavailable — nie 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.