Cenogram

Formy ochrony przyrody i odległość do lasu - dla konkretnej działki, przez API

Sprawdź, czy działkę obejmuje forma ochrony przyrody i jak daleko ma do najbliższego lasu. Odpowiedź w JSON, po numerze działki ewidencyjnej.

Zobacz dokumentację

Klucz przychodzi mailem, bez karty. Autoryzacja to jeden nagłówek Authorization: Bearer. Poniższe wywołanie możesz uruchomić od razu, bez rejestracji.

GET
Przykładowa odpowiedź - pobrane 2026-09-02. Kliknij „Uruchom", żeby odpytać na żywo.
{
  "parcel": {
    "id": "f541293d-5135-574b-89a3-95034ef85204",
    "parcel_id": "180702_5.0010.24/7",
    "parcel_key": "180702_5.0010.24-7"
  },
  "coverage": "covered",
  "as_of": "2026-08-30T10:51:39.967Z",
  "forest_distance_m": 0,
  "forest_overlap_pct": "0.00",
  "protection_rank": 3,
  "building_restriction": "conditional",
  "protected_overlap_pct": "100.00",
  "protected_forms": [
    "natura2000_bird",
    "protected_landscape"
  ],
  "protected_areas": [
    {
      "form": "natura2000_bird",
      "name": "Beskid Niski",
      "overlap_pct": 100
    },
    {
      "form": "protected_landscape",
      "name": "Obszar Chronionego Krajobrazu Beskidu Niskiego",
      "overlap_pct": 100
    }
  ],
  "note": "protected_forms/protection_rank reflect nature-protection areas overlapping the parcel; forest_distance_m is the nearest forest within 2 km (0 = the parcel overlaps forest). An empty result is never a statement that building is allowed — this layer does not cover local zoning plans, planning-permission decisions or areas under designation. A buffer zone (\"otulina\") around a park or reserve IS reported, as form 'buffer_zone' at protection_rank 6 — it is a surrounding belt, not a protection form, so it never carries the statutory build ban of the area it surrounds. building_restriction = 'statutory_ban' describes the legal regime of the area (a build ban that follows directly from the Nature Protection Act for national parks and reserves), not the outcome of any specific case. Forest coverage is mainly publicly-managed land, so private forests may be incomplete."
}
Źródło
Bank Danych o Lasach i Centralny Rejestr Form Ochrony Przyrody
Zakres
cały kraj; lasy w zarządzie publicznym, prywatne bywają niepełne
Klucz zapytania
bieżący numer działki ewidencyjnej
Odpowiedź
JSON, 4 tokeny za wywołanie

Zapytaj bieżącym numerem działki ewidencyjnej, a dostaniesz w JSON formy ochrony przyrody obejmujące działkę, nazwy tych obszarów i odległość do najbliższego lasu. Pusta odpowiedź nie mówi, że na działce wolno budować: ta warstwa nie obejmuje planów miejscowych, decyzji o warunkach zabudowy ani obszarów w trakcie ustanawiania.

Pola odpowiedzi

Tabela wyjaśnia każde pole z przykładowej odpowiedzi wyżej.

parcel object tożsamość działki, której dotyczy odpowiedź: id, parcel_id i parcel_key. Przy zapytaniu numerem ewidencyjnym wraca zawsze; przy zapytaniu UUID-em tylko dla kluczy API, OAuth oraz kont płatnych i próbnych
coverage string cztery stany odpowiedzi. covered znaczy, że działka ma las w zasięgu albo obejmuje ją forma ochrony. covered_no_data znaczy, że sprawdziliśmy obrys i nie znaleźliśmy ani jednego, ani drugiego. not_covered mówi, że działki albo jej obrysu nie mamy, albo nie mamy jeszcze danych przyrodniczych, a not_computed, że odpowiedzi nie udało się teraz policzyć i warto ponowić za chwilę
as_of datetime | null z kiedy pochodzi nasz wynik dla tej działki. To nie jest data wytworzenia danych u wydawcy - las wychodzi w edycji rocznej, a rejestr form ochrony jest prowadzony na bieżąco. Poza stanem covered wraca null, bo nie ma czego datować
forest_distance_m number | null odległość do najbliższego lasu w metrach, liczona do 2 km. 0 znaczy, że obrys działki styka się z lasem albo w niego wchodzi. Powyżej 2 km wraca null - ale przeczytaj najpierw coverage: puste pole mówi „dalej niż dwa kilometry” tylko przy covered i covered_no_data. Przy not_covered i not_computed znaczy, że sprawdzenie w ogóle się nie odbyło
forest_overlap_pct string | null jaki procent powierzchni działki zajmuje las, z dwoma miejscami po przecinku (w JSON jako tekst). Wypełniamy je tylko przy forest_distance_m równym 0, czyli gdy obrys faktycznie dotyka lasu. Przy not_covered i not_computed puste jest zawsze, bo nic nie liczyliśmy - i tak samo puste zostaje przy działce, którą obejmuje tylko forma ochrony
protection_rank number | null ranga najostrzejszej formy ochrony obejmującej działkę: 1 park narodowy, 2 rezerwat, 3 obszar Natura 2000, 4 park krajobrazowy, 5 obszar chronionego krajobrazu, 6 pozostałe reżimy i otulina. Ta skala jest nasza, nie pochodzi ze źródła
building_restriction string | null statutory_ban przy randze 1 i 2, czyli tam, gdzie zakaz budowy wynika wprost z ustawy o ochronie przyrody. conditional przy pozostałych rangach - ograniczenia zależą wtedy od aktu powołującego obszar. Pole opisuje reżim prawny obszaru, nie rozstrzygnięcie w konkretnej sprawie
protected_overlap_pct string | null jaki procent powierzchni działki obejmują formy ochrony razem wzięte, po zsumowaniu ich przecięć. Formy potrafią się nakładać, więc dodawanie procentów z poszczególnych obszarów da liczbę większą od tej
protected_forms array | null wszystkie formy ochrony obejmujące działkę, od najostrzejszej. Wartości to national_park, nature_reserve, natura2000_bird, natura2000_habitat, landscape_park, protected_landscape, buffer_zone i pozostałe reżimy
protected_areas array nazwane obszary chronione dopasowane do działki, od najostrzejszego. Lista jest przycięta do pięciu pozycji, a odpowiedź nie niesie flagi, która by o tym mówiła. Gdy nic nie znaleziono, wraca pusta tablica, nigdy null
protected_areas[].form string forma ochrony tego jednego obszaru, z tej samej listy co protected_forms
protected_areas[].name string | null urzędowa nazwa obszaru. Bywa pusta - część rejestrów prowadzi całe warstwy bez nazw własnych, więc puste pole nie znaczy, że obszaru nie ma
protected_areas[].overlap_pct number | null udział powierzchni działki, który obejmuje ten jeden obszar. Wraca liczbą, inaczej niż protected_overlap_pct i forest_overlap_pct, które wracają tekstem
note string zastrzeżenie o zakresie odpowiedzi, dołączane do każdej z nich. Po angielsku, bo jest częścią kontraktu publicznego API i mają je wszyscy klienci

Jak czytać odpowiedź

Miejsca, w których tę odpowiedź łatwo przeczytać źle.

Pusta odpowiedź nie jest zgodą na budowę

Ta warstwa mówi o formach ochrony przyrody i o lasach, i o niczym więcej. Nie ma w niej planów miejscowych, decyzji o warunkach zabudowy ani obszarów, których ustanawianie właśnie trwa. Zanim wyciągniesz wniosek z pustej odpowiedzi, przeczytaj coverage: tylko covered_no_data mówi o samej działce. not_covered znaczy, że nie mamy działki, jej obrysu albo danych przyrodniczych, a not_computed, że odpowiedzi nie dało się teraz policzyć. Formy ochrony obejmujemy w całym kraju, więc pusty wynik o ochronie waży więcej niż pusty wynik o lesie.

Odległość do lasu i udział lasu odpowiadają na dwa różne pytania

Weź działkę z przykładu wyżej. forest_distance_m wynosi 0, więc obrys działki dotyka lasu, a forest_overlap_pct to 0.00, bo lasu jest na niej tyle, że po zaokrągleniu do dwóch miejsc zostaje zero. To 72 hektary gruntu rolnego, który dotyka lasu skrajem. Odległość odpowiada na pytanie „czy jest blisko”, udział na pytanie „ile go tu jest”, i tylko drugie z nich mówi coś o charakterze działki. Udział wypełniamy zresztą tylko przy realnym wejściu w las, więc puste pole zawsze idzie w parze z odległością większą od zera.

Numer rangi sam z siebie nie mówi, co wolno

Zakaz budowy wynikający wprost z ustawy o ochronie przyrody dotyczy parków narodowych i rezerwatów, czyli rang 1 i 2. Przy randze 3, którą ma obszar Natura 2000, i przy dalszych building_restriction wraca jako conditional: ograniczenia są, ale ich treść wynika z aktu powołującego dany obszar. Osobno warto znać otulinę - raportujemy ją przy randze 6 jako buffer_zone. Otulina to pas otaczający park albo rezerwat i nie przenosi na siebie zakazu obszaru, który otacza.

Lasy prywatne bywają w zbiorze niepełne

Ta luka nie idzie po mapie, tylko po własności. Zbiór opisuje przede wszystkim lasy w zarządzie publicznym, więc działka sąsiadująca z lasem prywatnym potrafi dostać większą odległość niż ta, którą zmierzyłbyś w terenie. Przy działkach w rejonach z rozdrobnioną własnością leśną czytaj forest_distance_m jako granicę od góry, nie jako pomiar. Przy formach ochrony ten problem nie występuje - rejestr obejmuje je niezależnie od tego, czyj jest grunt.

Lista nazwanych obszarów kończy się na pięciu

protected_areas zwraca najwyżej pięć pozycji, od najostrzejszej formy, a odpowiedź dla działki nie ma pola, które sygnalizowałoby przycięcie. Przy działce objętej kilkoma reżimami naraz protected_forms i protected_overlap_pct opisują więc całość, a lista nazw może opisywać jej część. Zwróć uwagę, że trasa transakcyjna zachowuje się inaczej: tam truncated jest, ale dotyczy liczby działek w transakcji, nie długości tej listy.

Cennik

Jedno wywołanie tego endpointu kosztuje 4 tokeny. Tokeny wracają, gdy działki nie mamy w zbiorze, gdy nie znamy jej obrysu, gdy odpowiedzi nie da się teraz policzyć oraz przy odpowiedziach 400 i 404. Potwierdzony brak lasu w zasięgu i brak formy ochrony na znanej działce jest płatny.

Free

Na próbę

0 zł

400 tokenów na start, potem 50 tygodniowo

to 100 wywołań tego endpointu

  • -Wszystkie endpointy
  • -Serwer MCP
  • -Bez karty
Najpopularniejszy

Standard

Dla rzeczoznawców

49 zł netto/miesiąc

60,27 zł brutto

2 000 tokenów / mies.

to 500 wywołań tego endpointu

  • -Wszystko z Free
  • -2 000 tokenów API + MCP
  • -Pełny dostęp do wyszukiwarki

Professional

Dla programistów i mniejszych zespołów

99 zł netto/miesiąc

121,77 zł brutto

5 000 tokenów / mies.

to 1250 wywołań tego endpointu

  • -Wszystko ze Standard
  • -5 000 tokenów API + MCP
  • -Pełny dostęp do wyszukiwarki

Advanced

Dla firm wycenowych i deweloperów

299 zł netto/miesiąc

367,77 zł brutto

25 000 tokenów / mies.

to 6250 wywołań tego endpointu

  • -Wszystko z Professional
  • -Redystrybucja: dane w Twoim produkcie lub usłudze (z atrybucją Cenogram)
  • -Wsparcie e-mail: odpowiedź w 24 h

Business

Dla proptech i większych zespołów

1499 zł netto/miesiąc

1843,77 zł brutto

200 000 tokenów / mies.

to 50 000 wywołań tego endpointu

  • -Wszystko z Advanced
  • -White-label: atrybucja nie jest wymagana
  • -Wsparcie e-mail: odpowiedź w 8 h

Przejście na wyższy plan zastępuje obecną subskrypcję, a rozliczenie rusza od nowa

Ceny netto, +23% VAT · Faktura VAT na żądanie · Bez umów · Free bez karty
Visa Mastercard BLIK Apple Pay Google Pay

Częste pytania

Nie, to API Cenogramu. Bank Danych o Lasach i Centralny Rejestr Form Ochrony Przyrody są dostępne u swoich wydawców, razem z przeglądarkami na mapie. My łączymy obie warstwy w jedną odpowiedź pod bieżącym numerem działki, obok pozostałych danych urzędowych, więc nie musisz sam wczytywać ani odświeżać tych zbiorów.

Nie i to jest najważniejsze zastrzeżenie tej warstwy. covered_no_data mówi tylko tyle, że żadna forma ochrony nie obejmuje obrysu działki i że nie ma lasu w zasięgu dwóch kilometrów. O tym, co wolno postawić, rozstrzyga plan miejscowy albo decyzja o warunkach zabudowy, a tych w naszym zbiorze nie ma. Nie ma w nim także obszarów, dla których procedura ustanawiania właśnie trwa.

statutory_ban wraca dla parków narodowych i rezerwatów, gdzie zakaz budowy wynika wprost z ustawy o ochronie przyrody. conditional wraca dla pozostałych form, gdzie ograniczenia istnieją, ale ich treść zależy od aktu powołującego dany obszar. Oba opisują reżim prawny obszaru, a nie wynik postępowania w konkretnej sprawie - ten zależy też od planu miejscowego i od uzgodnień z organem ochrony przyrody.

Nie. Zwracamy formę, urzędową nazwę obszaru i udział powierzchni działki, który ten obszar obejmuje. Geometrii granic nie wystawiamy na żadnym planie taryfowym. Do pracy z granicami sięgnij po dane u wydawcy rejestru.

4 tokeny. Tokeny wracają, gdy działki nie ma w naszym zbiorze albo nie znamy jej obrysu (not_covered), gdy nie mamy jeszcze danych przyrodniczych do porównania (też not_covered), gdy odpowiedzi nie dało się teraz policzyć (not_computed) oraz przy odpowiedziach 400 i 404. Potwierdzony brak lasu i formy ochrony na znanej działce (covered_no_data) jest płatny, bo sprawdzenie obrysu wobec wszystkich obszarów kosztuje tyle samo co znalezienie trafienia.

W Claude na numer działki odpowiada narzędzie get_parcel_report. Zwraca jeden raport o działce, w którym sekcja przyrodnicza idzie razem z pozostałymi danymi urzędowymi, i kosztuje 45 tokenów. Na numer transakcji odpowiada narzędzie get_transaction_layer z parametrem layer=nature. Jak podłączyć serwer MCP.

Warstwa powstaje z dwóch rejestrów publicznych. Wydzielenia leśne pochodzą z Banku Danych o Lasach, który prowadzi Biuro Urządzania Lasu i Geodezji Leśnej wraz z Państwowym Gospodarstwem Leśnym Lasy Państwowe, i są wydawane w edycji rocznej. Formy ochrony przyrody pochodzą z Centralnego Rejestru Form Ochrony Przyrody, prowadzonego na bieżąco przez Generalną Dyrekcję Ochrony Środowiska. Oba zbiory są udostępniane nieodpłatnie jako informacja sektora publicznego, a warunki ponownego wykorzystywania wymagają podania źródła razem z czasem wytworzenia i pozyskania danych. Nasza kopia lasu pochodzi z edycji rocznej 2026, a kopię rejestru form ochrony pozyskaliśmy w sierpniu 2026. Las odświeżamy raz w roku, formy ochrony co kwartał, i każde odświeżenie bierze wersję, którą wydawca udostępnia tego dnia. Dane zmodyfikowaliśmy: powiązaliśmy je z działkami ewidencyjnymi, a opis każdego obszaru ograniczyliśmy do formy, nazwy i udziału powierzchni. Pole as_of datuje naszą kopię, nie moment powstania danych u wydawcy. Odpowiedź ma charakter poglądowy i nie zastępuje uzgodnienia z organem ochrony przyrody. Warunki korzystania z naszego API: regulamin.