GUTHMANN® Berlin Real Estate
Berlin real estate for AI agents: granular market data and property search, free, by GUTHMANN®.
| Endpoint | https://mcp.guthmann.estate/mcp (streamable-http) |
|---|---|
| Registry version | 0.3.0 |
| Now | 37 tools · grade D (52) · pin ts_20fc6c44a7032cd511313931c98491c9 · protocol 2025-06-18 |
| First / last listed | 2026-11-02 00:38 UTC / 2026-11-02 00:38 UTC |
| Grade over time | 2026-11-02: D (52), 37 tools |
Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.
Tools: berlin_boroughs berlin_borough_details berlin_districts berlin_district_details berlin_neighborhoods berlin_neighborhood_search berlin_neighborhood_details berlin_conservation_areas berlin_conservation_area_details market_berlin_apartments market_berlin_apartment_buildings market_germany_residential market_germany_apartment_buildings listings listing_details macro_ecb_policy_rates macro_mortgage_lending macro_bund_yields macro_labor_unemployment macro_labor_employment macro_labor_short_time_work macro_inflation_hicp macro_construction_prices macro_gdp field_metadata socio_berlin_construction_activity socio_berlin_migration_external socio_berlin_migration_matrix socio_berlin_population socio_berlin_age_groups socio_berlin_origin socio_berlin_census_dwellings socio_berlin_census_vacancy socio_berlin_census_rents socio_berlin_census_buildings socio_berlin_census_households search
berlin_boroughs | Returns all 12 Berlin boroughs (Bezirke) with IDs and names.
Key response fields: array of { bezirk_id, bezirk_name }
- bezirk_id: 2 digits ("01" to "12")
- bezirk_name: e.g. "Mitte", "Friedrichshain-Kreuzberg", "Pankow"
Use when:
- You need an overview of Berlin's administrative structure
- You need a bezirk_id for market data queries
Do NOT use when:
- You already know the bezirk_id → use ber params: none |
berlin_borough_details | Returns details for one Berlin borough (Bezirk) by ID, optionally with all its districts.
Parameters:
- bezirk_id (required): 2-digit ID ("01" to "12")
- ortsteile: "true" to include all districts of the borough
Key response fields: { bezirk_id, bezirk_name, ortsteile?: [...] } (ortsteile = districts)
Example: bezirk_id="03" → Pankow with 13 districts (Prenzlauer Berg, Weißensee, etc.) params: bezirk_id*, ortsteile, include |
berlin_districts | Returns all 97 Berlin districts (Ortsteile), optionally filtered by borough.
Parameters:
- bezirk_id (optional): filter to the districts of one borough
- bezirke: "true" to include borough references
Key response fields: array of { ortsteil_id, ortsteil_name, bezirk_id?, bezirk_name? }
- ortsteil_id: 4 digits (e.g. "0301" for Prenzlauer Berg)
Examples of well-known districts:
- Prenzlauer Berg params: bezirke, bezirk_id, include |
berlin_district_details | Returns details for one Berlin district (Ortsteil) by ID, optionally with its neighborhoods.
Parameters:
- ortsteil_id (required): 4-digit ID (e.g. "0301")
- planungsraeume: "true" to include all neighborhoods of the district
Key response fields: { ortsteil_id, ortsteil_name, bezirk_id, bezirk_name, planungsraeume?: [...] } (planungsraeume = neighborhoods) params: ortsteil_id*, planungsraeume, include |
berlin_neighborhoods | Returns all 542 Berlin neighborhoods (LOR Planungsräume), optionally filtered by borough or district.
Parameters:
- bezirk_id (optional): filter by borough
- ortsteil_id (optional): filter by district
- bezirke/ortsteile: "true" to include parent references
Key response fields: array of { planungsraum_id, planungsraum_name, ... }
- planungsraum_id: 8 digits (e.g. "03010101")
Neighborhoods are t params: bezirke, ortsteile, bezirk_id, ortsteil_id, include |
berlin_neighborhood_search | Searches Berlin neighborhoods (LOR Planungsräume) by name.
Parameters:
- q (required): search term (min. 3 characters)
- limit: max. results (default: 25)
- bezirk_id/ortsteil_id: optional filters to narrow the search
Example: q="Kollwitz" finds the "Kollwitzplatz" neighborhood params: q*, limit, bezirke, ortsteile, bezirk_id, ortsteil_id, include |
berlin_neighborhood_details | Returns details for one Berlin neighborhood (LOR Planungsraum) by ID, optionally with its blocks.
Parameters:
- planungsraum_id (required): 8-digit ID
- bloecke: "true" to include all blocks of the neighborhood
Key response fields: { planungsraum_id, planungsraum_name, bezirk_id, bezirk_name, ortsteil_id, ortsteil_name, bloecke?: [...] } (bloecke = blocks) params: planungsraum_id*, include |
berlin_conservation_areas | Berlin social conservation areas (Milieuschutzgebiete, §172 BauGB). 124 areas in 6 categories with polygon geometry.
Parameters:
- kategorie_id: filter by category ("erhaltungsgebiet" | "erweiterung" | "aufstellungsbeschluss" | "untersuchungsgebiet" | "beobachtungsgebiet" | "aufgehoben")
- erweiterungen: "true" to embed extensions as a nested array inside their main area
- include: comma-separate params: kategorie_id, erweiterungen, include, lat, lon |
berlin_conservation_area_details | Returns a single Berlin social conservation area (Milieuschutzgebiet) by ID. For main areas, associated extensions are embedded automatically.
Parameters:
- id (required): 12-character hex string (deterministic area ID)
- include: comma-separated geo attributes; available: "centroid". Polygons are provided as GeoJSON URLs in geometry_urls
Key response fields: { id, name, kategorie_id, kategorie_ params: id*, include |
market_berlin_apartments | Berlin apartment market data (listings + transactions). Sources: listing/offer data (IMV) + transaction data from the Berlin committee of valuation experts (GAA, Gutachterausschuss).
Parameters:
- zeitraum: "jahr" (default) | "monat" | "quartal" (abgeschlossene Quartale)
- jahr: transaction data (GAA) + listing data (IMV), finest level: block
- monat: listing data (IMV) only, finest level: Di params: rbs, baualtertyp, bezirk_id, ortsteil_id, planungsraum_id, start, end, recent, limit, fields, include |
market_berlin_apartment_buildings | Berlin apartment building market (rental buildings, "Zinshäuser") - transaction data. Source: transaction data from the Berlin committee of valuation experts (GAA, Gutachterausschuss).
Parameters:
- rbs: "stadt" | "bezirk" | "stadtteil" | "ortsteil" — bezirk = Borough, ortsteil = District
Time filters:
- start/end: flexible date values (YYYY, YYYY-MM, YYYY-MM-DD)
- recent: number of most recent params: rbs, bezirk_id, ortsteil_id, start, end, recent, limit, fields, include |
market_germany_residential | National market data for the German residential real estate market. Sources: DESTATIS, vdp, HYPOPORT.
Includes price AND transaction indices for various market segments.
Parameters:
- zeitraum: "jahr" (default) | "quartal"
- jahr: all price and transaction indices, regional and per source
- quartal: only the Germany-wide price indices of DESTATIS, vdp and HYPOPORT, current up to the second-t params: start, end, recent, limit, fields, include, zeitraum |
market_germany_apartment_buildings | National price index data for the German apartment building market. Source: vdp.
Quarterly data for apartment buildings (rental buildings, "Mehrfamilienhäuser") across Germany.
Time filters:
- start/end: flexible date values (YYYY, YYYY-MM, YYYY-MM-DD)
- recent: number of most recent periods (quarters)
Response controls:
- limit, fields, include: "metadata"
Key response fields:
- preisindex: p params: start, end, recent, limit, fields, include |
listings | The GUTHMANN listings: the broker's active inventory in Berlin (for sale: owner-occupier apartments, investment apartments, apartment buildings, commercial). Every card carries its exposé URL on guthmann.estate. Addresses only for released listings, otherwise ZIP/District (Ortsteil)/Borough (Bezirk).
Parameters:
- segment: "APARTMENT_LIVING" | "APARTMENT_INVEST" | "APARTMENT_BUILDING" | "COMMERCI params: segment, bezirk, ortsteil, preis_min, preis_max, zimmer_min, flaeche_min, locale, limit |
listing_details | One GUTHMANN listing in detail: prices and running costs, areas, amenities, energy certificate, exposé texts, images, contact and the exposé URL on guthmann.estate. When the address is not released, street/house number are null and the coordinate is deterministically offset by 150-300 m (koordinaten_versetzt = true).
Parameters:
- public_id: public listing id (hex, from listings or the exposé URL params: public_id*, locale |
macro_ecb_policy_rates | ECB key interest rates. Source: Bundesbank.
Parameters:
- start/end: YYYY-MM-DD
- recent: number of most recent periods
- limit, fields, include: "metadata"
Key response fields (German names):
- zinssatz_hauptrefinanzierungssatz: main refinancing rate (the ECB's key rate)
- zinssatz_einlagefazilitaet: deposit facility rate
- zinssatz_spitzenrefinanzierungsfazilitaet: marginal lending facility ra params: start, end, recent, limit, fields, include |
macro_mortgage_lending | Mortgage rates for residential housing loans. Source: Bundesbank.
Parameters:
- start/end: YYYY-MM-DD
- recent: number of most recent periods
- limit, fields, include: "metadata"
Key response fields (German names):
- zinssatz_gesamt: average rate across all fixed-interest periods
- zinssatz_5_bis_10j: rate for 5-10 year fixed-interest periods
- zinssatz_ueber_10j: rate for fixed-interest periods params: start, end, recent, limit, fields, include |
macro_bund_yields | Yields on German government bonds (Bunds). Source: Bundesbank.
Parameters:
- start/end: YYYY-MM-DD
- recent: number of most recent periods
- limit, fields, include: "metadata"
Key response fields (German names):
- rendite_10j: 10-year Bund yield
- rendite_15j: 15-year Bund yield
- rendite_30j: 30-year Bund yield params: start, end, recent, limit, fields, include |
macro_labor_unemployment | Unemployment statistics. Source: Bundesbank.
Parameters:
- start/end: YYYY-MM-DD
- recent: number of most recent periods
Key response fields (German names):
- arbeitslose: registered unemployed (seasonally adjusted)
- arbeitslosenquote: unemployment rate (%) params: start, end, recent, limit, fields, include |
macro_labor_employment | Employment statistics. Source: Bundesbank.
Parameters:
- start/end: YYYY-MM-DD
- recent: number of most recent periods
Key response fields (German names):
- erwerbstaetige: persons in employment (seasonally adjusted)
- sv_beschaeftigte: employees subject to social insurance contributions
- geringfuegig_beschaeftigte: marginally employed (mini-jobs) params: start, end, recent, limit, fields, include |
macro_labor_short_time_work | Short-time work (Kurzarbeit) statistics. Source: Bundesbank.
Parameters:
- start/end: YYYY-MM-DD
- recent: number of most recent periods
Key response fields (German names):
- kurzarbeiter: short-time workers (seasonally adjusted) params: start, end, recent, limit, fields, include |
macro_inflation_hicp | Inflation data (HICP - harmonized index of consumer prices). Source: Bundesbank.
Parameters:
- start/end: YYYY-MM-DD
- recent: number of most recent periods
Key response fields (German names):
- hvpi_gesamt: overall HICP
- hvpi_gesamt_ohne_energie_nahrungsmittel: core inflation (HICP excluding energy and food)
- hvpi_energie, hvpi_nahrungsmittel, hvpi_dienstleistungen, hvpi_mieten: energy, food, params: start, end, recent, limit, fields, include |
macro_construction_prices | Construction price index for residential buildings. Source: Bundesbank.
Quarterly data (2015=100).
Parameters:
- start/end: YYYY-MM-DD
- recent: number of most recent periods
Key response fields (German names):
- preisindex: construction price index
- preisindex_delta_1q: change vs. previous quarter
- preisindex_delta_1j: change vs. previous year params: start, end, recent, limit, fields, include |
macro_gdp | GDP data (gross domestic product). Source: Bundesbank.
Quarterly data, price-adjusted, seasonally and calendar-adjusted (2015=100).
Parameters:
- start/end: YYYY-MM-DD
- recent: number of most recent periods
Key response fields (German names):
- kettenindex: GDP chain-linked index
- kettenindex_delta_1q: change vs. previous quarter
- kettenindex_delta_1j: change vs. previous year params: start, end, recent, limit, fields, include |
field_metadata | Returns field definitions for interpreting API responses.
Use this to understand fields, units, data types, and sources.
Parameters:
- domain (optional): specific domain for detailed field information
- locale: "de" (default) | "en"
Available domains:
- berlin: geographic reference data — Boroughs (Bezirke), Districts (Ortsteile), Neighborhoods (LOR Planungsräume)
- immobilienmarkt.berlin.wohnu params: domain, locale |
socio_berlin_construction_activity | Construction activity data for Berlin. Source: Amt für Statistik Berlin-Brandenburg.
Shows net changes: building balance, dwelling balance, living-space balance.
Parameters:
- rbs: "stadt" (city) | "bezirk" (Borough) | "stadtteil" | "ortsteil" (District) | "planungsraum" (Neighborhood, LOR Planungsraum)
- bezirk_id, stadtteil_id, ortsteil_id, planungsraum_id: geographic filters
- start/end: peri params: rbs, bezirk_id, ortsteil_id, start, end, recent, limit, fields, include |
socio_berlin_migration_external | External migration for Berlin: migration across the city boundary, annual, by nationality. Source: Amt für Statistik Berlin-Brandenburg.
Parameters:
- rbs: "stadt" (city) | "bezirk" (Borough) | "stadtteil" | "ortsteil" (District) | "planungsraum" (Neighborhood, LOR Planungsraum)
- bezirk_id, stadtteil_id, ortsteil_id, planungsraum_id: geographic filters
- staat_code: filter by country code (e.g. params: rbs, bezirk_id, ortsteil_id, start, end, recent, limit, fields, include, staat_code, alpha2 |
socio_berlin_migration_matrix | Migration matrix for Berlin: migration flows between areas (moves within Berlin, annual). The RBS level applies to both origin and destination. Source: Amt für Statistik Berlin-Brandenburg.
Parameters:
- rbs: "stadt" (city) | "bezirk" (Borough) | "stadtteil" | "ortsteil" (District) | "planungsraum" (Neighborhood, LOR Planungsraum) (default: bezirk)
- von_rbs_id: filter by origin-area ID
- nach_rb params: rbs, von_rbs_id, nach_rbs_id, min_personen, start, end, recent, limit, fields, include |
socio_berlin_population | Population stock for Berlin (headline figures) at the Neighborhood level (LOR Planungsraum), semi-annual. Source: Amt für Statistik Berlin-Brandenburg.
Parameters:
- rbs: "stadt" (city) | "bezirk" (Borough) | "stadtteil" | "ortsteil" (District) | "planungsraum" (Neighborhood)
- bezirk_id, stadtteil_id, ortsteil_id, planungsraum_id: geographic filters
- start/end, recent, limit, fields, include: " params: rbs, bezirk_id, ortsteil_id, planungsraum_id, start, end, recent, limit, fields, include |
socio_berlin_age_groups | Berlin population by 8 age groups, additionally by population group. Source: Amt für Statistik Berlin-Brandenburg.
Parameters:
- rbs: "stadt" (city) | "bezirk" (Borough) | "stadtteil" | "ortsteil" (District) | "planungsraum" (Neighborhood, LOR Planungsraum)
- bevoelkerungsgruppe: "alle" (all) | "mit_migrationshintergrund" (with migration background) (optional)
- altersgruppe: age group, e.g. "alt params: rbs, bezirk_id, ortsteil_id, start, end, recent, limit, fields, include, bevoelkerungsgruppe, altersgruppe |
socio_berlin_origin | Berlin population with a migration background, by area of origin. Source: Amt für Statistik Berlin-Brandenburg.
⚠️ herkunft_ebene: "eu_gesamt" is the aggregate over the individual "eu_land" entries. The default (drittland,eu_gesamt,nicht_zuordenbar) prevents double-counting EU countries.
Parameters:
- rbs: "stadt" (city) | "bezirk" (Borough) | "stadtteil" | "ortsteil" (District) | "planungsraum" params: rbs, bezirk_id, stadtteil_id, ortsteil_id, planungsraum_id, start, end, recent, limit, fields, include, herkunftsgebiet, top |
socio_berlin_census_dwellings | Zensus 2022 dwelling stock data for Berlin. Source: Statistisches Bundesamt, Zensus 2022.
Without a category: total number of dwellings.
With a category:
- raeume: breakdown by number of rooms
- flaeche: breakdown by floor-area cluster (under 40 m², 40-59 m², etc.)
- nutzung: breakdown by type of use (owner-occupied, rented, vacant)
Parameters:
- rbs: "stadt" (city) | "bezirk" (Borough) | "stadt params: rbs, bezirk_id, ortsteil_id, planungsraum_id, start, end, recent, limit, fields, include, kategorie |
socio_berlin_census_vacancy | Zensus 2022 dwelling vacancy data for Berlin. Source: Statistisches Bundesamt, Zensus 2022.
Breakdown by vacancy category (duration or reason).
Parameters:
- rbs: "stadt" (city) | "bezirk" (Borough) | "stadtteil" | "ortsteil" (District) | "planungsraum" (Neighborhood, LOR Planungsraum)
- kategorie: "dauer" (duration) | "grund" (reason) (optional)
- bezirk_id, stadtteil_id, ortsteil_id, planungsr params: rbs, bezirk_id, ortsteil_id, start, end, recent, limit, fields, include, kategorie |
socio_berlin_census_rents | Zensus 2022 rent data for Berlin. Source: Statistisches Bundesamt, Zensus 2022.
Without a category: weighted average across all dwellings (net cold rent, net cold rent per m², count).
With category "flaeche": rent per m² by floor-area cluster.
Parameters:
- rbs: "stadt" (city) | "bezirk" (Borough) | "stadtteil" | "ortsteil" (District) | "planungsraum" (Neighborhood, LOR Planungsraum)
- kategorie params: rbs, bezirk_id, ortsteil_id, start, end, recent, limit, fields, include, kategorie |
socio_berlin_census_buildings | Zensus 2022 building data for Berlin. Source: Statistisches Bundesamt, Zensus 2022.
Without a category: total number of buildings.
With a category:
- bauweise: construction type (detached, row house, semi-detached)
- eigentumsform: ownership type (private individual, cooperative, municipality)
- heizungsart: heating type (central heating, per-floor heating, individual stoves)
- energietraeger: en params: rbs, bezirk_id, ortsteil_id, start, end, recent, limit, fields, include, kategorie |
socio_berlin_census_households | Zensus 2022 household data for Berlin. Source: Statistisches Bundesamt, Zensus 2022.
Without a category: total number of households.
With a category:
- groesse: household size (1 person, 2 persons, etc.)
- wohndauer: length of residence (under 1 year, 1-5 years, etc.)
Parameters:
- rbs: "stadt" (city) | "bezirk" (Borough) | "stadtteil" | "ortsteil" (District) | "planungsraum" (Neighborhood, LOR params: rbs, bezirk_id, ortsteil_id, start, end, recent, limit, fields, include, kategorie |
search | Semantic search over guthmann.estate — market insights, reports, neighborhood portraits, listing exposés, project pages and the company's own pages. Hybrid retrieval (vector + keyword, no reranking); one result per page with title, description, image, best-matching snippet and score. Use it for questions that need prose (analysis, context, advice); use the data tools for exact numbers and `listing params: q*, locale, section, limit |
Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.