Immobilienmarkt-Signal v1 — öffentlicher Vertrag

Werkzeug T04 (#575, ADR-0069, ADR-0070). Seite: /werkzeuge/immobilienmarkt. Headless: GET /api/tools/immobilienmarkt.

Zweck und Abgrenzung

Das Werkzeug beantwortet ausschließlich: Wie hat sich das offizielle Preisniveau für Wohnimmobilien in Österreich entwickelt?

Es liefert keine Objekt-, Adress-, Bezirks- oder Bundesland-Werte, kein €/m², keine Bewertung, keine Kauf- oder Verkaufsempfehlung und keine Prognose. Für einen konkreten Standort ist der Standort-Check das zuständige Werkzeug.

Quellen und Granularität

KarteQuelleIndikatorRegionEinheit
Häuserpreisindex ÖsterreichStatistik Austria (statat)statat:ogd_hpi2015_hpi_15_1:f-hpi1ÖsterreichIndex (2015 = 100)
EU-VergleichEurostat (eurostat)eurostat:hpi:total:i15_qÖsterreich, EU-27Index (2015 = 100)
FundamentalpreisindikatorOeNB (oenb)oenb:fpi:overallÖsterreich, WienAbweichung in Prozent

Bundesländer gibt es in keiner dieser Quellen; die Begründung steht in ADR-0070. Der Fundamentalpreisindikator ist eine Modellschätzung, keine Preismessung.

Datenbindung

Gelesen wird ausschließlich die Sicht price_facts_current: Zeilen des aktiven, für public_display qualifizierten Release je Quelle. Zusätzlich prüft das Werkzeug je Karte, bevor es Werte zeigt:

  1. Die Lane der Quelle in der Coverage-/Rechtematrix ist eindeutig, trägt die Fähigkeit index_lookup, den Kanal public und die Werkzeug-ID market-signal.
  2. Alle neun Bundesland-Zellen der Lane sind available und enthalten den nationalen Coverage-Key country:AT.
  3. Die öffentliche Provenienz nennt denselben aktiven Release und liefert Namensnennung, Lizenz-URL und kanonische Quell-URL.
  4. Jede gelesene Zeile trägt die Release-ID dieses aktiven Release.

Fehlt eine Bedingung, bleibt die Karte ohne Werte und nennt den Grund.

Kartenzustände

ZustandBedeutung
availableQuelle freigegeben, Werte aus dem aktiven Release
gatedQuelle für dieses Werkzeug nicht freigegeben
staleFreigegebener Quellenstand ist veraltet
failedDatenstand vorübergehend nicht abrufbar oder ohne Werte

Ein gated- oder failed-Zustand ist kein Befund über den Markt.

Antwortvertrag

GET /api/tools/immobilienmarkt

Antwort 200 mit { checkedAt, matrixVersion, cards[], limitations[] }. Jede Karte trägt id, title, question, state, summary, unitLabel, limitation und im Zustand available zusätzlich series (bis zu 20 Perioden), optional comparison, sourceLabel, attribution, licenseLabel, licenseUrl, sourceUrl, retrievedAt, sourceVintage, releaseId und freshness.

Header: Cache-Control: public, max-age=0, s-maxage=300, stale-while-revalidate=600, X-Robots-Tag: noindex, nofollow, noarchive, ETag über Matrixversion und Karten (ohne Prüfzeitpunkt). Ein If-None-Match mit gültigem ETag wird mit 304 beantwortet, ebenfalls mit CORS- und nosniff-Headern. Fehlerfall: 503 market_signal_unavailable mit Cache-Control: no-store.

Diese Direktiven setzt die Route. Hinter Vercel sieht ein Client sie nicht vollständig: das Edge verbraucht s-maxage und stale-while-revalidate selbst und gibt Cache-Control: public, max-age=0 weiter. Der Vertrag ist deshalb nicht am Antwort-Header messbar, sondern am Edge-Verhalten — x-vercel-cache wechselt nach dem ersten Abruf auf HIT und age zählt hoch. Am Ursprung prüft tests/unit/app/api/tools/immobilienmarkt.test.ts die vollständige Direktivenliste.

Namensnennung

Jede freigegebene Karte gibt Namensnennung und Lizenz sichtbar aus. Für Eurostat verlangt der Rechte-Review zusätzlich das Abrufdatum; die Oberfläche ergänzt es aus retrievedAt des aktiven Release.

Datenschutz

Keine Eingabe, keine Adresse, keine Koordinate, kein Cookie, keine Persistenz, keine Produkttelemetrie. Die Antwort ist für alle Abrufenden identisch und wird deshalb am CDN fünf Minuten (s-maxage=300) cachebar ausgeliefert, mit einem zehnminütigen Stale-Fenster (stale-while-revalidate=600); ein Nutzerzähler oder Rate-Limit ist dafür nicht nötig. Details unter /datenschutz#immobilienmarkt.