Przejdź do treści

Błąd 403, 404 lub „https://.*” na dane.gov.pl: dlaczego portal odrzuca raport dewelopera i jak to naprawić

Większość odrzuconych zgłoszeń ma pięć przyczyn: adres z http w pliku XML, brak sumy MD5 pod właściwym adresem, serwer, który blokuje portal (403) albo się wysypuje (500), i zmieniony identyfikator. Każdą da się znaleźć jednym poleceniem i naprawić w kilkanaście minut.

Opublikowano
Stan prawny na
29 września 2026
Czytanie
8 min

W skrócie

  • Komunikat z https://.* oznacza, że któryś adres <url> w pliku XML zaczyna się od http – schemat portalu przyjmuje tylko https.
  • 404 (Not Found) przy walidacji to najczęściej brak sumy MD5 pod adresem pliku XML z dopisanym .md5.
  • 403 i 500 przy pobieraniu plików to problem serwera: zapora, wtyczka bezpieczeństwa, zablokowane REST API albo błędna reguła w .htaccess.
  • Zmiana identyfikatora extIdent tworzy dla portalu nowy zbiór – stary trafia do kosza, a dane się dublują.
  • Każdy adres z raportu powinien od razu odpowiadać kodem 200 – sprawdzisz to poleceniem curl -I.
Spis treści 10 części
  1. 01Szybka diagnoza: komunikat i przyczyna
  2. 02Komunikat „https://.*”: adres z http w pliku XML
  3. 03404 przy walidacji: brak sumy MD5 pod oczekiwanym adresem
  4. 04403 Forbidden: serwer nie wpuszcza portalu
  5. 05500 Internal Server Error: .htaccess, którego serwer nie akceptuje
  6. 06Zmieniony extIdent: zdublowane zbiory
  7. 07Dwie pułapki w samym pliku XML
  8. 08Jak sprawdzić cały raport w 5 minut
  9. 09Najczęstsze pytania
  10. 10Źródła i podstawa prawna

Portal dane.gov.pl odrzuca raport dewelopera najczęściej z pięciu powodów: adres z http w pliku XML, brak sumy MD5 pod oczekiwanym adresem, blokada pobierania przez serwer (403), błąd serwera (500) albo zmieniony identyfikator extIdent. Każdy z nich widać po kodzie odpowiedzi albo treści komunikatu, a naprawa zwykle zajmuje kilkanaście minut.

Opisujemy przypadki, które naprawialiśmy przy prawdziwych wdrożeniach (bez danych klientów), i zasady z dokumentacji portalu. Tam, gdzie ministerstwo nic nie publikuje – jak w przypadku błędu 403 – zaznaczamy to wprost.

Szybka diagnoza: komunikat i przyczyna

Co widziszNajczęstsza przyczynaGdzie naprawić
value doesn't match any pattern of ['https://.*']Adres zasobu w XML zaczyna się od httpUstawienia adresu strony, generator XML
niewłaściwy kod odpowiedzi: 404 (Not Found)Brak sumy MD5 pod adresem XML + .md5 albo zły adres plikuSerwer lub generator raportu
403 ForbiddenZapora, wtyczka bezpieczeństwa, zablokowane REST API, reguła w .htaccessHosting, wtyczki, .htaccess
500 Internal Server ErrorNiedozwolona dyrektywa w .htaccess katalogu z raportem.htaccess
Zdublowany zbiór danych, stary w koszuZmieniony extIdent zbioru lub zasobuKonfiguracja raportu

Komunikat „https://.*”: adres z http w pliku XML

Po zgłoszeniu źródła danych administrator portalu uruchamia sprawdzenie pliku XML. Jeśli jest w nim adres zaczynający się od http://, walidacja kończy się błędem schematu. Kluczowy fragment komunikatu wygląda tak:

XMLSchemaValidationError(reason="value doesn't match any pattern of ['https://.*']")

Dlaczego: schemat XSD portalu dopuszcza w polu <url> zasobu wyłącznie adresy zaczynające się od https://. Wystarczy jeden zasób z http, żeby odrzucić cały plik.

Jak naprawić:

  1. Otwórz plik XML w przeglądarce i wyszukaj http:// (bez „s”).
  2. W WordPressie ustaw oba adresy w Ustawienia → Ogólne na https. Na innych systemach sprawdź konfigurację adresu bazowego.
  3. Jeśli strona stoi za proxy lub CDN, upewnij się, że aplikacja wie, że połączenie jest szyfrowane – inaczej generuje linki z http.
  4. Wygeneruj raport ponownie i sprawdź, czy w XML nie ma już żadnego http.

Samo przekierowanie z http na https nie pomaga: walidator sprawdza treść pliku, a nie to, dokąd prowadzi adres.

404 przy walidacji: brak sumy MD5 pod oczekiwanym adresem

niewłaściwy kod odpowiedzi: 404 (Not Found)

Portal sprawdza, czy plik XML się nie zmienił, porównując go z sumą kontrolną MD5. Instrukcja ministerstwa mówi, że adres pliku MD5 ma być taki sam jak pliku XML, ale z rozszerzeniem .md5. W przypadkach, które diagnozowaliśmy, walidator dopisywał .md5 do pełnego adresu XML (raport.xml → raport.xml.md5) – i jeśli pod tym adresem nic nie było, kończył na 404.

Typowe przyczyny: suma leży pod innym adresem (np. raport.md5 albo /md5), plik XML jest generowany dynamicznie pod adresem bez rozszerzenia, a o MD5 nikt nie pomyślał, albo po przeniesieniu strony zmieniła się ścieżka.

curl -s -o /dev/null -w "%{http_code}" https://twoja-inwestycja.pl/raport.xml.md5
200
curl -s https://twoja-inwestycja.pl/raport.xml | md5sum
curl -s https://twoja-inwestycja.pl/raport.xml.md5
# oba ciągi muszą być identyczne (32 znaki, małe litery)

Suma musi też być aktualna: każda zmiana XML-a (a zmienia się codziennie, bo dochodzi nowy zasób) wymaga przeliczenia MD5.

403 Forbidden: serwer nie wpuszcza portalu

Kod 403 znaczy, że serwer odebrał zapytanie, ale odmówił dostępu. Dla dewelopera to podstępny błąd, bo w przeglądarce wszystko działa – blokowany jest tylko automat. Ministerstwo nie publikuje nazwy user-agenta ani adresów IP harvestera, więc nie da się ich po prostu wpisać na białą listę. Trzeba znaleźć regułę, która blokuje.

Najczęstsze źródła blokady:

  • zapora hostingu lub WAF (np. reguły ModSecurity, „ochrona przed botami” w panelu hostingu, tryb wyzwania w Cloudflare) – blokuje zapytania, które nie wyglądają jak przeglądarka,
  • wtyczki bezpieczeństwa – blokowanie „podejrzanych” botów, limity zapytań, blokady krajów lub centrów danych,
  • wyłączone REST API dla niezalogowanych – jeśli raport jest wystawiany przez adres /wp-json/…, a wtyczka bezpieczeństwa blokuje REST API dla gości, portal dostaje 401 albo 403,
  • reguły w .htaccess – np. zakaz bezpośredniego dostępu do plików w wp-content/uploads, ochrona przed hotlinkowaniem, blokada rozszerzeń .csv lub .xml,
  • tryb konserwacji, hasło na katalogu, strona „w budowie” – przez całą dobę albo tylko w nocy, gdy działają kopie zapasowe.
curl -sI https://twoja-inwestycja.pl/raport.xml
HTTP/1.1 403 Forbidden
curl -sI -A "Mozilla/5.0" https://twoja-inwestycja.pl/raport.xml
HTTP/1.1 200 OK
# różne wyniki = blokada zależna od user-agenta (zapora lub wtyczka)

Jak naprawić: w logach serwera (albo w panelu zapory) znajdź wpisy 403 z godziny importu i regułę, która je spowodowała. Najbezpieczniej wyłączyć ją tylko dla ścieżek raportu – pliku XML, sumy MD5 i katalogu z plikami z cenami – zamiast dla całej strony.

500 Internal Server Error: .htaccess, którego serwer nie akceptuje

Błąd 500 przy pobieraniu plików z cenami to najczęściej plik .htaccess w katalogu z raportami. Taki plik bywa dodawany „dla bezpieczeństwa”, np. z dyrektywą Options -Indexes (wyłączenie listowania katalogu).

Charakterystyczny objaw: 500 dla każdego adresu w danym katalogu, także nieistniejącego pliku. To wskazuje na konfigurację katalogu, a nie na sam plik z cenami.

Zmieniony extIdent: zdublowane zbiory

Identyfikator extIdent tworzy dostawca danych i jest on dla portalu „nazwą własną” zbioru i każdego zasobu. Instrukcja ministerstwa mówi, że po nadaniu identyfikatora nie należy go modyfikować, a zmiana oznacza nowy obiekt – stary trafia do kosza. Typowe sytuacje, w których identyfikator zmienia się przypadkiem:

  • identyfikator zawiera dane firmy (np. NIP albo nazwę), a te zostały poprawione w konfiguracji,
  • przeniesienie raportu na inny system, który tworzy identyfikatory po swojemu,
  • ręczna edycja pliku XML.

Pamiętaj też, że obiekty, których identyfikatorów zabraknie w pliku XML, portal usuwa. Plik XML musi zawierać zasoby ze wszystkich dotychczasowych dni, a nie tylko dzisiejszy.

Dwie pułapki w samym pliku XML

  • Przestrzeń nazw. Element główny ma prefiks: <ns2:datasets xmlns:ns2="urn:otwarte-dane:harvester:1.13">, a elementy w środku są bez przestrzeni nazw. Zamiana na domyślne xmlns="…" psuje walidację.
  • Nagłówek Content-Type. Przewodnik ministerstwa opisuje sprawdzanie pliku zapytaniem HEAD i nagłówek Content-Type z text/xml lub application/xml. Strona błędu, logowania czy konserwacji zwraca text/html – nawet z kodem 200.

Jak sprawdzić cały raport w 5 minut

  1. XML odpowiada 200 i ma typ XML

    curl -sI https://…/raport.xml – szukasz 200 i Content-Type: application/xml lub text/xml.

  2. Suma MD5 jest pod adresem XML z dopisanym .md5

    Kod 200 i ten sam ciąg co md5sum pobranego XML-a.

  3. W XML nie ma http://

    Każdy <url> zaczyna się od https:// i ma właściwą domenę.

  4. Ostatni plik z cenami odpowiada 200

    Bez przekierowań, bez 403 i 500. Sprawdź też plik sprzed kilku dni.

  5. Test bez przeglądarki

    Powtórz polecenia bez parametru -A, najlepiej z innego serwera niż Twój – tak, jak łączy się portal.

Jeśli wszystkie punkty przechodzą, a portal nadal nie pobiera danych, napisz na kontakt@dane.gov.pl z adresem pliku XML i nazwą dostawcy. Cały proces zgłoszenia opisaliśmy w przewodniku jak raportować ceny mieszkań do dane.gov.pl, a zmiany w strukturze plików od 11 listopada 2026 r. w artykule o nowej strukturze danych.

Najczęstsze pytania

Jaki user-agent i adresy IP ma harvester dane.gov.pl?

Ministerstwo nie publikuje w materiałach dla deweloperów ani nazwy user-agenta, ani adresów IP harvestera. Dlatego przy błędzie 403 nie da się go po prostu dodać do białej listy – trzeba znaleźć w logach serwera regułę, która zablokowała zapytanie w czasie importu, i ją złagodzić dla plików raportu.

Czy po naprawie błędu muszę zgłaszać źródło danych od nowa?

Zwykle nie. Jeśli źródło zostało już utworzone, portal pobierze poprawiony plik przy najbliższym imporcie. Jeśli zgłoszenie odrzucono na etapie tworzenia źródła, odpisz na wiadomość z portalu, że plik jest poprawiony, i poproś o ponowne sprawdzenie.

Dlaczego portal nie pokazuje błędów w moim pliku CSV?

Od 25 września 2025 r. dane.gov.pl nie pokazuje wyników walidacji plików deweloperów i nie tworzy z nich automatycznie wersji CSV i JSON-LD. Portal sprawdza plik XML, ale zawartości plików z cenami nie ocenia – błędny plik zostanie opublikowany bez ostrzeżenia.

Czy mogę zmienić adres pliku XML po uruchomieniu źródła danych?

Adres źródła zna administrator portalu, więc jego zmiana wymaga kontaktu z kontakt@dane.gov.pl. Adresów plików z cenami w XML też nie należy zmieniać bez potrzeby. Jeśli przenosisz stronę na inną domenę albo na https, zaplanuj zmianę i poinformuj ministerstwo.

Mam przekierowanie z http na https. Czy to wystarczy?

Nie. Przekierowanie nie zmienia treści pliku XML – jeśli w polu url zasobu jest adres z http, walidacja i tak odrzuci plik. W XML muszą być od razu adresy z https i właściwą domeną, które zwracają kod 200 bez przekierowań.

Źródła i podstawa prawna

Stan prawny na 29 września 2026. Artykuł ma charakter informacyjny i nie jest poradą prawną.

  1. Ustawa z dnia 20 maja 2021 r. o ochronie praw nabywcy lokalu mieszkalnego lub domu jednorodzinnego oraz Deweloperskim Funduszu Gwarancyjnym (tekst jednolity) Dz.U. 2026 poz. 880
  2. Instrukcja zasilania XML dla deweloperów, wersja 1.0.6 (21.11.2025)
  3. Przewodnik automatycznego zasilania danych XML (część ogólna)
  4. Schemat XSD harvestera dane.gov.pl
  5. dane.gov.pl: FAQ dla deweloperów
Udostępnij LinkedIn Facebook E-mail

Newsletter

Newsletter dla deweloperów: przepisy, błędy, rozwiązania

Raz lub dwa razy w miesiącu: zmiany w przepisach o jawności cen, nowe problemy z dane.gov.pl i gotowe rozwiązania. Na start lista kontrolna PDF: 12 punktów do sprawdzenia przed kontrolą UOKiK.

  • Zmiany w ustawie i w wymaganiach dane.gov.pl, zanim wejdą w życie
  • Błędy, na których odpadają zgłoszenia deweloperów, i jak je naprawić
  • Bez spamu. Wypisujesz się jednym kliknięciem
Lista kontrolna zgodności z ustawą o jawności cen mieszkań (PDF)

Prezent na startLista kontrolna PDF: 12 punktów przed kontrolą UOKiK

Masz problem z jawnością cen we własnej inwestycji?

Opisz, co nie działa: strona, raport, zgłoszenie w dane.gov.pl. Odpowiemy w ciągu 24 godzin roboczych, jak to naprawić i czy wtyczka rozwiąże to u Ciebie.

Pola z * są wymagane
Śledź nas na Facebooku