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
| Karte | Quelle | Indikator | Region | Einheit |
|---|---|---|---|---|
| Häuserpreisindex Österreich | Statistik Austria (statat) | statat:ogd_hpi2015_hpi_15_1:f-hpi1 | Österreich | Index (2015 = 100) |
| EU-Vergleich | Eurostat (eurostat) | eurostat:hpi:total:i15_q | Österreich, EU-27 | Index (2015 = 100) |
| Fundamentalpreisindikator | OeNB (oenb) | oenb:fpi:overall | Österreich, Wien | Abweichung 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:
- Die Lane der Quelle in der Coverage-/Rechtematrix ist eindeutig, trägt die
Fähigkeit
index_lookup, den Kanalpublicund die Werkzeug-IDmarket-signal. - Alle neun Bundesland-Zellen der Lane sind
availableund enthalten den nationalen Coverage-Keycountry:AT. - Die öffentliche Provenienz nennt denselben aktiven Release und liefert Namensnennung, Lizenz-URL und kanonische Quell-URL.
- 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
| Zustand | Bedeutung |
|---|---|
available | Quelle freigegeben, Werte aus dem aktiven Release |
gated | Quelle für dieses Werkzeug nicht freigegeben |
stale | Freigegebener Quellenstand ist veraltet |
failed | Datenstand 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.