Przejdź do treści
z-dykty.pl

API z-dykty.pl

Przetargi, umowy, uchwały, budżety gmin i obietnice wyborcze partii – te same dane, które napędzają serwis. Pełna specyfikacja: openapi.json.

Klucz

Klucz wydajesz w panelu firmowym. Pokazujemy go raz – przechowujemy wyłącznie skrót, więc nie odzyskamy go za Ciebie.

curl https://z-dykty.pl/api/v1/przetargi?gmina=1261011 \
  -H "Authorization: Bearer zd_live_..."

Odwołanie klucza zaczyna obowiązywać do minuty – weryfikację buforujemy, żeby nie dokładać zapytania do bazy przy każdym Twoim żądaniu.

Stronicowanie

Kursorowe. Parametru offset nie ma i nie będzie: warstwa danych ucina odpowiedź na 1000 wierszach bez błędu, więc offset gubiłby rekordy w sposób nie do odróżnienia od braku danych w źródle.

Przekaż nastepny_kursor z poprzedniej odpowiedzi jako ?kursor=. Brak kursora w odpowiedzi znaczy koniec zbioru. Domyślnie 100 rekordów na stronę, maksymalnie 500.

Zasoby

GET /api/v1/przetargi

Ogłoszenia i wyniki postępowań z Biuletynu Zamówień Publicznych.

Filtry

  • gmina
  • gminy
  • wojewodztwo
  • nip
  • rodzaj
  • typ
  • od
  • do
  • kwota_min
  • dodane_od
  • fraza

GET /api/v1/umowy

Umowy z Centralnego Rejestru Umów jednostek sektora finansów publicznych.

Filtry

  • gmina
  • gminy
  • wojewodztwo
  • nip
  • od
  • do
  • kwota_min
  • kwota_max
  • zawarta_od
  • zawarta_do
  • dodane_od
  • fraza

GET /api/v1/uchwaly

Akty prawa miejscowego z wojewódzkich dzienników urzędowych (metadane).

Filtry

  • gmina
  • gminy
  • wojewodztwo
  • poziom
  • rodzaj
  • status
  • rok
  • od
  • do
  • dodane_od
  • fraza

GET /api/v1/obietnice

Obietnice wyborcze partii: dosłowny cytat z dokumentu (program, umowa koalicyjna, exposé) + stan śladu legislacyjnego z ostatniego przeglądu. Statusu nie publikuj bez dowodów – te są pod /api/v1/obietnice/przeglad.

Filtry

  • partia
  • partie
  • klub
  • elekcja
  • dziedzina
  • status
  • zrodlo_typ
  • przejrzane_od

GET /api/v1/majatki

Pozycje z oświadczeń majątkowych posłów (nieruchomości, oszczędności, papiery wartościowe, zobowiązania…), pojedynczo. `pewnosc: niska` nie wchodzi do żadnej sumy ani mediany po Twojej stronie – licz ją osobno. Waluty obce nie są przeliczane.

Filtry

  • posel
  • poslowie
  • rok
  • kategoria
  • pewnosc
  • wartosc_min

GET /api/v1/korzysci

Pozycje zgłoszone w Rejestrze Korzyści posłów: funkcje w organach, dodatkowe dochody, darowizny, opłacone wyjazdy. `dotyczy: malzonek` NIGDY nie niesie personaliów – jawny jest podmiot, nie osoba, która mandatu nie sprawuje. `pewnosc: niska` i `odczyt_zgodny: false` to sygnał niepewności odczytu, nie powód do pominięcia pozycji.

Filtry

  • posel
  • poslowie
  • kadencja
  • kategoria
  • dotyczy
  • pewnosc

GET /api/v1/jst

Słownik gmin, powiatów i województw. Wszystkie pozostałe zasoby są kluczowane kodem TERYT, więc zacznij tutaj.

GET /api/v1/obietnice/przeglad

Tygodniowe przeglądy śladu legislacyjnego wraz z dowodami. Status obietnicy bez dowodu jest werdyktem, nie faktem, więc dowody jadą w tej samej odpowiedzi – jeśli publikujesz status, publikuj przy nim odnośniki do dokumentów.

GET /api/v1/finanse/{teryt}

Budżet gminy w podziale na działy i wskaźniki roczne. Dane budżetowe pochodzą ze sprawozdań MF, wskaźniki z BDL – a BDL jest o rok za sprawozdaniami, więc oba zbiory zwracamy osobno, zamiast sugerować porównywalność.

Limity i błędy

  • 401 – klucz nieznany, odwołany albo wygasły.
  • 402 – dostęp organizacji wstrzymany. Osobno od 403, żeby było jasne, że to nie kwestia uprawnień do zasobu.
  • 429 – limit minutowy albo wyczerpany pakiet miesięczny. Nagłówek Retry-After mówi, kiedy spróbować ponownie.

Każdy błąd niesie id_zadania – podaj je w zgłoszeniu, znajdziemy konkretne żądanie w logu.

Webhooki

Zamiast odpytywać API, możesz dostawać zdarzenia. Nagłówek X-ZD-Sygnatura ma postać t=<sekundy>,v1=<hmac>; policz HMAC-SHA256 z ciągu <t>.<surowe ciało>. Znacznik czasu jest częścią podpisu – odrzucaj żądania starsze niż 5 minut.