Rejestry API → BZP API
BZP API
Postępowania, w których podmiot wystąpił jako
wykonawca albo zamawiający. Parametr
limit (domyślnie 50, maksimum 200) ogranicza liczbę
zwróconych ogłoszeń.
{
"status": "found",
"data": {
"summary": { "asContractor": 0, "asOrganization": 2,
"latestPublicationDate": "2026-07-02T07:13:35.000Z" },
"coverage": { "from": "2025-07-26T05:15:20.000Z",
"to": "2026-07-26T08:34:58.000Z",
"noticesIndexed": 545503 },
"notices": [
{
"noticeNumber": "2026/BZP 00318648/01",
"noticeType": "ContractNotice",
"publicationDate": "2026-07-02T07:13:35.000Z",
"role": "organization",
"orderObject": "„Przebudowa wraz z modernizacją Szkoły Podstawowej…”",
"cpvCode": "45000000-7 (Roboty budowlane)",
"organizationName": "Gmina Pyrzyce"
}
]
},
"warnings": [
{ "code": "bzp_coverage",
"message": "Odpowiedź obejmuje ogłoszenia z zakresu 2025-07-26 – 2026-07-26. Poza tym zakresem nie wiemy…" }
]
}
To nasz indeks, nie proxy — i mówimy, co w nim jest.
API Biuletynu nie potrafi wyszukiwać po NIP, nie ma paginacji i ucina
wynik na 500 rekordach, więc zbudowaliśmy własny indeks. Pole
data.coverage podaje zakres, który realnie mamy
zaindeksowany.
Pusta lista nie jest dowodem braku postępowań poza tym
zakresem
— i dlatego ostrzeżenie bzp_coverage jest w każdej
odpowiedzi.
Szukamy po wszystkich znanych identyfikatorach podmiotu (NIP, KRS, REGON), bo zamawiający wpisują je zamiennie w jedno pole — na realnej próbce 19% wykonawców miało tam coś innego niż NIP. Bez tego wyszukiwanie gubiłoby co piątego wykonawcę.
Zanim wyślesz pierwsze zapytanie
Zasady wspólne dla wszystkich źródeł opisuje strona przeglądowa:
uwierzytelnianie kluczem,
koperta odpowiedzi,
różnica między not_found a unavailable, rozliczenie zapytań i
limity. Pełny kontrakt:
/v1/openapi.json.