REST API

POST /api/bodenwertFür Entwickler

Berechnet aus einem Bodenrichtwert und einer abweichenden Geschossflächenzahl (GFZ) den tatsächlichen Bodenrichtwert — und mit Grundstücksfläche den gesamten Bodenwert. Reine Berechnung, zählt nicht gegen das Kontingent.

Ein Bodenrichtwert bezieht sich immer auf eine bestimmte bauliche Dichte — die wertrelevante Geschossflächenzahl (GFZ). Weicht die tatsächliche oder zulässige GFZ eines Grundstücks davon ab, ist der Wert nicht direkt übertragbar. Dieser Endpunkt nimmt den Bodenrichtwert, die Referenz-GFZ und die tatsächliche GFZ entgegen und berechnet daraus den tatsächlichen Bodenrichtwert (dichtekorrigiert, €/m²). Gibst du zusätzlich die Grundstücksfläche an, kommt der Bodenwert (Gesamtwert des Grundstücks, €) gleich mit.

Es ist eine reine Berechnung: kein Adress-Lookup, kein Datenabruf — und der Aufruf zählt nicht gegen dein Monatskontingent.

Request

POST https://api.bodenrichtwert.ai/api/bodenwert
Authorization: Bearer brw_pat_...
Content-Type: application/json

{
  "brw": 450,
  "gfz_referenz": 0.8,
  "gfz_tatsaechlich": 1.2
}

Body-Felder

NamePflichtTypBeschreibung
brwjanumberAmtlicher Bodenrichtwert in Euro pro Quadratmeter (>= 0)
gfz_referenzjanumberWertrelevante GFZ, auf die sich der Bodenrichtwert bezieht (> 0)
gfz_tatsaechlichjanumberTatsächliche bzw. zulässige GFZ des Grundstücks (> 0)
flaecheneinnumberGrundstücksfläche in m². Wenn gesetzt, wird zusätzlich der Bodenwert (Gesamtwert) zurückgegeben

Zahlen können als JSON-Number (0.8) oder als String mit Punkt oder Komma ("0,8") übergeben werden.

Rechenmodell

Der Endpunkt nutzt die amtliche Standardformel für Umrechnungskoeffizienten — den Fallback der Gutachterausschüsse, wenn keine zonenspezifische Umrechnungstabelle vorliegt (u. a. ErbStH zu § 179 BewG):

K(GFZ)           = 0,6 · √GFZ + 0,2 · GFZ + 0,2        (normiert: K(1,0) = 1,0)
BRW_tatsaechlich = BRW × K(gfz_tatsaechlich) / K(gfz_referenz)
Bodenwert        = BRW_tatsaechlich × flaeche          (nur mit flaeche)

Die Funktion ist nicht-linear: mit steigender Dichte wächst der Wert unterproportional (abnehmender Grenzwertzuwachs).

Response (200 OK)

Ohne flaeche liefert der Endpunkt den tatsächlichen Bodenrichtwert (€/m²):

{
  "brw_input_euro_pro_m2": 450,
  "gfz_referenz": 0.8,
  "gfz_tatsaechlich": 1.2,
  "koeffizient_referenz": 0.8967,
  "koeffizient_tatsaechlich": 1.0973,
  "faktor": 1.2237,
  "bodenrichtwert_tatsaechlich_euro_pro_m2": 550.68,
  "modell": "amtliche-standardformel",
  "formel": "K(GFZ) = 0,6·√GFZ + 0,2·GFZ + 0,2  ·  BRW_neu = BRW × K(GFZ_ist) / K(GFZ_ref)",
  "disclaimer": "Orientierende Umrechnung nach der Standardformel für Umrechnungskoeffizienten (0,6·√GFZ + 0,2·GFZ + 0,2; u. a. ErbStH zu § 179 BewG). Ersetzt NICHT die zonenspezifische amtliche Umrechnungstabelle des zuständigen Gutachterausschusses. Gutachterlicher Orientierungswert — kein Verkehrswert, kein Kaufpreis, keine Rechtsberatung."
}

Mit "flaeche": 500 im Body enthält die Antwort zusätzlich grundstuecksflaeche_m2 und bodenwert_euro (tatsächlicher Bodenrichtwert × Fläche).

Response-Felder

FeldTypPflichtBeschreibung
brw_input_euro_pro_m2numberjaDer übergebene amtliche Bodenrichtwert
gfz_referenznumberjaReferenz-GFZ (Eingabe)
gfz_tatsaechlichnumberjaTatsächliche GFZ (Eingabe)
koeffizient_referenznumberjaK(gfz_referenz)
koeffizient_tatsaechlichnumberjaK(gfz_tatsaechlich)
faktornumberjaUmrechnungsfaktor K(ist) / K(ref)
bodenrichtwert_tatsaechlich_euro_pro_m2numberjaTatsächlicher Bodenrichtwert für die angegebene GFZ (€/m²)
grundstuecksflaeche_m2numberoptionalNur wenn flaeche übergeben wurde
bodenwert_euronumberoptionalBodenwert (Gesamtwert) = tatsächlicher Bodenrichtwert × flaeche, nur wenn flaeche übergeben wurde
modellstringjaVerwendetes Modell, aktuell amtliche-standardformel
formelstringjaLesbare Formelbeschreibung
hinweisstringoptionalExtrapolations-Hinweis, wenn eine GFZ außerhalb des üblichen Bereichs (0,1–3,0) liegt
disclaimerstringjaPflicht-Hinweis: orientierende Berechnung, kein Verkehrswert

Woher kommt die Referenz-GFZ?

Bei einer Adressabfrage über GET /api/bodenrichtwert liefert das Feld wertrel_geschossflaechenzahl genau diese Referenz-GFZ. Nicht jeder Gutachterausschuss veröffentlicht sie maschinenlesbar:

Kennzahl in der AntwortBeispiel-Bundesländer
wertrel_geschossflaechenzahl (WGFZ)Berlin, Hessen, Baden-Württemberg, Hamburg
geschossflaechenzahl (GFZ)Brandenburg
nur vollgeschosszahl (Vollgeschosse)Nordrhein-Westfalen
keine Dichtekennzahlu. a. Niedersachsen, Rheinland-Pfalz, Thüringen
Liefert die Zone keine GFZ (z. B. in NRW, wo nur die Vollgeschosszahl geführt wird), musst du die Referenz-GFZ aus der amtlichen Zoneninfo selbst bestimmen und als gfz_referenz übergeben. Vollgeschosse sind nicht dasselbe wie eine GFZ — die Formel ist ausschließlich für die GFZ definiert.

Fehler

Alle Fehler folgen demselben Format: { "error": "<code>", "message": "<Beschreibung>", "status": <HTTP-Status> }.

StatusCodeBedeutung
400invalid_jsonDer Request-Body ist kein gültiges JSON
400invalid_bodyDer Request-Body ist kein JSON-Objekt
400missing_parameterEin Pflichtfeld (brw, gfz_referenz, gfz_tatsaechlich) fehlt im Body
400invalid_brwbrw ist keine Zahl oder < 0
400invalid_gfz_referenzgfz_referenz ist keine Zahl oder <= 0
400invalid_gfz_tatsaechlichgfz_tatsaechlich ist keine Zahl oder <= 0
400invalid_flaecheflaeche ist gesetzt, aber keine Zahl oder <= 0
401missing_tokenAuthorization: Bearer <token>-Header fehlt
401invalid_tokenToken ungültig oder abgelaufen
429rate_limit_exceededZu viele Requests pro Minute (120/min IP-Limit) — Retry-After-Header beachten
500internal_server_errorUnerwarteter Fehler
Das Ergebnis ist eine orientierende Berechnung nach der allgemeinen Standardformel. Sie ersetzt nicht die zonenspezifische amtliche Umrechnungstabelle des zuständigen Gutachterausschusses und ist kein Verkehrs- oder Kaufpreis. Für rechtsverbindliche Wertermittlungen ist ein Sachverständiger hinzuzuziehen.

Auch als MCP-Tool

Dieselbe Berechnung steht im MCP-Server als Tool calculate_bodenwert bereit (Parameter brw, gfz_referenz, gfz_tatsaechlich, optional flaeche) — praktisch, um in ChatGPT oder Claude direkt vom abgefragten Wert zum tatsächlichen Bodenrichtwert und Bodenwert zu kommen.