Server definition
- Hash
- sha256:e53bdb5db6c247226f6c93d316428b6a03991144f572930bf56b442c2d11279f
- What it is
- What a remote MCP server returned when asked what it offers: 37 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "Returns details for one Berlin borough (Bezirk) by ID, optionally with all its districts.\n\nParameters:\n- bezirk_id (required): 2-digit ID (\"01\" to \"12\")\n- ortsteile: \"true\" to include all districts of the borough\n\nKey response fields: { bezirk_id, bezirk_name, ortsteile?: [...] } (ortsteile = districts)\n\nExample: bezirk_id=\"03\" → Pankow with 13 districts (Prenzlauer Berg, Weißensee, etc.)",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"bezirk_id": {
"pattern": "^\\d{2}$",
"type": "string"
},
"include": {
"type": "string"
},
"ortsteile": {
"default": "false",
"enum": [
"true",
"false"
],
"type": "string"
}
},
"required": [
"bezirk_id"
],
"type": "object"
},
"name": "berlin_borough_details",
"outputSchema": null
},
{
"description": "Returns all 12 Berlin boroughs (Bezirke) with IDs and names.\n\nKey response fields: array of { bezirk_id, bezirk_name }\n- bezirk_id: 2 digits (\"01\" to \"12\")\n- bezirk_name: e.g. \"Mitte\", \"Friedrichshain-Kreuzberg\", \"Pankow\"\n\nUse when:\n- You need an overview of Berlin's administrative structure\n- You need a bezirk_id for market data queries\n\nDo NOT use when:\n- You already know the bezirk_id → use berlin_borough_details directly",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "berlin_boroughs",
"outputSchema": null
},
{
"description": "Returns a single Berlin social conservation area (Milieuschutzgebiet) by ID. For main areas, associated extensions are embedded automatically.\n\nParameters:\n- id (required): 12-character hex string (deterministic area ID)\n- include: comma-separated geo attributes; available: \"centroid\". Polygons are provided as GeoJSON URLs in geometry_urls\n\nKey response fields: { id, name, kategorie_id, kategorie_name, parent_id, beschreibung (description), datum (date), flaeche_km2 (area in km²), geometry_urls, centroid?, erweiterungen? (extensions) }",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"id": {
"description": "12-stelliger Hex-String der Gebiets-ID",
"type": "string"
},
"include": {
"description": "Geo-Attribute: centroid. Polygone kommen als GeoJSON-URLs in geometry_urls",
"enum": [
"centroid"
],
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "berlin_conservation_area_details",
"outputSchema": null
},
{
"description": "Berlin social conservation areas (Milieuschutzgebiete, §172 BauGB). 124 areas in 6 categories with polygon geometry.\n\nParameters:\n- kategorie_id: filter by category (\"erhaltungsgebiet\" | \"erweiterung\" | \"aufstellungsbeschluss\" | \"untersuchungsgebiet\" | \"beobachtungsgebiet\" | \"aufgehoben\")\n- erweiterungen: \"true\" to embed extensions as a nested array inside their main area\n- include: comma-separated geo attributes; available: \"centroid\". Polygons are provided as GeoJSON URLs in geometry_urls\n- lat/lon: WGS84 point lookup. Returns only areas containing the point (typically 0 or 1 match). lat and lon must be provided together.\n\nKey response fields: array of { id, name, kategorie_id, kategorie_name, parent_id, beschreibung (description), datum (date), flaeche_km2 (area in km²), geometry_urls, centroid?, erweiterungen? (extensions) }\n\nUse for: \"Is this address in a social conservation area?\" (with lat/lon), overview of all Milieuschutz areas.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"erweiterungen": {
"description": "Erweiterungen als nested Array einbetten",
"enum": [
"true",
"false"
],
"type": "string"
},
"include": {
"description": "Geo-Attribute: centroid. Polygone kommen als GeoJSON-URLs in geometry_urls",
"enum": [
"centroid"
],
"type": "string"
},
"kategorie_id": {
"description": "Filter nach Kategorie",
"enum": [
"erhaltungsgebiet",
"erweiterung",
"aufstellungsbeschluss",
"untersuchungsgebiet",
"beobachtungsgebiet",
"aufgehoben"
],
"type": "string"
},
"lat": {
"description": "Breitengrad WGS84 für Punkt-Lookup (mit lon)",
"type": "number"
},
"lon": {
"description": "Längengrad WGS84 für Punkt-Lookup (mit lat)",
"type": "number"
}
},
"type": "object"
},
"name": "berlin_conservation_areas",
"outputSchema": null
},
{
"description": "Returns details for one Berlin district (Ortsteil) by ID, optionally with its neighborhoods.\n\nParameters:\n- ortsteil_id (required): 4-digit ID (e.g. \"0301\")\n- planungsraeume: \"true\" to include all neighborhoods of the district\n\nKey response fields: { ortsteil_id, ortsteil_name, bezirk_id, bezirk_name, planungsraeume?: [...] } (planungsraeume = neighborhoods)",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"include": {
"type": "string"
},
"ortsteil_id": {
"pattern": "^\\d{4}$",
"type": "string"
},
"planungsraeume": {
"default": "false",
"enum": [
"true",
"false"
],
"type": "string"
}
},
"required": [
"ortsteil_id"
],
"type": "object"
},
"name": "berlin_district_details",
"outputSchema": null
},
{
"description": "Returns all 97 Berlin districts (Ortsteile), optionally filtered by borough.\n\nParameters:\n- bezirk_id (optional): filter to the districts of one borough\n- bezirke: \"true\" to include borough references\n\nKey response fields: array of { ortsteil_id, ortsteil_name, bezirk_id?, bezirk_name? }\n- ortsteil_id: 4 digits (e.g. \"0301\" for Prenzlauer Berg)\n\nExamples of well-known districts:\n- Prenzlauer Berg (0301), Kreuzberg (0201), Mitte (0101)\n- Charlottenburg (0401), Neukölln (0801), Friedrichshain (0202)",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"bezirk_id": {
"pattern": "^\\d{2}$",
"type": "string"
},
"bezirke": {
"default": "false",
"enum": [
"true",
"false"
],
"type": "string"
},
"include": {
"type": "string"
}
},
"type": "object"
},
"name": "berlin_districts",
"outputSchema": null
},
{
"description": "Returns details for one Berlin neighborhood (LOR Planungsraum) by ID, optionally with its blocks.\n\nParameters:\n- planungsraum_id (required): 8-digit ID\n- bloecke: \"true\" to include all blocks of the neighborhood\n\nKey response fields: { planungsraum_id, planungsraum_name, bezirk_id, bezirk_name, ortsteil_id, ortsteil_name, bloecke?: [...] } (bloecke = blocks)",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"include": {
"type": "string"
},
"planungsraum_id": {
"pattern": "^\\d{8}$",
"type": "string"
}
},
"required": [
"planungsraum_id"
],
"type": "object"
},
"name": "berlin_neighborhood_details",
"outputSchema": null
},
{
"description": "Searches Berlin neighborhoods (LOR Planungsräume) by name.\n\nParameters:\n- q (required): search term (min. 3 characters)\n- limit: max. results (default: 25)\n- bezirk_id/ortsteil_id: optional filters to narrow the search\n\nExample: q=\"Kollwitz\" finds the \"Kollwitzplatz\" neighborhood",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"bezirk_id": {
"pattern": "^\\d{2}$",
"type": "string"
},
"bezirke": {
"default": "false",
"enum": [
"true",
"false"
],
"type": "string"
},
"include": {
"type": "string"
},
"limit": {
"description": "Maximale Anzahl Ergebnisse (öffentlich bis 1000)",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"ortsteil_id": {
"pattern": "^\\d{4}$",
"type": "string"
},
"ortsteile": {
"default": "false",
"enum": [
"true",
"false"
],
"type": "string"
},
"q": {
"minLength": 3,
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "berlin_neighborhood_search",
"outputSchema": null
},
{
"description": "Returns all 542 Berlin neighborhoods (LOR Planungsräume), optionally filtered by borough or district.\n\nParameters:\n- bezirk_id (optional): filter by borough\n- ortsteil_id (optional): filter by district\n- bezirke/ortsteile: \"true\" to include parent references\n\nKey response fields: array of { planungsraum_id, planungsraum_name, ... }\n- planungsraum_id: 8 digits (e.g. \"03010101\")\n\nNeighborhoods are the finest statistical level in Berlin.\nIdeal for granular market analyses.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"bezirk_id": {
"pattern": "^\\d{2}$",
"type": "string"
},
"bezirke": {
"default": "false",
"enum": [
"true",
"false"
],
"type": "string"
},
"include": {
"type": "string"
},
"ortsteil_id": {
"pattern": "^\\d{4}$",
"type": "string"
},
"ortsteile": {
"default": "false",
"enum": [
"true",
"false"
],
"type": "string"
}
},
"type": "object"
},
"name": "berlin_neighborhoods",
"outputSchema": null
},
{
"description": "Returns field definitions for interpreting API responses.\n\nUse this to understand fields, units, data types, and sources.\n\nParameters:\n- domain (optional): specific domain for detailed field information\n- locale: \"de\" (default) | \"en\"\n\nAvailable domains:\n- berlin: geographic reference data — Boroughs (Bezirke), Districts (Ortsteile), Neighborhoods (LOR Planungsräume)\n- immobilienmarkt.berlin.wohnungen: Berlin apartment market\n- immobilienmarkt.berlin.mehrfamilienhaeuser: Berlin apartment buildings\n- makrooekonomie.kapitalmarkt: mortgage lending rates, Bund yields\n- makrooekonomie.geldpolitik: ECB policy rates\n- makrooekonomie.arbeitsmarkt: unemployment, employment\n\nWithout a domain parameter: returns an overview of all available domains.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"domain": {
"description": "Domain für Feld-Metadaten. Weglassen für Übersicht aller Domains.",
"enum": [
"berlin",
"immobilienmarkt",
"immobilienmarkt.berlin.wohnungen",
"immobilienmarkt.berlin.mehrfamilienhaeuser",
"immobilienmarkt.de.wohnungen",
"immobilienmarkt.de.mehrfamilienhaeuser",
"makrooekonomie",
"makrooekonomie.kapitalmarkt",
"makrooekonomie.geldpolitik",
"makrooekonomie.arbeitsmarkt",
"makrooekonomie.preise",
"makrooekonomie.wirtschaft",
"soziodemografie",
"soziodemografie.berlin.zensus",
"soziodemografie.berlin.bautaetigkeit",
"soziodemografie.berlin.wanderung",
"soziodemografie.berlin.wanderung.matrix",
"soziodemografie.berlin.einwohner",
"soziodemografie.berlin.einwohner.altersgruppen",
"soziodemografie.berlin.einwohner.herkunft"
],
"type": "string"
},
"locale": {
"default": "de",
"description": "Sprache für Labels und Beschreibungen (Standard: de)",
"enum": [
"de",
"en"
],
"type": "string"
}
},
"type": "object"
},
"name": "field_metadata",
"outputSchema": null
},
{
"description": "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).\n\nParameters:\n- public_id: public listing id (hex, from listings or the exposé URL)\n- locale: \"de\" | \"en\" (default: en)",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"locale": {
"default": "en",
"enum": [
"de",
"en"
],
"type": "string"
},
"public_id": {
"pattern": "^[0-9a-f]{4,12}$",
"type": "string"
}
},
"required": [
"public_id"
],
"type": "object"
},
"name": "listing_details",
"outputSchema": null
},
{
"description": "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).\n\nParameters:\n- segment: \"APARTMENT_LIVING\" | \"APARTMENT_INVEST\" | \"APARTMENT_BUILDING\" | \"COMMERCIAL\"\n- bezirk / ortsteil: name filter, e.g. \"Pankow\" / \"Prenzlauer Berg\"\n- preis_min / preis_max: purchase price in EUR\n- zimmer_min, flaeche_min: lower bounds for rooms / living area (m²)\n- locale: \"de\" | \"en\" for title, texts and exposé URL (default: en)\n- limit: 1-100 (default: 50)\n\nKey response fields:\n- public_id (key for listing_details), titel (title), teaser, expose_url\n- kaufpreis (purchase price), kaufpreis_pro_qm (price per m²), kaltmiete (net rent), bruttorendite (gross yield), mietfaktor (price-to-rent multiple)\n- wohnflaeche (living area), anzahl_zimmer (rooms), baujahr (construction year), energie_wertklasse (energy class)\n- bezirk (Borough), ortsteil (District), plz (ZIP), adresse (null when adresse_verborgen), bild (small first-party preview image, suitable for inline display)",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"bezirk": {
"maxLength": 40,
"minLength": 2,
"type": "string"
},
"flaeche_min": {
"minimum": 1,
"type": "number"
},
"limit": {
"description": "Maximale Anzahl Ergebnisse (öffentlich bis 1000)",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"locale": {
"default": "en",
"enum": [
"de",
"en"
],
"type": "string"
},
"ortsteil": {
"maxLength": 40,
"minLength": 2,
"type": "string"
},
"preis_max": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"preis_min": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"segment": {
"enum": [
"APARTMENT_LIVING",
"APARTMENT_INVEST",
"APARTMENT_BUILDING",
"COMMERCIAL"
],
"type": "string"
},
"zimmer_min": {
"minimum": 1,
"type": "number"
}
},
"type": "object"
},
"name": "listings",
"outputSchema": null
},
{
"description": "Yields on German government bonds (Bunds). Source: Bundesbank.\n\nParameters:\n- start/end: YYYY-MM-DD\n- recent: number of most recent periods\n- limit, fields, include: \"metadata\"\n\nKey response fields (German names):\n- rendite_10j: 10-year Bund yield\n- rendite_15j: 15-year Bund yield\n- rendite_30j: 30-year Bund yield",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"end": {
"type": "string"
},
"fields": {
"type": "string"
},
"include": {
"type": "string"
},
"limit": {
"description": "Maximale Anzahl Ergebnisse (öffentlich bis 1000)",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"recent": {
"type": [
"string",
"number"
]
},
"start": {
"type": "string"
}
},
"type": "object"
},
"name": "macro_bund_yields",
"outputSchema": null
},
{
"description": "Construction price index for residential buildings. Source: Bundesbank.\n\nQuarterly data (2015=100).\n\nParameters:\n- start/end: YYYY-MM-DD\n- recent: number of most recent periods\n\nKey response fields (German names):\n- preisindex: construction price index\n- preisindex_delta_1q: change vs. previous quarter\n- preisindex_delta_1j: change vs. previous year",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"end": {
"type": "string"
},
"fields": {
"type": "string"
},
"include": {
"type": "string"
},
"limit": {
"description": "Maximale Anzahl Ergebnisse (öffentlich bis 1000)",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"recent": {
"type": [
"string",
"number"
]
},
"start": {
"type": "string"
}
},
"type": "object"
},
"name": "macro_construction_prices",
"outputSchema": null
},
{
"description": "ECB key interest rates. Source: Bundesbank.\n\nParameters:\n- start/end: YYYY-MM-DD\n- recent: number of most recent periods\n- limit, fields, include: \"metadata\"\n\nKey response fields (German names):\n- zinssatz_hauptrefinanzierungssatz: main refinancing rate (the ECB's key rate)\n- zinssatz_einlagefazilitaet: deposit facility rate\n- zinssatz_spitzenrefinanzierungsfazilitaet: marginal lending facility rate",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"end": {
"type": "string"
},
"fields": {
"type": "string"
},
"include": {
"type": "string"
},
"limit": {
"description": "Maximale Anzahl Ergebnisse (öffentlich bis 1000)",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"recent": {
"type": [
"string",
"number"
]
},
"start": {
"type": "string"
}
},
"type": "object"
},
"name": "macro_ecb_policy_rates",
"outputSchema": null
},
{
"description": "GDP data (gross domestic product). Source: Bundesbank.\n\nQuarterly data, price-adjusted, seasonally and calendar-adjusted (2015=100).\n\nParameters:\n- start/end: YYYY-MM-DD\n- recent: number of most recent periods\n\nKey response fields (German names):\n- kettenindex: GDP chain-linked index\n- kettenindex_delta_1q: change vs. previous quarter\n- kettenindex_delta_1j: change vs. previous year",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"end": {
"type": "string"
},
"fields": {
"type": "string"
},
"include": {
"type": "string"
},
"limit": {
"description": "Maximale Anzahl Ergebnisse (öffentlich bis 1000)",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"recent": {
"type": [
"string",
"number"
]
},
"start": {
"type": "string"
}
},
"type": "object"
},
"name": "macro_gdp",
"outputSchema": null
},
{
"description": "Inflation data (HICP - harmonized index of consumer prices). Source: Bundesbank.\n\nParameters:\n- start/end: YYYY-MM-DD\n- recent: number of most recent periods\n\nKey response fields (German names):\n- hvpi_gesamt: overall HICP\n- hvpi_gesamt_ohne_energie_nahrungsmittel: core inflation (HICP excluding energy and food)\n- hvpi_energie, hvpi_nahrungsmittel, hvpi_dienstleistungen, hvpi_mieten: energy, food, services, rents",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"end": {
"type": "string"
},
"fields": {
"type": "string"
},
"include": {
"type": "string"
},
"limit": {
"description": "Maximale Anzahl Ergebnisse (öffentlich bis 1000)",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"recent": {
"type": [
"string",
"number"
]
},
"start": {
"type": "string"
}
},
"type": "object"
},
"name": "macro_inflation_hicp",
"outputSchema": null
},
{
"description": "Employment statistics. Source: Bundesbank.\n\nParameters:\n- start/end: YYYY-MM-DD\n- recent: number of most recent periods\n\nKey response fields (German names):\n- erwerbstaetige: persons in employment (seasonally adjusted)\n- sv_beschaeftigte: employees subject to social insurance contributions\n- geringfuegig_beschaeftigte: marginally employed (mini-jobs)",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"end": {
"type": "string"
},
"fields": {
"type": "string"
},
"include": {
"type": "string"
},
"limit": {
"description": "Maximale Anzahl Ergebnisse (öffentlich bis 1000)",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"recent": {
"type": [
"string",
"number"
]
},
"start": {
"type": "string"
}
},
"type": "object"
},
"name": "macro_labor_employment",
"outputSchema": null
},
{
"description": "Short-time work (Kurzarbeit) statistics. Source: Bundesbank.\n\nParameters:\n- start/end: YYYY-MM-DD\n- recent: number of most recent periods\n\nKey response fields (German names):\n- kurzarbeiter: short-time workers (seasonally adjusted)",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"end": {
"type": "string"
},
"fields": {
"type": "string"
},
"include": {
"type": "string"
},
"limit": {
"description": "Maximale Anzahl Ergebnisse (öffentlich bis 1000)",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"recent": {
"type": [
"string",
"number"
]
},
"start": {
"type": "string"
}
},
"type": "object"
},
"name": "macro_labor_short_time_work",
"outputSchema": null
},
{
"description": "Unemployment statistics. Source: Bundesbank.\n\nParameters:\n- start/end: YYYY-MM-DD\n- recent: number of most recent periods\n\nKey response fields (German names):\n- arbeitslose: registered unemployed (seasonally adjusted)\n- arbeitslosenquote: unemployment rate (%)",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"end": {
"type": "string"
},
"fields": {
"type": "string"
},
"include": {
"type": "string"
},
"limit": {
"description": "Maximale Anzahl Ergebnisse (öffentlich bis 1000)",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"recent": {
"type": [
"string",
"number"
]
},
"start": {
"type": "string"
}
},
"type": "object"
},
"name": "macro_labor_unemployment",
"outputSchema": null
},
{
"description": "Mortgage rates for residential housing loans. Source: Bundesbank.\n\nParameters:\n- start/end: YYYY-MM-DD\n- recent: number of most recent periods\n- limit, fields, include: \"metadata\"\n\nKey response fields (German names):\n- zinssatz_gesamt: average rate across all fixed-interest periods\n- zinssatz_5_bis_10j: rate for 5-10 year fixed-interest periods\n- zinssatz_ueber_10j: rate for fixed-interest periods over 10 years\n- volumen_gesamt: new lending volume",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"end": {
"type": "string"
},
"fields": {
"type": "string"
},
"include": {
"type": "string"
},
"limit": {
"description": "Maximale Anzahl Ergebnisse (öffentlich bis 1000)",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"recent": {
"type": [
"string",
"number"
]
},
"start": {
"type": "string"
}
},
"type": "object"
},
"name": "macro_mortgage_lending",
"outputSchema": null
},
{
"description": "Berlin apartment building market (rental buildings, \"Zinshäuser\") - transaction data. Source: transaction data from the Berlin committee of valuation experts (GAA, Gutachterausschuss).\n\nParameters:\n- rbs: \"stadt\" | \"bezirk\" | \"stadtteil\" | \"ortsteil\" — bezirk = Borough, ortsteil = District\n\nTime filters:\n- start/end: flexible date values (YYYY, YYYY-MM, YYYY-MM-DD)\n- recent: number of most recent periods (alternative to start/end)\n\nAdditional filters:\n- bezirk_id, stadtteil_id, ortsteil_id\n- limit, fields, include: \"metadata\"\n\nKey response fields:\n- transaktionspreis: average total purchase price (€)\n- transaktionen: number of transactions\n- vielfaches: purchase price multiplier (purchase price / annual net cold rent)\n- vielfaches_delta_*j: absolute change of the multiplier (1y, 5y, 10y, 15y)\n- transaktionspreis_m2: price per m² of living space\n\nIdeal for: investment market analysis, yield comparisons across locations",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"bezirk_id": {
"type": "string"
},
"end": {
"type": "string"
},
"fields": {
"type": "string"
},
"include": {
"type": "string"
},
"limit": {
"description": "Maximale Anzahl Ergebnisse (öffentlich bis 1000)",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"ortsteil_id": {
"type": "string"
},
"rbs": {
"default": "stadt",
"enum": [
"stadt",
"bezirk",
"ortsteil"
],
"type": "string"
},
"recent": {
"type": [
"string",
"number"
]
},
"start": {
"type": "string"
}
},
"type": "object"
},
"name": "market_berlin_apartment_buildings",
"outputSchema": null
},
{
"description": "Berlin apartment market data (listings + transactions). Sources: listing/offer data (IMV) + transaction data from the Berlin committee of valuation experts (GAA, Gutachterausschuss).\n\nParameters:\n- zeitraum: \"jahr\" (default) | \"monat\" | \"quartal\" (abgeschlossene Quartale)\n - jahr: transaction data (GAA) + listing data (IMV), finest level: block\n - monat: listing data (IMV) only, finest level: District (Ortsteil)\n - quartal: listing data (IMV) only, closed quarters, finest level: District (Ortsteil)\n\n- rbs: spatial aggregation level — bezirk = Borough, ortsteil = District, planungsraum = Neighborhood (LOR Planungsraum)\n - For zeitraum=jahr: \"stadt\" | \"bezirk\" | \"stadtteil\" | \"ortsteil\" | \"planungsraum\" | \"block\"\n - For zeitraum=monat or quartal: \"stadt\" | \"bezirk\" | \"stadtteil\" | \"ortsteil\"\n\nTime filters:\n- start/end: flexible date values (YYYY, YYYY-MM, YYYY-MM-DD)\n- recent: number of most recent periods (alternative to start/end)\n\nAdditional filters:\n- bezirk_id, stadtteil_id, ortsteil_id, planungsraum_id, block_id\n- baualtertyp: \"neubau\" (new construction) | \"bestand\" (existing stock)\n- limit, fields, include: \"metadata\"\n\nKey response fields (depending on zeitraum):\n- zeitraum=jahr: transaktionspreis_m2 (transaction price per m²), anzahl_transaktionen (number of transactions), kaufangebotspreis_m2 (asking sale price per m²), mietangebotspreis_m2 (asking rent per m²)\n- zeitraum=monat: kaufangebotspreis_m2, anzahl_kaufangebote (number of sale listings), kaufangebot_vermarktungszeit (time on market)",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"baualtertyp": {
"enum": [
"bestand",
"neubau"
],
"type": "string"
},
"bezirk_id": {
"type": "string"
},
"end": {
"type": "string"
},
"fields": {
"type": "string"
},
"include": {
"type": "string"
},
"limit": {
"description": "Maximale Anzahl Ergebnisse (öffentlich bis 1000)",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"ortsteil_id": {
"type": "string"
},
"planungsraum_id": {
"type": "string"
},
"rbs": {
"default": "stadt",
"enum": [
"stadt",
"bezirk",
"ortsteil",
"planungsraum"
],
"type": "string"
},
"recent": {
"type": [
"string",
"number"
]
},
"start": {
"type": "string"
}
},
"type": "object"
},
"name": "market_berlin_apartments",
"outputSchema": null
},
{
"description": "National price index data for the German apartment building market. Source: vdp.\n\nQuarterly data for apartment buildings (rental buildings, \"Mehrfamilienhäuser\") across Germany.\n\nTime filters:\n- start/end: flexible date values (YYYY, YYYY-MM, YYYY-MM-DD)\n- recent: number of most recent periods (quarters)\n\nResponse controls:\n- limit, fields, include: \"metadata\"\n\nKey response fields:\n- preisindex: price index for apartment buildings\n- preisindex_delta_1q: quarter-over-quarter change\n- preisindex_delta_1j: year-over-year change",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"end": {
"description": "Ende des Zeitraums (YYYY, YYYY-MM oder YYYY-MM-DD)",
"type": "string"
},
"fields": {
"description": "Komma-getrennte Feldnamen",
"type": "string"
},
"include": {
"description": "metadata für Feld-Metadaten inline",
"type": "string"
},
"limit": {
"description": "Maximale Anzahl Ergebnisse (öffentlich bis 1000)",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"recent": {
"description": "Anzahl der aktuellsten Perioden",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"start": {
"description": "Beginn des Zeitraums (YYYY, YYYY-MM oder YYYY-MM-DD)",
"type": "string"
}
},
"type": "object"
},
"name": "market_germany_apartment_buildings",
"outputSchema": null
},
{
"description": "National market data for the German residential real estate market. Sources: DESTATIS, vdp, HYPOPORT.\n\nIncludes price AND transaction indices for various market segments.\n\nParameters:\n- zeitraum: \"jahr\" (default) | \"quartal\"\n - jahr: all price and transaction indices, regional and per source\n - quartal: only the Germany-wide price indices of DESTATIS, vdp and HYPOPORT, current up to the second-to-last quarter; periode like \"2026-Q2\"; DESTATIS arrives one quarter after the other two\n\nTime filters:\n- start/end: flexible date values (YYYY, YYYY-MM, YYYY-MM-DD)\n- recent: number of most recent periods (years or quarters)\n\nResponse controls:\n- limit, fields, include: \"metadata\"\n\nKey response fields:\nPRICE INDICES:\n- preisindex_gesamt_destatis, preisindex_gesamt_vdp, preisindex_gesamt_hypoport (overall price index per source)\n- preisindex_landkreise_kreisfreie_staedte (all districts), preisindex_grossstaedte_top_7 (top-7 major cities), preisindex_staedte_top_127 (top-127 cities) (zeitraum=jahr only)\n\n- *_delta_1j / *_delta_proz_1j: change vs. previous year (quarterly: vs. same quarter a year earlier)\n- *_delta_1q / *_delta_proz_1q: change vs. previous quarter (zeitraum=quartal only)\n\nTRANSACTION INDICES (zeitraum=jahr only):\n- transaktionsindex_landkreise_kreisfreie_staedte, transaktionsindex_grossstaedte_top_7, transaktionsindex_staedte_top_127",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"end": {
"description": "Ende des Zeitraums (YYYY, YYYY-MM oder YYYY-MM-DD)",
"type": "string"
},
"fields": {
"description": "Komma-getrennte Feldnamen",
"type": "string"
},
"include": {
"description": "metadata für Feld-Metadaten inline",
"type": "string"
},
"limit": {
"description": "Maximale Anzahl Ergebnisse (öffentlich bis 1000)",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"recent": {
"description": "Anzahl der aktuellsten Perioden",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"start": {
"description": "Beginn des Zeitraums (YYYY, YYYY-MM oder YYYY-MM-DD)",
"type": "string"
},
"zeitraum": {
"default": "jahr",
"enum": [
"jahr",
"quartal"
],
"type": "string"
}
},
"type": "object"
},
"name": "market_germany_residential",
"outputSchema": null
},
{
"description": "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 `listings` for what is currently for sale — the search index follows the website with up to six hours of delay.\n\nParameters:\n- q: natural-language query, in the language of the pages you want (min 2 characters)\n- locale: \"de\" | \"en\" — language of the indexed pages (default: en)\n- section: comma-separated filter — \"listings\" (exposés), \"projects\" (new-build projects), \"market-intelligence\" (insights, reports, portraits), \"pages\" (company, services, guides); omit for all\n- limit: 1-20 pages (default: 10)\n\nKey response fields:\n- url, title, description, image, section, language\n- snippet (best-matching text passage), score (0-1)",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"description": "Maximale Anzahl Ergebnisse (öffentlich bis 20)",
"maximum": 20,
"minimum": 1,
"type": "integer"
},
"locale": {
"default": "en",
"enum": [
"de",
"en"
],
"type": "string"
},
"q": {
"maxLength": 200,
"minLength": 2,
"type": "string"
},
"section": {
"pattern": "^(listings|projects|market-intelligence|pages)(,(listings|projects|market-intelligence|pages))*$",
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"name": "search",
"outputSchema": null
},
{
"description": "Berlin population by 8 age groups, additionally by population group. Source: Amt für Statistik Berlin-Brandenburg.\n\nParameters:\n- rbs: \"stadt\" (city) | \"bezirk\" (Borough) | \"stadtteil\" | \"ortsteil\" (District) | \"planungsraum\" (Neighborhood, LOR Planungsraum)\n- bevoelkerungsgruppe: \"alle\" (all) | \"mit_migrationshintergrund\" (with migration background) (optional)\n- altersgruppe: age group, e.g. \"alter_unter_6\", \"alter_65_und_mehr\" (optional)\n- bezirk_id, stadtteil_id, ortsteil_id, planungsraum_id: geographic filters\n- start/end, recent, limit, fields, include: \"metadata\"\n\nKey response fields:\n- bevoelkerungsgruppe_id/_name (population group), altersgruppe_id/_name (age group), anzahl_einwohner (number of residents)",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"altersgruppe": {
"description": "Altersgruppe (z.B. alter_unter_6)",
"type": "string"
},
"bevoelkerungsgruppe": {
"description": "Bevölkerungsgruppe: alle, mit_migrationshintergrund",
"enum": [
"alle",
"mit_migrationshintergrund"
],
"type": "string"
},
"bezirk_id": {
"description": "Bezirk-ID (2-stellig, z.B. \"03\")",
"type": "string"
},
"end": {
"description": "Ende (YYYY, YYYY-MM, YYYY-MM-DD)",
"type": "string"
},
"fields": {
"description": "Komma-getrennte Feldnamen",
"type": "string"
},
"include": {
"description": "metadata für Feld-Metadaten inline",
"type": "string"
},
"limit": {
"description": "Maximale Anzahl Ergebnisse (öffentlich bis 1000)",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"ortsteil_id": {
"description": "Ortsteil-ID (4-stellig, z.B. \"0301\")",
"type": "string"
},
"rbs": {
"default": "stadt",
"enum": [
"stadt",
"bezirk",
"ortsteil"
],
"type": "string"
},
"recent": {
"description": "Anzahl der aktuellsten Perioden",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"start": {
"description": "Beginn (YYYY, YYYY-MM, YYYY-MM-DD)",
"type": "string"
}
},
"type": "object"
},
"name": "socio_berlin_age_groups",
"outputSchema": null
},
{
"description": "Zensus 2022 building data for Berlin. Source: Statistisches Bundesamt, Zensus 2022.\n\nWithout a category: total number of buildings.\nWith a category:\n- bauweise: construction type (detached, row house, semi-detached)\n- eigentumsform: ownership type (private individual, cooperative, municipality)\n- heizungsart: heating type (central heating, per-floor heating, individual stoves)\n- energietraeger: energy source (gas, oil, district heating, electricity)\n\nParameters:\n- rbs: \"stadt\" (city) | \"bezirk\" (Borough) | \"stadtteil\" | \"ortsteil\" (District) | \"planungsraum\" (Neighborhood, LOR Planungsraum)\n- kategorie: \"bauweise\" | \"eigentumsform\" | \"heizungsart\" | \"energietraeger\" (optional)\n- bezirk_id, stadtteil_id, ortsteil_id, planungsraum_id: geographic filters\n- start/end, recent, limit, fields, include: \"metadata\"",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"bezirk_id": {
"description": "Bezirk-ID (2-stellig, z.B. \"03\")",
"type": "string"
},
"end": {
"description": "Ende (YYYY, YYYY-MM, YYYY-MM-DD)",
"type": "string"
},
"fields": {
"description": "Komma-getrennte Feldnamen",
"type": "string"
},
"include": {
"description": "metadata für Feld-Metadaten inline",
"type": "string"
},
"kategorie": {
"description": "Kategorie: bauweise, eigentumsform, heizungsart, energietraeger",
"enum": [
"bauweise",
"eigentumsform",
"heizungsart",
"energietraeger"
],
"type": "string"
},
"limit": {
"description": "Maximale Anzahl Ergebnisse (öffentlich bis 1000)",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"ortsteil_id": {
"description": "Ortsteil-ID (4-stellig, z.B. \"0301\")",
"type": "string"
},
"rbs": {
"default": "stadt",
"enum": [
"stadt",
"bezirk",
"ortsteil"
],
"type": "string"
},
"recent": {
"description": "Anzahl der aktuellsten Perioden",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"start": {
"description": "Beginn (YYYY, YYYY-MM, YYYY-MM-DD)",
"type": "string"
}
},
"type": "object"
},
"name": "socio_berlin_census_buildings",
"outputSchema": null
},
{
"description": "Zensus 2022 dwelling stock data for Berlin. Source: Statistisches Bundesamt, Zensus 2022.\n\nWithout a category: total number of dwellings.\nWith a category:\n- raeume: breakdown by number of rooms\n- flaeche: breakdown by floor-area cluster (under 40 m², 40-59 m², etc.)\n- nutzung: breakdown by type of use (owner-occupied, rented, vacant)\n\nParameters:\n- rbs: \"stadt\" (city) | \"bezirk\" (Borough) | \"stadtteil\" | \"ortsteil\" (District) | \"planungsraum\" (Neighborhood, LOR Planungsraum)\n- kategorie: \"raeume\" | \"flaeche\" | \"nutzung\" (optional)\n- bezirk_id, stadtteil_id, ortsteil_id, planungsraum_id: geographic filters\n- start/end, recent, limit, fields, include: \"metadata\"",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"bezirk_id": {
"description": "Bezirk-ID (2-stellig, z.B. \"03\")",
"type": "string"
},
"end": {
"description": "Ende (YYYY, YYYY-MM, YYYY-MM-DD)",
"type": "string"
},
"fields": {
"description": "Komma-getrennte Feldnamen",
"type": "string"
},
"include": {
"description": "metadata für Feld-Metadaten inline",
"type": "string"
},
"kategorie": {
"description": "Kategorie: raeume, flaeche, nutzung",
"enum": [
"raeume",
"flaeche",
"nutzung"
],
"type": "string"
},
"limit": {
"description": "Maximale Anzahl Ergebnisse (öffentlich bis 1000)",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"ortsteil_id": {
"description": "Ortsteil-ID (4-stellig, z.B. \"0301\")",
"type": "string"
},
"planungsraum_id": {
"description": "Planungsraum-ID (8-stellig)",
"type": "string"
},
"rbs": {
"default": "stadt",
"enum": [
"stadt",
"bezirk",
"ortsteil",
"planungsraum"
],
"type": "string"
},
"recent": {
"description": "Anzahl der aktuellsten Perioden",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"start": {
"description": "Beginn (YYYY, YYYY-MM, YYYY-MM-DD)",
"type": "string"
}
},
"type": "object"
},
"name": "socio_berlin_census_dwellings",
"outputSchema": null
},
{
"description": "Zensus 2022 household data for Berlin. Source: Statistisches Bundesamt, Zensus 2022.\n\nWithout a category: total number of households.\nWith a category:\n- groesse: household size (1 person, 2 persons, etc.)\n- wohndauer: length of residence (under 1 year, 1-5 years, etc.)\n\nParameters:\n- rbs: \"stadt\" (city) | \"bezirk\" (Borough) | \"stadtteil\" | \"ortsteil\" (District) | \"planungsraum\" (Neighborhood, LOR Planungsraum)\n- kategorie: \"groesse\" | \"wohndauer\" (optional)\n- bezirk_id, stadtteil_id, ortsteil_id, planungsraum_id: geographic filters\n- start/end, recent, limit, fields, include: \"metadata\"",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"bezirk_id": {
"description": "Bezirk-ID (2-stellig, z.B. \"03\")",
"type": "string"
},
"end": {
"description": "Ende (YYYY, YYYY-MM, YYYY-MM-DD)",
"type": "string"
},
"fields": {
"description": "Komma-getrennte Feldnamen",
"type": "string"
},
"include": {
"description": "metadata für Feld-Metadaten inline",
"type": "string"
},
"kategorie": {
"description": "Kategorie: groesse, wohndauer",
"enum": [
"groesse",
"wohndauer"
],
"type": "string"
},
"limit": {
"description": "Maximale Anzahl Ergebnisse (öffentlich bis 1000)",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"ortsteil_id": {
"description": "Ortsteil-ID (4-stellig, z.B. \"0301\")",
"type": "string"
},
"rbs": {
"default": "stadt",
"enum": [
"stadt",
"bezirk",
"ortsteil"
],
"type": "string"
},
"recent": {
"description": "Anzahl der aktuellsten Perioden",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"start": {
"description": "Beginn (YYYY, YYYY-MM, YYYY-MM-DD)",
"type": "string"
}
},
"type": "object"
},
"name": "socio_berlin_census_households",
"outputSchema": null
},
{
"description": "Zensus 2022 rent data for Berlin. Source: Statistisches Bundesamt, Zensus 2022.\n\nWithout a category: weighted average across all dwellings (net cold rent, net cold rent per m², count).\nWith category \"flaeche\": rent per m² by floor-area cluster.\n\nParameters:\n- rbs: \"stadt\" (city) | \"bezirk\" (Borough) | \"stadtteil\" | \"ortsteil\" (District) | \"planungsraum\" (Neighborhood, LOR Planungsraum)\n- kategorie: \"flaeche\" (optional)\n- bezirk_id, stadtteil_id, ortsteil_id, planungsraum_id: geographic filters\n- start/end, recent, limit, fields, include: \"metadata\"\n\nKey response fields:\n- nettokaltmiete: average net cold rent (EUR)\n- nettokaltmiete_m2: net cold rent per m² (EUR)\n- anzahl_wohnungen: number of dwellings",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"bezirk_id": {
"description": "Bezirk-ID (2-stellig, z.B. \"03\")",
"type": "string"
},
"end": {
"description": "Ende (YYYY, YYYY-MM, YYYY-MM-DD)",
"type": "string"
},
"fields": {
"description": "Komma-getrennte Feldnamen",
"type": "string"
},
"include": {
"description": "metadata für Feld-Metadaten inline",
"type": "string"
},
"kategorie": {
"description": "Kategorie: flaeche. Ohne: Gesamtdurchschnitt",
"enum": [
"flaeche"
],
"type": "string"
},
"limit": {
"description": "Maximale Anzahl Ergebnisse (öffentlich bis 1000)",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"ortsteil_id": {
"description": "Ortsteil-ID (4-stellig, z.B. \"0301\")",
"type": "string"
},
"rbs": {
"default": "stadt",
"enum": [
"stadt",
"bezirk",
"ortsteil"
],
"type": "string"
},
"recent": {
"description": "Anzahl der aktuellsten Perioden",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"start": {
"description": "Beginn (YYYY, YYYY-MM, YYYY-MM-DD)",
"type": "string"
}
},
"type": "object"
},
"name": "socio_berlin_census_rents",
"outputSchema": null
},
{
"description": "Zensus 2022 dwelling vacancy data for Berlin. Source: Statistisches Bundesamt, Zensus 2022.\n\nBreakdown by vacancy category (duration or reason).\n\nParameters:\n- rbs: \"stadt\" (city) | \"bezirk\" (Borough) | \"stadtteil\" | \"ortsteil\" (District) | \"planungsraum\" (Neighborhood, LOR Planungsraum)\n- kategorie: \"dauer\" (duration) | \"grund\" (reason) (optional)\n- bezirk_id, stadtteil_id, ortsteil_id, planungsraum_id: geographic filters\n- start/end, recent, limit, fields, include: \"metadata\"\n\nKey response fields:\n- kategorie_id, kategorie_label: vacancy category\n- anzahl: number of vacant dwellings",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"bezirk_id": {
"description": "Bezirk-ID (2-stellig, z.B. \"03\")",
"type": "string"
},
"end": {
"description": "Ende (YYYY, YYYY-MM, YYYY-MM-DD)",
"type": "string"
},
"fields": {
"description": "Komma-getrennte Feldnamen",
"type": "string"
},
"include": {
"description": "metadata für Feld-Metadaten inline",
"type": "string"
},
"kategorie": {
"description": "Kategorie: dauer, grund",
"enum": [
"dauer",
"grund"
],
"type": "string"
},
"limit": {
"description": "Maximale Anzahl Ergebnisse (öffentlich bis 1000)",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"ortsteil_id": {
"description": "Ortsteil-ID (4-stellig, z.B. \"0301\")",
"type": "string"
},
"rbs": {
"default": "stadt",
"enum": [
"stadt",
"bezirk",
"ortsteil"
],
"type": "string"
},
"recent": {
"description": "Anzahl der aktuellsten Perioden",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"start": {
"description": "Beginn (YYYY, YYYY-MM, YYYY-MM-DD)",
"type": "string"
}
},
"type": "object"
},
"name": "socio_berlin_census_vacancy",
"outputSchema": null
},
{
"description": "Construction activity data for Berlin. Source: Amt für Statistik Berlin-Brandenburg.\n\nShows net changes: building balance, dwelling balance, living-space balance.\n\nParameters:\n- rbs: \"stadt\" (city) | \"bezirk\" (Borough) | \"stadtteil\" | \"ortsteil\" (District) | \"planungsraum\" (Neighborhood, LOR Planungsraum)\n- bezirk_id, stadtteil_id, ortsteil_id, planungsraum_id: geographic filters\n- start/end: period (YYYY, YYYY-MM, YYYY-MM-DD)\n- recent: number of most recent periods\n- limit, fields, include: \"metadata\"\n\nKey response fields:\n- gebaeude_saldo: net change in number of buildings\n- wohnungen_saldo: net change in number of dwellings\n- wohnflaeche_m2_saldo: net change in living space (m²)",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"bezirk_id": {
"description": "Bezirk-ID (2-stellig, z.B. \"03\")",
"type": "string"
},
"end": {
"description": "Ende (YYYY, YYYY-MM, YYYY-MM-DD)",
"type": "string"
},
"fields": {
"description": "Komma-getrennte Feldnamen",
"type": "string"
},
"include": {
"description": "metadata für Feld-Metadaten inline",
"type": "string"
},
"limit": {
"description": "Maximale Anzahl Ergebnisse (öffentlich bis 1000)",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"ortsteil_id": {
"description": "Ortsteil-ID (4-stellig, z.B. \"0301\")",
"type": "string"
},
"rbs": {
"default": "stadt",
"enum": [
"stadt",
"bezirk",
"ortsteil"
],
"type": "string"
},
"recent": {
"description": "Anzahl der aktuellsten Perioden",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"start": {
"description": "Beginn (YYYY, YYYY-MM, YYYY-MM-DD)",
"type": "string"
}
},
"type": "object"
},
"name": "socio_berlin_construction_activity",
"outputSchema": null
},
{
"description": "External migration for Berlin: migration across the city boundary, annual, by nationality. Source: Amt für Statistik Berlin-Brandenburg.\n\nParameters:\n- rbs: \"stadt\" (city) | \"bezirk\" (Borough) | \"stadtteil\" | \"ortsteil\" (District) | \"planungsraum\" (Neighborhood, LOR Planungsraum)\n- bezirk_id, stadtteil_id, ortsteil_id, planungsraum_id: geographic filters\n- staat_code: filter by country code (e.g. \"000\" for Germany)\n- alpha2: filter by ISO 3166-1 alpha-2 code (e.g. \"TR\")\n- start/end, recent, limit, fields, include: \"metadata\"\n\nKey response fields:\n- zuzuege: move-ins to Berlin\n- fortzuege: move-outs from Berlin\n- saldo: net migration (move-ins minus move-outs)",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"alpha2": {
"description": "ISO 3166-1 Alpha-2 (z.B. \"TR\")",
"type": "string"
},
"bezirk_id": {
"description": "Bezirk-ID (2-stellig, z.B. \"03\")",
"type": "string"
},
"end": {
"description": "Ende (YYYY, YYYY-MM, YYYY-MM-DD)",
"type": "string"
},
"fields": {
"description": "Komma-getrennte Feldnamen",
"type": "string"
},
"include": {
"description": "metadata für Feld-Metadaten inline",
"type": "string"
},
"limit": {
"description": "Maximale Anzahl Ergebnisse (öffentlich bis 1000)",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"ortsteil_id": {
"description": "Ortsteil-ID (4-stellig, z.B. \"0301\")",
"type": "string"
},
"rbs": {
"default": "stadt",
"enum": [
"stadt",
"bezirk",
"ortsteil"
],
"type": "string"
},
"recent": {
"description": "Anzahl der aktuellsten Perioden",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"staat_code": {
"description": "Staatencode (3-stellig, z.B. \"000\")",
"type": "string"
},
"start": {
"description": "Beginn (YYYY, YYYY-MM, YYYY-MM-DD)",
"type": "string"
}
},
"type": "object"
},
"name": "socio_berlin_migration_external",
"outputSchema": null
},
{
"description": "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.\n\nParameters:\n- rbs: \"stadt\" (city) | \"bezirk\" (Borough) | \"stadtteil\" | \"ortsteil\" (District) | \"planungsraum\" (Neighborhood, LOR Planungsraum) (default: bezirk)\n- von_rbs_id: filter by origin-area ID\n- nach_rbs_id: filter by destination-area ID\n- min_personen: lower bound on number of persons (default 1)\n- start/end, recent, limit, fields, include: \"metadata\"\n\nKey response fields:\n- von_rbs_id/von_rbs_name: origin area\n- nach_rbs_id/nach_rbs_name: destination area\n- anzahl_personen: number of moves",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"end": {
"description": "Ende (YYYY, YYYY-MM, YYYY-MM-DD)",
"type": "string"
},
"fields": {
"description": "Komma-getrennte Feldnamen",
"type": "string"
},
"include": {
"description": "metadata für Feld-Metadaten inline",
"type": "string"
},
"limit": {
"description": "Maximale Anzahl Ergebnisse (öffentlich bis 1000)",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"min_personen": {
"description": "Untere Schranke Anzahl Personen (Default 1)",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"nach_rbs_id": {
"description": "Filter Zielraum-ID",
"type": "string"
},
"rbs": {
"default": "bezirk",
"enum": [
"bezirk",
"ortsteil"
],
"type": "string"
},
"recent": {
"description": "Anzahl der aktuellsten Perioden",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"start": {
"description": "Beginn (YYYY, YYYY-MM, YYYY-MM-DD)",
"type": "string"
},
"von_rbs_id": {
"description": "Filter Herkunftsraum-ID",
"type": "string"
}
},
"type": "object"
},
"name": "socio_berlin_migration_matrix",
"outputSchema": null
},
{
"description": "Berlin population with a migration background, by area of origin. Source: Amt für Statistik Berlin-Brandenburg.\n\n⚠️ 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.\n\nParameters:\n- rbs: \"stadt\" (city) | \"bezirk\" (Borough) | \"stadtteil\" | \"ortsteil\" (District) | \"planungsraum\" (Neighborhood, LOR Planungsraum)\n- herkunft_ebene: origin level, comma-separated, e.g. \"drittland,eu_gesamt\" (optional; default prevents double counting)\n- herkunftsgebiet: area of origin, e.g. \"tuerkei\", \"ukraine\", \"eu\" (optional)\n- top: top N areas of origin by count (optional)\n- bezirk_id, stadtteil_id, ortsteil_id, planungsraum_id: geographic filters\n- start/end, recent, limit, fields, include: \"metadata\"\n\nKey response fields:\n- herkunftsgebiet_id/_name (area of origin), herkunft_ebene (origin level), anzahl_einwohner_mit_migrationshintergrund (residents with a migration background)",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"bezirk_id": {
"description": "Bezirk-ID (2-stellig, z.B. \"03\")",
"type": "string"
},
"end": {
"description": "Ende (YYYY, YYYY-MM, YYYY-MM-DD)",
"type": "string"
},
"fields": {
"description": "Komma-getrennte Feldnamen",
"type": "string"
},
"herkunftsgebiet": {
"description": "Herkunftsgebiet (z.B. tuerkei, ukraine, eu)",
"type": "string"
},
"include": {
"description": "metadata für Feld-Metadaten inline",
"type": "string"
},
"limit": {
"description": "Maximale Anzahl Ergebnisse (öffentlich bis 1000)",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"ortsteil_id": {
"description": "Ortsteil-ID (4-stellig, z.B. \"0301\")",
"type": "string"
},
"planungsraum_id": {
"description": "Planungsraum-ID (8-stellig)",
"type": "string"
},
"rbs": {
"default": "stadt",
"enum": [
"stadt",
"bezirk",
"ortsteil"
],
"type": "string"
},
"recent": {
"description": "Anzahl der aktuellsten Perioden",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"stadtteil_id": {
"description": "Stadtteil-ID (2-stellig)",
"type": "string"
},
"start": {
"description": "Beginn (YYYY, YYYY-MM, YYYY-MM-DD)",
"type": "string"
},
"top": {
"description": "Top-N Herkunftsgebiete nach Anzahl",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"type": "object"
},
"name": "socio_berlin_origin",
"outputSchema": null
},
{
"description": "Population stock for Berlin (headline figures) at the Neighborhood level (LOR Planungsraum), semi-annual. Source: Amt für Statistik Berlin-Brandenburg.\n\nParameters:\n- rbs: \"stadt\" (city) | \"bezirk\" (Borough) | \"stadtteil\" | \"ortsteil\" (District) | \"planungsraum\" (Neighborhood)\n- bezirk_id, stadtteil_id, ortsteil_id, planungsraum_id: geographic filters\n- start/end, recent, limit, fields, include: \"metadata\"\n\nKey response fields:\n- einwohner_gesamt (total population), einwohner_maennlich/_weiblich (male/female)\n- einwohner_deutsch/_auslaendisch (German/foreign nationals), einwohner_ohne/_mit_migrationshintergrund (without/with migration background)\n- frauen_anteil, auslaender_anteil, migrationshintergrund_anteil: shares of women, foreign nationals, migration background (0–1)",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"bezirk_id": {
"description": "Bezirk-ID (2-stellig, z.B. \"03\")",
"type": "string"
},
"end": {
"description": "Ende (YYYY, YYYY-MM, YYYY-MM-DD)",
"type": "string"
},
"fields": {
"description": "Komma-getrennte Feldnamen",
"type": "string"
},
"include": {
"description": "metadata für Feld-Metadaten inline",
"type": "string"
},
"limit": {
"description": "Maximale Anzahl Ergebnisse (öffentlich bis 1000)",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"ortsteil_id": {
"description": "Ortsteil-ID (4-stellig, z.B. \"0301\")",
"type": "string"
},
"planungsraum_id": {
"description": "Planungsraum-ID (8-stellig)",
"type": "string"
},
"rbs": {
"default": "stadt",
"enum": [
"stadt",
"bezirk",
"ortsteil",
"planungsraum"
],
"type": "string"
},
"recent": {
"description": "Anzahl der aktuellsten Perioden",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"start": {
"description": "Beginn (YYYY, YYYY-MM, YYYY-MM-DD)",
"type": "string"
}
},
"type": "object"
},
"name": "socio_berlin_population",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:e53bdb5db6c247226f6c93d316428b6a03991144f572930bf56b442c2d11279f | sha256sum