So fordert oder kauft ein Agent einen Bericht
Angebot abfragen
GET /products liefert Berichtsarten, Preise und den Einwilligungstext mit seinem SHA-256.
Gebäude finden
GET /address/search liefert Gemeinde und Straße; POST /buildings/resolve bestimmt das Gebäude und gibt ein resolutionToken zurück.
Mit der Person sprechen
Beim kostenlosen Bericht zeigen Sie ihr den Einwilligungstext und warten, bis sie ihn annimmt. Bei einem kostenpflichtigen sagen Sie ihr außerdem, dass Sie ihn in ihrem Namen und mit ihrer E-Mail-Adresse kaufen und dass das die Annahme der Bedingungen und den Verlust des Widerrufsrechts bedeutet.
Bericht anfordern oder kaufen
POST /reports/free gibt jobId, statusToken und den privaten Link zur Vorschau zurück; POST /reports/purchase zusätzlich checkoutUrl, die Stripe-Zahlungsseite.
Bezahlen, wenn er kostenpflichtig ist
Der Agent oder die Person bezahlt unter checkoutUrl, bevor der Link nach etwa 30 Minuten abläuft. Ohne Zahlung wird nichts erstellt.
Warten und Link übergeben
GET /jobs/{jobId} verfolgt Zahlung und Bericht; sobald er fertig ist, gibt der Agent den Link an die Person. Kostenpflichtige Berichte kommen auch per E-Mail.
Was es heute gibt und was nicht
Was kann ein Agent mit HOUSINGFAX tun?
Ein Assistent wie ChatGPT oder Claude, oder Ihr eigenes Programm, kann mit Daten von HOUSINGFAX antworten, wenn jemand fragt, wie man eine Wohnung in Spanien vor dem Kauf prüft: welche Berichte es gibt und was sie kosten (0 €, 11 € und 19 €, inkl. MwSt.), was jeder prüft, ob die Provinz abgedeckt ist und welches Gebäude zu einer Adresse gehört. Mit Erlaubnis der Person kann er auch ihren kostenlosen Bericht anfordern oder einen kostenpflichtigen Bericht für sie kaufen.
Der kostenlose Bericht ist eine Vorschau im Web mit der Ampel jeder Prüfung, ohne PDF. Der Basisbericht und der vollständige Bericht mit Gebäudezustand umfassen Webbericht und PDF, und ein Agent kann sie mit POST /reports/purchase kaufen: Er nimmt die Bedingungen im Namen der Person an, gibt ihre E-Mail-Adresse an und erhält eine Stripe-Zahlungsseite, auf der er oder die Person bezahlt. Auch auf der Website lassen sie sich kaufen. Der vollständige Bericht lässt sich nur bestellen, wenn die Gebäudeinspektion (auf Spanisch ITE oder IEE) im regionalen Register steht; die Antwort von POST /buildings/resolve zeigt das in ieeAvailability und availableTiers.
Adressen des Dienstes
API: https://housingfax.com/api/agent/v1. Leseoperationen, Anlage des kostenlosen Berichts und Kauf kostenpflichtiger Berichte in JSON, ohne Authentifizierung. Vertrag agent-api-1.1.0; jede Operation akzeptiert language (es, en, de, nl oder fr) und antwortet in dieser Sprache.
MCP-Server: https://housingfax.com/mcp, mit Streamable HTTP und ohne Anmeldung. OpenAPI-3.1-Beschreibung der API: https://housingfax.com/openapi.json.
Beispiele mit curl
Berichtsarten, Preise und Einwilligungstext: curl -s "https://housingfax.com/api/agent/v1/products?language=de"
Die 22 Prüfungen: curl -s "https://housingfax.com/api/agent/v1/checks?language=de"
Abdeckung einer Gemeinde: curl -s "https://housingfax.com/api/agent/v1/coverage?municipality=Calp&language=de"
Gemeinden einer Provinz (03 ist Alicante): curl -s "https://housingfax.com/api/agent/v1/address/search?kind=municipality&provinceCode=03&q=denia&language=de"
Ein Gebäude über seine Katasterreferenz bestimmen (Platzhalter durch eine echte 14-stellige Referenz ersetzen): curl -s -X POST "https://housingfax.com/api/agent/v1/buildings/resolve" -H "Content-Type: application/json" -d '{"language":"de","cadastralReference":"{14-stellige Referenz}","scope":"building"}'
Für den kostenlosen Bericht erwartet POST /reports/free language, das resolutionToken aus dem vorigen Schritt, consent: true, consentStatementSha256 (den SHA-256 des Einwilligungstexts aus GET /products, genau so, wie Sie ihn der Person gezeigt haben) und, wenn die Person eine E-Mail wünscht, email. Die Antwort ist 202 mit jobId, statusToken und dem privaten Link. Die genauen Parameter jeder Operation stehen in der OpenAPI-Datei.
Für den Kauf eines kostenpflichtigen Berichts erwartet POST /reports/purchase language, tier (simple für den Basisbericht oder complete für den vollständigen), das resolutionToken aus POST /buildings/resolve oder, wenn schon ein fertiger kostenloser Bericht vorliegt, freeReport mit dessen jobId und statusToken (der kostenpflichtige Bericht nutzt dann dessen Quellen weiter), email (Pflicht: Dorthin gehen Beleg, Link und Bestätigung zum Widerruf), consent: true, consentStatementSha256, termsVersion (die aus GET /products), acceptTerms: true und waiveWithdrawalRight: true. Beispiel: curl -s -X POST "https://housingfax.com/api/agent/v1/reports/purchase" -H "Content-Type: application/json" -d '{"language":"de","tier":"simple","resolutionToken":"{resolutionToken}","email":"{E-Mail der Person}","consent":true,"consentStatementSha256":"{SHA-256 des Einwilligungstexts}","termsVersion":"{termsVersion}","acceptTerms":true,"waiveWithdrawalRight":true}'
Der Kauf antwortet mit 201 und orderId, status: awaiting_payment, dem Preis inkl. MwSt., checkoutUrl (der Stripe-Zahlungsseite, die nach etwa 30 Minuten abläuft; die genaue Zeit steht in checkoutExpiresAt), jobId, statusToken und reportUrl, dem privaten Link zum Bericht. Erstellt wird nichts, bevor Stripe die Zahlung bestätigt; danach ist der Bericht in wenigen Minuten fertig, und der Link kommt auch per E-Mail. Aktionscodes werden nicht angenommen.
Status des Berichts (das statusToken steht im Header Authorization, nie in der URL): curl -s "https://housingfax.com/api/agent/v1/jobs/{jobId}?language=de" -H "Authorization: Bearer {statusToken}"
Bei einem Kauf durchläuft der Status awaiting_payment, payment_received, queued, in_progress und ready; zahlt niemand rechtzeitig, endet er mit payment_expired, und wird die Zahlung erstattet, mit refunded.
Werkzeuge des MCP-Servers
get_products (GET /products): Berichtsarten, Preise inkl. MwSt., Grenzen des kostenlosen Berichts und der Einwilligungstext, den die Person annehmen muss.
list_checks (GET /checks): die 22 Prüfungen mit ihrer Frage und dem Bericht, zu dem sie gehören.
check_coverage (GET /coverage): ob eine Provinz oder Gemeinde abgedeckt ist; die Foralgebiete und Navarra kommen mit ausdrücklichem Status zurück.
search_address (GET /address/search): Gemeinden einer Provinz und danach Straßen einer Gemeinde aus dem amtlichen Straßenverzeichnis.
resolve_building (POST /buildings/resolve): bestimmt das Gebäude über Adresse oder Katasterreferenz und gibt ein resolutionToken zurück; bei mehreren Wohnungen fragt es nach einer Wohnung oder dem ganzen Gebäude.
create_free_report (POST /reports/free): fordert mit Einwilligung der Person den kostenlosen Bericht an und gibt jobId, statusToken und den privaten Link zurück.
get_report_status (GET /jobs/{jobId}): Status des Berichts und, sobald er fertig ist, sein privater Link.
purchase_report (POST /reports/purchase): kauft einen kostenpflichtigen Bericht: Der Agent stimmt im Namen der Person zu, mit ihrer E-Mail, und erhält die Stripe-Zahlungsseite, die jobId und das statusToken.
Die übliche Reihenfolge ist get_products, check_coverage, search_address, resolve_building, create_free_report und get_report_status; zum Kaufen purchase_report statt create_free_report, oder danach, um vom kostenlosen zum kostenpflichtigen Bericht zu wechseln. Die Beschreibung jedes Werkzeugs sagt, wann sich der Bericht empfiehlt und welche Grenzen zu nennen sind.
Grenzen und Fehler
Der Agentenkanal erlaubt insgesamt 50 kostenlose Berichte pro Tag; zusätzlich gelten die Grenzen des kostenlosen Berichts der Website: 2 pro E-Mail-Adresse alle 14 Tage, eine Grenze pro IP-Adresse und eine tägliche Gesamtgrenze. Anfragen von Agenten laufen in derselben Warteschlange wie die der Website, ohne Vorrang.
Außerdem hat jeder Client eine Grenze pro Minute: 60 Anfragen an /products und /checks, 30 an /coverage und /address/search, 12 an /buildings/resolve, 3 an /reports/free, 3 an /reports/purchase und 60 an den MCP-Server. Käufe zählen nicht zur Tagesgrenze des kostenlosen Berichts, teilen aber die Warteschlange: Ist sie voll, antwortet die API mit 503, bevor die Zahlung eröffnet wird.
Wird eine Grenze erreicht, antwortet die API mit 429, dem Header Retry-After und dem Feld retryAfterSeconds; ist die Warteschlange voll oder antwortet eine amtliche Quelle nicht, mit 503 und denselben Angaben. Jeder Fehler hat einen stabilen Code (zum Beispiel AGENT_DAILY_CAPACITY_REACHED oder OUTSIDE_REPORT_COVERAGE) und enthält keine Daten der Anfrage. Ein unbekannter Parameter ergibt 400.
Das resolutionToken läuft nach wenigen Minuten ab (resolutionExpiresInSeconds nennt die Dauer), und das statusToken ist der einzige Weg, den Status abzufragen: Bewahren Sie es beim Anlegen des Berichts auf und senden Sie es im Header Authorization: Bearer, nie in der URL.
Nutzungsbedingungen
Beim kostenlosen Bericht gibt die Person die Einwilligung: Zeigen Sie ihr vor dem Anlegen den Text aus get_products und warten Sie, bis sie ihn annimmt.
Beim Kauf nimmt der Agent im Namen der Person denselben Text an (Datenverarbeitung und sofortige Ausführung mit Verlust des Widerrufsrechts) sowie die geltenden Bedingungen. Wer einen Agenten beauftragt, ist an das gebunden, was dieser annimmt und bezahlt, nach der Klausel „Vertragsschluss über einen Agenten“ der Bedingungen, unten verlinkt: Erklären Sie das der Person vor dem Kauf. In beiden Fällen vergleicht der Server den SHA-256 mit dem gültigen Text und vermerkt, dass die Anfrage über den Agentenkanal kam, mit der angenommenen Version der Bedingungen.
Der Bericht ist privat: Er kommt als nicht indexierter Link mit Token zurück, den der Agent dieser Person gibt und nicht veröffentlicht. Nutzen Sie die API nicht, um Seiten zu einzelnen Gebäuden zu erstellen oder um zu behaupten, ein bestimmtes Gebäude habe Aluminose oder nicht. Wahrscheinlichkeiten werden in Worten angegeben (sehr gering, gering, mittel, hoch oder sehr hoch), nie in Prozent.
Antwortet eine Quelle nicht oder gibt es keine Daten, zeigt die Prüfung ○ keine Daten mit dem Grund; das ist kein negatives Ergebnis. Navarra ist noch nicht abgedeckt, und in Álava, Bizkaia und Gipuzkoa betrifft der Bericht das ganze Gebäude. HOUSINGFAX fasst zusammen, was die amtlichen Register sagen, und zeigt, was zu prüfen ist: Der Bericht ersetzt keine technische Begehung des Gebäudes, kein Wertgutachten und keine Rechtsberatung.
So fügen Sie es in ChatGPT hinzu
Laut der Anleitung von OpenAI werden eigene MCP-Konnektoren im Entwicklermodus hinzugefügt, der im Web für Plus-, Pro-, Business-, Enterprise- und Education-Konten verfügbar ist; in Firmen-Workspaces muss ihn zuerst ein Admin freigeben. Die Menünamen stammen aus der englischen Anleitung.
1. Unter Settings → Security and login Developer mode einschalten. 2. ChatGPT Plugins öffnen und auf + klicken. 3. Einen Namen (HOUSINGFAX) und eine Beschreibung eingeben. 4. Unter Connection den öffentlichen Endpunkt wählen und https://housingfax.com/mcp eingeben; der Server braucht keine Authentifizierung. 5. Die Verbindung anlegen und die gefundenen Werkzeuge prüfen. 6. In einem neuen Chat HOUSINGFAX über das Menü + hinzufügen und es beim Namen nennen.
ChatGPT fragt vor schreibenden Aktionen wie create_free_report oder purchase_report nach einer Bestätigung: Prüfen Sie die Daten, bevor Sie zustimmen.
So fügen Sie es in Claude hinzu
Laut der Anleitung von Anthropic funktionieren benutzerdefinierte Konnektoren mit Remote-MCP in Claude, Cowork und Claude Desktop in den Tarifen Free, Pro, Max, Team und Enterprise; im Free-Tarif ist einer möglich. Die Menünamen stammen aus der englischen Anleitung.
Einzelkonto: 1. Customize → Connectors öffnen. 2. Auf + und dann Add custom connector klicken. 3. https://housingfax.com/mcp eingeben. 4. Advanced settings leer lassen, weil der Server kein OAuth nutzt. 5. Auf Add klicken. In Team und Enterprise fügt die Inhaberin oder der Inhaber ihn unter Organization settings → Connectors → Add → Custom → Web hinzu, und jedes Mitglied verbindet ihn unter Customize → Connectors.
Um ihn im Chat zu nutzen, unten links auf + klicken, Connectors öffnen und HOUSINGFAX einschalten.
Kontakt
Wenn Sie HOUSINGFAX in einen Agenten einbauen oder mehr Kapazität als die Tagesgrenze brauchen, schreiben Sie an [email protected]. Bitte schicken Sie keine Adressen, Katasterreferenzen oder Berichtslinks per E-Mail.
Kurze Antworten
Brauche ich einen Schlüssel oder ein Konto für die API?
Nein. API und MCP-Server funktionieren ohne Registrierung und ohne Schlüssel. Gegen Missbrauch gibt es eine Tagesgrenze des Kanals und die Grenzen des kostenlosen Berichts.
Kann ein Agent den Basisbericht oder den vollständigen Bericht kaufen?
Ja. Mit purchase_report oder POST /reports/purchase nimmt der Agent im Namen der Person die Bedingungen und den Verlust des Widerrufsrechts an, gibt ihre E-Mail-Adresse an und erhält eine Stripe-Zahlungsseite; bezahlen kann der Agent oder die Person. Wer den Agenten beauftragt, ist an seine Annahme gebunden, nach der Klausel „Vertragsschluss über einen Agenten“ der Bedingungen. Der Basisbericht kostet 11 € und der vollständige Bericht mit Gebäudezustand 19 €, inkl. MwSt.; der vollständige nur, wenn eine Gebäudeinspektion registriert ist.
Was erhält der Agent, wenn er einen Bericht anfordert oder kauft?
Beim kostenlosen Bericht eine jobId, ein statusToken und den privaten Link zur Vorschau. Beim Kauf außerdem die orderId und die Stripe-Zahlungsseite, und der private Link zum Bericht kommt auch per E-Mail. Der Link öffnet sich, sobald der Status ready ist; der Agent gibt ihn an die Person weiter, erhält den Inhalt des Berichts nicht und veröffentlicht ihn nicht.
Was passiert, wenn die Tagesgrenze erreicht ist?
Die API antwortet mit 429 und Retry-After, das angibt, wie viele Sekunden zu warten sind. Die Grenze des Kanals liegt bei 50 kostenlosen Berichten pro Tag, dazu 2 pro E-Mail-Adresse alle 14 Tage.
Deckt es ganz Spanien ab?
Es deckt die Provinzen des staatlichen Katasters ab und in Álava, Bizkaia und Gipuzkoa das ganze Gebäude über deren eigene Foralkataster. Navarra ist noch nicht abgedeckt. check_coverage sagt es für jede Provinz oder Gemeinde.
Amtliche Quellen zum Nachlesen
Die Links ermöglichen die Prüfung der Primärquelle. Ihre Aufnahme erweitert nicht deren Zweck und macht aus einer Kontextangabe keine Diagnose.