{"openapi":"3.1.1","info":{"title":"Athaus Public API","version":"2026.09","summary":"Der oeffentliche Immobilienkatalog von athaus.ai und der amtliche Bodenwert je Postleitzahl.","description":"Lesender Zugriff, ohne Anmeldung und ohne Schluessel.\n\nDer Katalog enthaelt AUSSCHLIESSLICH Objekte, die Anbieter selbst bei Athaus eingestellt haben.\nInserate anderer Portale sind nicht enthalten und werden auch nicht ausgeliefert.\n\nWer lieber MCP spricht: derselbe Bestand steht unter https://api.athaus.ai/mcp als\nModel-Context-Protocol-Server (Revision 2026-07-28 und die aelteren ab 2024-11-05). Jedes Werkzeug\ndort braucht ein Athaus-Konto (OAuth 2.1 oder ein ath_-Schluessel), fuer Suchende wie fuer Anbieter;\nAnbieter erreichen darueber auch den eigenen Bestand und die Anfragen.","contact":{"name":"Andrual Technologies UG","url":"https://www.athaus.ai"},"license":{"name":"Nutzung nur fuer den Abruf einzelner Objekte","identifier":"LicenseRef-athaus-public"}},"servers":[{"url":"https://api.athaus.ai"}],"paths":{"/api/public/properties":{"get":{"operationId":"immobilienSuchen","summary":"Inserate suchen","description":"Blaettert durch den oeffentlichen Katalog. Ohne Filter kommen die neuesten Inserate. Gedrosselt je Aufrufer; wer viel abruft, bekommt 429.","parameters":[{"name":"page","in":"query","schema":{"type":"integer","minimum":1,"default":1}},{"name":"page_size","in":"query","schema":{"type":"integer","minimum":1,"maximum":60,"default":24}},{"name":"city","in":"query","schema":{"type":"string"},"description":"Stadt, zum Beispiel Berlin."},{"name":"transaction_type","in":"query","schema":{"type":"string","enum":["buy","rent"]}},{"name":"property_type","in":"query","schema":{"type":"string","enum":["apartment","house","land","commercial"]}},{"name":"min_price","in":"query","schema":{"type":"number","minimum":0}},{"name":"max_price","in":"query","schema":{"type":"number","minimum":0}},{"name":"min_rooms","in":"query","schema":{"type":"number","minimum":0}},{"name":"min_sqm","in":"query","schema":{"type":"number","minimum":0}}],"responses":{"200":{"description":"Eine Seite Treffer.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"title":{"type":["string","null"]},"city":{"type":["string","null"]},"postal_code":{"type":["string","null"]},"property_type":{"type":["string","null"],"description":"apartment, house, land oder commercial."},"transaction_type":{"type":["string","null"],"enum":["buy","rent",null]},"asked_price":{"type":["number","null"],"description":"Kaufpreis, bei Miete die Kaltmiete im Monat, in Euro."},"total_rooms":{"type":["number","null"]},"square_meters":{"type":["number","null"]},"latitude":{"type":["number","null"]},"longitude":{"type":["number","null"]},"beispiel":{"type":"boolean","description":"Ein erfundenes Beispielobjekt zur Ansicht, kein echtes Angebot."}},"required":["id"]}},"total":{"type":"integer"},"page":{"type":"integer"},"page_size":{"type":"integer"}},"required":["items","total","page","page_size"]}}}},"429":{"$ref":"#/components/responses/Gedrosselt"}}}},"/api/public/properties/{id}":{"get":{"operationId":"immobilieHolen","summary":"Ein Inserat holen","description":"Alle oeffentlichen Angaben zu einem Inserat. Name und Kontakt des Anbieters sind NICHT enthalten.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Das Inserat.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"title":{"type":["string","null"]},"city":{"type":["string","null"]},"postal_code":{"type":["string","null"]},"property_type":{"type":["string","null"],"description":"apartment, house, land oder commercial."},"transaction_type":{"type":["string","null"],"enum":["buy","rent",null]},"asked_price":{"type":["number","null"],"description":"Kaufpreis, bei Miete die Kaltmiete im Monat, in Euro."},"total_rooms":{"type":["number","null"]},"square_meters":{"type":["number","null"]},"latitude":{"type":["number","null"]},"longitude":{"type":["number","null"]},"beispiel":{"type":"boolean","description":"Ein erfundenes Beispielobjekt zur Ansicht, kein echtes Angebot."}},"required":["id"]}}}},"404":{"$ref":"#/components/responses/NichtGefunden"}}}},"/api/public/valuation/location-baseline":{"post":{"operationId":"bodenwertSchaetzen","summary":"Amtliche Lage-Grundlage","description":"Nennt fuer eine Lage einen Euro-je-Quadratmeter-Richtwert und sagt dazu, WORAUS er stammt:\n  bodenrichtwert  der amtliche Wert der Gutachterausschuesse, zonenscharf\n  comparables     der getrimmte Median vergleichbarer Inserate aus unserem Bestand\n  none            es gibt keine Grundlage, und dann steht dort auch keine Zahl\n\nBaden-Wuerttemberg, Saarland und Schleswig-Holstein geben den amtlichen Wert nicht heraus,\nBayern nur fuer angemeldete Gutachterausschuesse. Dort ist none die richtige Antwort.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"plz":{"type":"string","pattern":"^[0-9]{5}$"},"city":{"type":"string"},"lat":{"type":"number","minimum":-90,"maximum":90},"lng":{"type":"number","minimum":-180,"maximum":180},"property_type":{"type":"string","enum":["apartment","house","land","commercial"]},"art":{"type":"string","enum":["kauf","miete"],"default":"kauf"}}}}}},"responses":{"200":{"description":"Die Grundlage, oder ehrlich keine.","content":{"application/json":{"schema":{"type":"object","properties":{"base_eur_sqm":{"type":["number","null"]},"source":{"type":"string","enum":["bodenrichtwert","comparables","none"]},"region_label":{"type":["string","null"]},"brw":{"type":["number","null"],"description":"Bodenrichtwert in Euro je m2 Grund."},"gfz":{"type":["number","null"],"description":"Geschossflaechenzahl der Zone."},"stichtag":{"type":["string","null"]}},"required":["base_eur_sqm","source"]}}}},"429":{"$ref":"#/components/responses/Gedrosselt"}}}}},"components":{"responses":{"Gedrosselt":{"description":"Zu viele Aufrufe.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Fehler"}}}},"NichtGefunden":{"description":"Gibt es nicht (mehr).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Fehler"}}}}},"schemas":{"Fehler":{"type":"object","properties":{"error":{"type":"string","description":"Ein Code in snake_case."}},"required":["error"]},"Objekt":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"title":{"type":["string","null"]},"city":{"type":["string","null"]},"postal_code":{"type":["string","null"]},"property_type":{"type":["string","null"],"description":"apartment, house, land oder commercial."},"transaction_type":{"type":["string","null"],"enum":["buy","rent",null]},"asked_price":{"type":["number","null"],"description":"Kaufpreis, bei Miete die Kaltmiete im Monat, in Euro."},"total_rooms":{"type":["number","null"]},"square_meters":{"type":["number","null"]},"latitude":{"type":["number","null"]},"longitude":{"type":["number","null"]},"beispiel":{"type":"boolean","description":"Ein erfundenes Beispielobjekt zur Ansicht, kein echtes Angebot."}},"required":["id"]}}}}