{"generated_at":"2026-09-20T15:54:52.837126+02:00","observation_mode":"snapshot","data_as_of_basis":"latest_source_change","data_as_of":"2026-09-20T15:54:51.372053+02:00","total_offers":148990,"price_sample":{"scope":"price_analysis_band","min_price":500,"max_price":15000},"definition":{"status":"known","version":"2026-09-18.1","sha256":"c46587440ba7c7e77b1c83327cf5dff01cb613d98c8e6e226d4d13f8d80301d2","content":{"active_offer":"Aktywna oferta to ogłoszenie najmu, które nadal spełnia warunki widoczności publicznej: ma flagę is_active=True, nie ma daty dezaktywacji (deactivated_at IS NULL), dotyczy najmu, ma co najmniej jedno zdjęcie i wiarygodną cenę miesięczną. Odrzucamy duplikaty, sprzedaż, podejrzane ceny, oszustwa, błędne przypisanie do miasta oraz rekordy spoza podaży: ogłoszenia popytowe, lokale niemieszkalne (biura, garaże), hostele, kwatery pracownicze i prywatne akademiki. Bieżący licznik aktywnych ofert, mediany cen i widoki aktualnej podaży korzystają z pełnego filtra. Historyczne szeregi napływu i archiwum zachowują także później wygasłe ogłoszenia; wykluczają ceny oznaczone jako podejrzane i rozpoznane lokale niemieszkalne, ale nie stosują wstecz wszystkich dzisiejszych kryteriów widoczności. Gdy źródło przestaje pokazywać ogłoszenie, właściciel je zamyka albo kolejny skan potwierdza brak oferty, wpis jest dezaktywowany i przestaje wpływać na statystyki aktywnego rynku. Aktywność nie jest jednak gwarancją, że właściciel odpowie, że cena nie zmieni się po kontakcie albo że portal nie usunie ogłoszenia chwilę później. To definicja liczenia danych, a nie obietnica dostępności konkretnego lokalu. Oferta wygasła może pozostać widoczna historycznie, ale nie zwiększa już aktywnej podaży.","report_statistics":"Raport cen jest odczytem próby aktywnych publicznych ofert najmu w chwili generowania, po wykluczeniu rozpoznanych duplikatów i z zakresem czynszu wskazanym w raporcie (obecnie 500–15 000 zł). Nie jest losową próbą całego rynku. Mediana miasta dotyczy cen jego ofert. Krajowa średnia median miejskich to suma median miast pomnożonych przez liczbę ofert miasta, podzielona przez sumę tych liczebności; nie jest medianą wszystkich ofert. Krajowa cena za m² to nieważona średnia miejskich średnich: każde uwzględnione miasto ma taką samą wagę. W mieście liczymy średnią z ilorazów czynszu i dodatniej powierzchni; oferty bez powierzchni nie wchodzą do tego wskaźnika, ale mogą wchodzić do liczebności i mediany. Wskaźniki miast publikujemy od 10 ofert. Miesiąc archiwum jest etykietą zapisanego odczytu, nie pełnym okresem obserwacji ani średnią miesięczną. Data generowania oznacza zapis próby, a najnowsza zmiana źródłowa nie potwierdza świeżości wszystkich ofert.","active_source":"Liczba źródeł oznacza liczbę źródeł ogłoszeniowych, które są włączone w produkcyjnym monitoringu i mogą zasilać publiczne dane Znajdź Najem. Liczymy portale i nazwane kanały źródłowe, a nie zadania techniczne, subdomenę, miasto ani typ zapytania. OLX to jedno źródło, Otodom to jedno źródło, Gratka, Morizon, KRN, Adresowo i Nieruchomości-Online liczą się osobno, a Facebook Groups i Facebook Marketplace liczymy jako dwa kanały tej samej platformy. Taka definicja zapobiega zawyżaniu trust-bara przez równoległe zadania, retry albo osobne kolejki dla tego samego portalu. Portal może być wliczony do zestawu źródeł nawet wtedy, gdy w danym mieście chwilowo nie zwrócił nowych ofert; odrębne raporty operacyjne pokazują ostatni scrape, błędy i liczbę pobranych ogłoszeń. Dla użytkownika ta liczba mówi, ile niezależnych miejsc rynku monitorujemy, a nie ile ogłoszeń pochodzi z każdego z nich. Nazwy źródeł są normalizowane, żeby ten sam portal nie występował pod kilkoma technicznymi etykietami.","new_last_7_days":"Nowa oferta w ostatnich 7 dniach to ogłoszenie, którego pierwsze pojawienie się w naszym systemie mieści się w rolującym oknie siedmiu dób liczonym od momentu generowania statystyki. Technicznie używamy daty pierwszego skanu (first_seen_at), a nie daty deklarowanej przez portal. Etykiety „Nowa oferta 7d” oraz „+X w ostatnich 7 dniach” odnoszą się do tego okna; populację bieżącą lub historyczną wskazuje dany widok. Jeśli ogłoszenie było widziane wcześniej, a potem zostało wznowione albo zmieniło cenę, nie staje się automatycznie nową ofertą; traktujemy je jako aktualizację istniejącego wpisu, o ile deduplikacja rozpozna ten sam lokal. Bieżący licznik świeżej podaży obejmuje wyłącznie oferty nadal przechodzące pełny filtr publiczny. Wykresy historycznego napływu i prędkości zachowują również oferty, które później wygasły; wykluczają ceny oznaczone jako podejrzane i rekordy spoza podaży mieszkaniowej, lecz nie stosują wszystkich filtrów bieżącego widoku. Dlatego wariant bieżący i historyczny mogą mieć różne wartości. Strony /nowe-oferty pokazują węższe okno ostatnich 48 godzin od pierwszego wykrycia; przy braku wyników mogą pokazać osobno oznaczoną listę z 7 dni.","price_sample":{"scope":"price_analysis_band","min_price":500,"max_price":15000},"offer_types":"All public rental housing types, including rooms and studios.","deduplication":"Recognized duplicates are excluded; undetected duplicates may remain."}},"cities":[{"city_slug":"warszawa","total_offers":36838,"avg_price":3612,"median_price":3200,"avg_price_per_m2":85,"avg_area":48},{"city_slug":"krakow","total_offers":21451,"avg_price":2707,"median_price":2600,"avg_price_per_m2":69,"avg_area":45},{"city_slug":"wroclaw","total_offers":17248,"avg_price":2634,"median_price":2600,"avg_price_per_m2":69,"avg_area":44},{"city_slug":"poznan","total_offers":11097,"avg_price":2186,"median_price":2200,"avg_price_per_m2":61,"avg_area":42},{"city_slug":"gdansk","total_offers":8869,"avg_price":2776,"median_price":2700,"avg_price_per_m2":72,"avg_area":44},{"city_slug":"lodz","total_offers":7036,"avg_price":1964,"median_price":1900,"avg_price_per_m2":54,"avg_area":41},{"city_slug":"lublin","total_offers":5605,"avg_price":1889,"median_price":1900,"avg_price_per_m2":57,"avg_area":43},{"city_slug":"katowice","total_offers":4976,"avg_price":2047,"median_price":1900,"avg_price_per_m2":54,"avg_area":44},{"city_slug":"szczecin","total_offers":3927,"avg_price":2344,"median_price":2300,"avg_price_per_m2":62,"avg_area":44},{"city_slug":"rzeszow","total_offers":3836,"avg_price":1952,"median_price":2000,"avg_price_per_m2":53,"avg_area":46},{"city_slug":"bydgoszcz","total_offers":3155,"avg_price":1986,"median_price":1950,"avg_price_per_m2":54,"avg_area":42},{"city_slug":"bialystok","total_offers":2801,"avg_price":1768,"median_price":1800,"avg_price_per_m2":49,"avg_area":43},{"city_slug":"gdynia","total_offers":2519,"avg_price":2611,"median_price":2500,"avg_price_per_m2":66,"avg_area":46},{"city_slug":"torun","total_offers":2157,"avg_price":1717,"median_price":1700,"avg_price_per_m2":51,"avg_area":41},{"city_slug":"olsztyn","total_offers":2111,"avg_price":1924,"median_price":1950,"avg_price_per_m2":56,"avg_area":42},{"city_slug":"kielce","total_offers":1865,"avg_price":1737,"median_price":1650,"avg_price_per_m2":47,"avg_area":42},{"city_slug":"opole","total_offers":1706,"avg_price":1978,"median_price":1999,"avg_price_per_m2":52,"avg_area":44},{"city_slug":"gliwice","total_offers":1459,"avg_price":1944,"median_price":1890,"avg_price_per_m2":51,"avg_area":44},{"city_slug":"czestochowa","total_offers":1249,"avg_price":1757,"median_price":1600,"avg_price_per_m2":43,"avg_area":45},{"city_slug":"bielsko-biala","total_offers":1226,"avg_price":2059,"median_price":2000,"avg_price_per_m2":50,"avg_area":45},{"city_slug":"zielona-gora","total_offers":1030,"avg_price":1865,"median_price":1850,"avg_price_per_m2":45,"avg_area":50},{"city_slug":"zabrze","total_offers":863,"avg_price":1600,"median_price":1580,"avg_price_per_m2":46,"avg_area":40},{"city_slug":"radom","total_offers":854,"avg_price":1912,"median_price":1800,"avg_price_per_m2":46,"avg_area":45},{"city_slug":"sosnowiec","total_offers":786,"avg_price":1701,"median_price":1600,"avg_price_per_m2":46,"avg_area":42},{"city_slug":"oswiecim","total_offers":641,"avg_price":1687,"median_price":1600,"avg_price_per_m2":43,"avg_area":44},{"city_slug":"bytom","total_offers":608,"avg_price":1510,"median_price":1450,"avg_price_per_m2":40,"avg_area":42},{"city_slug":"rybnik","total_offers":576,"avg_price":1684,"median_price":1600,"avg_price_per_m2":41,"avg_area":44},{"city_slug":"jastrzebie-zdroj","total_offers":524,"avg_price":1659,"median_price":1500,"avg_price_per_m2":39,"avg_area":46},{"city_slug":"chorzow","total_offers":454,"avg_price":1592,"median_price":1500,"avg_price_per_m2":43,"avg_area":40},{"city_slug":"dabrowa-gornicza","total_offers":444,"avg_price":1858,"median_price":1700,"avg_price_per_m2":44,"avg_area":44},{"city_slug":"tychy","total_offers":414,"avg_price":2036,"median_price":2000,"avg_price_per_m2":49,"avg_area":45},{"city_slug":"ruda-slaska","total_offers":263,"avg_price":1462,"median_price":1400,"avg_price_per_m2":38,"avg_area":40},{"city_slug":"jaworzno","total_offers":249,"avg_price":1702,"median_price":1600,"avg_price_per_m2":41,"avg_area":44},{"city_slug":"myslowice","total_offers":153,"avg_price":1793,"median_price":1750,"avg_price_per_m2":43,"avg_area":45}],"minimum_city_offers":10,"sources":[{"source":"olx","offer_count":71044,"pct":47.7},{"source":"otodom","offer_count":32316,"pct":21.7},{"source":"nieruchomosci-online","offer_count":15727,"pct":10.6},{"source":"gratka","offer_count":12001,"pct":8.1},{"source":"morizon","offer_count":9250,"pct":6.2},{"source":"domiporta","offer_count":4474,"pct":3.0},{"source":"adresowo","offer_count":4150,"pct":2.8},{"source":"krn","offer_count":28,"pct":0.0}]}