API-Dokumentation
Empfohlener Agent-Workflow
GET /api/v1/schema?version=2026— gültige Werte für baualter und klassifikationGET /api/v1/examples— Beispiel-Requests und -Responses (optional)POST /api/v1/calculate— Berechnung- Vergleiche die Kaltmiete mit
data.einordnung(falls kaltmiete angegeben) - Weise darauf hin, dass die Anwendung keine Rechtsberatung ersetzt
Bei HTTP 400 enthält der Body error.code, error.message und ggf. validBaualter, validKlassifikation, validVersions oder – bei Feldern, die der Rechner nicht kennt – unknownFields.
Response-Envelope
Erfolgreiche v1-Antworten haben die Form { meta, data }. In meta stehen softwareVersion (aus package.json), dataVersion (Mietspiegel-Datenjahr) und updated.
MCP (Model Context Protocol)
Öffentlicher Remote-MCP-Server (Streamable HTTP), ohne Authentifizierung. Gleiches Rate-Limit wie die REST-API (60 Anfragen/Minute/IP).
- Endpoint:
POST /mcp - Discovery: /.well-known/mcp.json
- Tools:
get_schema,get_examples,calculate,check_mieterhoehung
{
"mcpServers": {
"mietspiegel-potsdam": {
"url": "https://mietspiegelrechner-potsdam.de/mcp"
}
}
}GET /api/openapi.json
Maschinenlesbare OpenAPI-3.1-Spezifikation aller v1-Endpunkte.
GET /api/v1/schema
Liefert alle gültigen Werte für baualter, klassifikation (je Baualter) und orientierungshilfe-IDs inkl. keywords. Optional: ?version=2026 oder ?version=2024 für nur eine Version.
GET /api/v1/examples
Fertige Request/Response-Paare für typische Fälle. Optional ?version=2026 oder ?version=2024.
POST /api/v1/calculate
Berechnet die Mietspiegel-Einordnung als JSON. Rate-Limit: 60 Anfragen pro Minute pro IP.
Response-Header: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.
Request Body
{
"version": "2026",
"wohnflaeche": 55,
"baualter": "1949 bis 1970",
"klassifikation": "D, E, F, G, kein Energieausweis",
"orientierungshilfe": { "bad-fenster": true },
"kaltmiete": 400
}version:"2026"(Standard) oder"2024"wohnflaeche: positive Zahl in m²baualter,klassifikation: gültige Werte je Version (siehe Schema)orientierungshilfe: optional, Objekt mit Merkmal-ID → booleankaltmiete: optional, Nettokaltmiete in €/Monat
Response
{
"meta": {
"softwareVersion": "1.9.0",
"dataVersion": "2026",
"updated": "2026-07-01"
},
"data": {
"version": "2026",
"mietspanne": {
"unterwert_euro_pro_qm": 5.85,
"mittelwert_euro_pro_qm": 6.49,
"oberwert_euro_pro_qm": 7.21
},
"einordnung": {
"typ": "oberhalb_der_spanne",
"erklaerung": "Die angegebene Kaltmiete liegt über der ortsüblichen Vergleichsmiete.",
"kaltmiete_euro_pro_qm": 7.27
},
"orientierungshilfe_einordnung": null
}
}Fehler (400)
{
"error": {
"code": "invalid_klassifikation",
"message": "Invalid klassifikation for baualter \"1949 bis 1970\"",
"baualter": "1949 bis 1970",
"validKlassifikation": ["B, C", "D, E, F, G, kein Energieausweis", ...]
}
}POST /api/v1/mieterhoehung
Vergleicht eine geforderte Miete mit dem Mietspiegel Potsdam und mit den beiden Grenzen aus § 558 BGB: der ortsüblichen Vergleichsmiete und der Kappungsgrenze, und stellt die beiden gesetzlichen Fristen den Datumsangaben gegenüber – mit den Angaben des Mieterhöhungsrechners. MCP-Tool: check_mieterhoehung.
Jeder Prüfpunkt hat einen status – "eingehalten", "überschritten" oder "nicht prüfbar" – und eine erklaerung. obergrenze ist die niedrigere der beiden Grenzen, wo beide bestimmbar sind. Das Ergebnis ist kein Urteil über die Wirksamkeit einer Erhöhung. Gültige Felder und Werte: data.mieterhoehung in GET /api/v1/schema, Beispiele in GET /api/v1/examples.
version,wohnflaeche,baualter,klassifikation: wie beicalculategeforderteKaltmiete(Pflicht),aktuelleKaltmiete,kaltmieteVorDreiJahren: Nettokaltmiete in €/MonatletzteMieterhoehung,datumDesSchreibens,zugang,wirksamAb: DatumJJJJ-MM-TTodernullenthaeltModernisierung: optional, boolean
Request Body
{
"version": "2026",
"wohnflaeche": 55,
"baualter": "1949 bis 1970",
"klassifikation": "D, E, F, G, kein Energieausweis",
"aktuelleKaltmiete": 340,
"geforderteKaltmiete": 375,
"kaltmieteVorDreiJahren": 330,
"letzteMieterhoehung": "2024-05-01",
"datumDesSchreibens": "2026-09-01",
"zugang": "2026-09-15",
"wirksamAb": "2026-12-01",
"enthaeltModernisierung": false
}Response
{
"meta": {
"softwareVersion": "1.9.0",
"dataVersion": "2026",
"updated": "2026-08-13"
},
"data": {
"version": "2026",
"mietspanne": {
"unterwert_euro_pro_qm": 5.85,
"mittelwert_euro_pro_qm": 6.49,
"oberwert_euro_pro_qm": 7.21
},
"pruefpunkte": [
{
"id": "vergleichsmiete",
"titel": "Ortsübliche Vergleichsmiete",
"status": "eingehalten",
"erklaerung": "Die geforderte Miete liegt innerhalb der Mietspiegelspanne (bis 396,55 € bei 55 m²).",
"rechtsgrundlage": "§ 558 BGB"
},
{
"id": "kappungsgrenze",
"titel": "Kappungsgrenze (15 % in 3 Jahren)",
"status": "eingehalten",
"erklaerung": "Ausgehend von 330,00 € wären bis 379,50 € möglich.",
"rechtsgrundlage": "§ 558 Abs. 3 BGB"
},
{
"id": "jahressperrfrist",
"titel": "Jahressperrfrist",
"status": "eingehalten",
"erklaerung": "Zwischen der letzten Mieterhöhung und dem Zugang des Schreibens liegen 28 Monate (nötig: 12).",
"rechtsgrundlage": "§ 558 Abs. 1 Satz 2 BGB"
},
{
"id": "sperrfrist",
"titel": "15-Monats-Frist",
"status": "eingehalten",
"erklaerung": "Zum geplanten Termin wäre die Miete 31 Monate unverändert (nötig: 15).",
"rechtsgrundlage": "§ 558 Abs. 1 Satz 1 BGB"
}
],
"obergrenze": {
"euro_pro_monat": 379.5,
"quelle": "kappungsgrenze",
"erklaerung": "Rechnerisch am niedrigsten liegt die Grenze aus der Kappungsgrenze: 379,50 € pro Monat. Beide Grenzen müssen eingehalten sein, maßgeblich ist deshalb die niedrigere. Ob sie im Einzelfall so gilt, ist damit nicht gesagt."
},
"differenz": "Die geforderte Miete liegt 35,00 € über der aktuellen Kaltmiete von 340,00 € – ein Anstieg um 10,29 %.",
"ausgabe_hinweis": null,
"hinweise": {
"rechtsberatung": "Dies ist keine Rechtsprüfung. Der Rechner vergleicht Ihre Angaben mit dem Mietspiegel und mit den gesetzlichen Grenzen – er sagt nicht, ob eine Mieterhöhung wirksam ist. Ob sie es ist, hängt zusätzlich von Form, Begründung, Vertragsinhalt und Einzelfallumständen ab. Prüfen Sie jedes Ergebnis unabhängig nach und holen Sie vor einer Entscheidung Rechtsberatung ein.",
"kappungsgrenze": "Stand der Verordnungsangaben: 13. August 2026. Beide Verordnungen des Landes Brandenburg sind befristet und werden regelmäßig neu erlassen. Die hier genannten Werte geben den geprüften Stand wieder – ob sie zum Zeitpunkt Ihres Mietverhältnisses noch gelten, richtet sich nach der jeweils aktuellen Verordnung."
}
}
} Fehlercodes (400): invalid_body, invalid_city, invalid_version, invalid_wohnflaeche, invalid_baualter, invalid_klassifikation, invalid_kaltmiete, invalid_date, invalid_modernisierung