{
  "snapshot_id": "approved-static-bb6d69cd3c074ae2",
  "schema_version": "immigrationdb-city-resource-v2",
  "generated_at": "2026-08-04",
  "canonical_path": "/cities/de/loerrach/",
  "mcp_uri": "immigrationdb://city/de/loerrach",
  "editorial_copy": {
    "status": "reviewed",
    "reviewed_at": "2026-07-29",
    "copy_depth": "city_standard",
    "blocks": {
      "intro": "A city-level estimate placed average net cold rent at €14.39 per m² per month in June 2026. The population of Loerrach, in Germany, was 51,349 at the end of 2024. Car density was 528 vehicles per 1,000 residents in 2026.",
      "population_lead": "The city covered 39.4 km² in 2024.",
      "work_lead": "The unemployment rate was 7.73% in May 2022.",
      "immigration_lead": "The foreign population count was 9,228 in May 2022."
    },
    "used_claim_count": 6,
    "uses_supplemental_cd": true
  },
  "city": {
    "entity_id": "city:de:wikidata:Q4231",
    "name": "Loerrach",
    "country_code": "DE",
    "public_slug": "loerrach",
    "canonical_path": "/cities/de/loerrach/",
    "mcp_uri": "immigrationdb://city/de/loerrach",
    "page_state": "published",
    "useful_blocks": [
      "mobility_admin",
      "housing",
      "climate_air",
      "work_income"
    ],
    "useful_fact_count": 12,
    "city_tags": [],
    "profile_scores": {
      "remote": {
        "point": 55,
        "low": 41,
        "high": 69,
        "factors": {
          "legal_path": 88,
          "cost_pressure": 56,
          "housing": 29,
          "work": 60,
          "family": 37,
          "education": 45,
          "healthcare": 45,
          "safety": 45,
          "air": 74,
          "bureaucracy": 45
        },
        "housing_budget": {
          "status": "fits",
          "currency": "EUR",
          "fx_date": null,
          "normalized_monthly_eur": 648,
          "source_id": "rent_miet_check_mietspiegel_loerrach_https_www_miet_check_de_mietspiegel_loerrach_loerrach_rent",
          "basis": "per_m2_x_45m2_reference"
        }
      },
      "skilled_employee": {
        "point": 54,
        "low": 40,
        "high": 68,
        "factors": {
          "legal_path": 88,
          "cost_pressure": 56,
          "housing": 29,
          "work": 60,
          "family": 37,
          "education": 45,
          "healthcare": 45,
          "safety": 45,
          "air": 74,
          "bureaucracy": 45
        },
        "housing_budget": {
          "status": "fits",
          "currency": "EUR",
          "fx_date": null,
          "normalized_monthly_eur": 648,
          "source_id": "rent_miet_check_mietspiegel_loerrach_https_www_miet_check_de_mietspiegel_loerrach_loerrach_rent",
          "basis": "per_m2_x_45m2_reference"
        }
      },
      "family": {
        "point": 44,
        "low": 30,
        "high": 58,
        "factors": {
          "legal_path": 88,
          "cost_pressure": 56,
          "housing": 29,
          "work": 60,
          "family": 37,
          "education": 45,
          "healthcare": 45,
          "safety": 45,
          "air": 74,
          "bureaucracy": 45
        },
        "housing_budget": {
          "status": "fits",
          "currency": "EUR",
          "fx_date": null,
          "normalized_monthly_eur": 648,
          "source_id": "rent_miet_check_mietspiegel_loerrach_https_www_miet_check_de_mietspiegel_loerrach_loerrach_rent",
          "basis": "per_m2_x_45m2_reference"
        }
      },
      "student": {
        "point": 34,
        "low": 20,
        "high": 48,
        "factors": {
          "legal_path": 88,
          "cost_pressure": 56,
          "housing": 29,
          "work": 60,
          "family": 37,
          "education": 45,
          "healthcare": 45,
          "safety": 45,
          "air": 74,
          "bureaucracy": 45
        },
        "housing_budget": {
          "status": "over",
          "currency": "EUR",
          "fx_date": null,
          "normalized_monthly_eur": 648,
          "source_id": "rent_miet_check_mietspiegel_loerrach_https_www_miet_check_de_mietspiegel_loerrach_loerrach_rent",
          "basis": "per_m2_x_45m2_reference"
        }
      },
      "retirement": {
        "point": 55,
        "low": 41,
        "high": 69,
        "factors": {
          "legal_path": 88,
          "cost_pressure": 56,
          "housing": 29,
          "work": 60,
          "family": 37,
          "education": 45,
          "healthcare": 45,
          "safety": 45,
          "air": 74,
          "bureaucracy": 45
        },
        "housing_budget": {
          "status": "fits",
          "currency": "EUR",
          "fx_date": null,
          "normalized_monthly_eur": 648,
          "source_id": "rent_miet_check_mietspiegel_loerrach_https_www_miet_check_de_mietspiegel_loerrach_loerrach_rent",
          "basis": "per_m2_x_45m2_reference"
        }
      }
    },
    "facts_by_block": {
      "identity": [
        {
          "metric_id": "car_density_per_1000",
          "block_id": "identity",
          "value": 528,
          "unit": "cars/1000 residents",
          "geographic_scope": "city",
          "observed_at": "2026-01-01",
          "verified_at": "2026-06-05",
          "comparison_eligible": true,
          "source_id": "kba_fz3_2026",
          "source_url": "https://www.kba.de/DE/Statistik/Produktkatalog/produkte/Fahrzeuge/fz3_b_uebersicht.html",
          "source_title": "Kraftfahrt-Bundesamt — FZ 3 vehicle stock by municipality",
          "source_authority": "Germany",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "city_area_km2",
          "block_id": "identity",
          "value": 39.37,
          "unit": "km2",
          "geographic_scope": "city",
          "observed_at": "2024-12-31",
          "verified_at": "2026-05-31",
          "comparison_eligible": true,
          "source_id": "destatis_gemeindeverzeichnis",
          "source_url": "https://www.destatis.de/DE/Themen/Laender-Regionen/Regionales/Gemeindeverzeichnis/_inhalt.html",
          "source_title": "Destatis Gemeindeverzeichnis",
          "source_authority": "Germany",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "foreign_population_total",
          "block_id": "identity",
          "value": 9228,
          "unit": "people",
          "geographic_scope": "city",
          "observed_at": "2022-05-15",
          "verified_at": "2026-07-26",
          "comparison_eligible": true,
          "source_id": "source-9dccfbbe7e30",
          "source_url": "https://www.destatis.de/static/DE/zensus/gitterdaten/Regionaltabelle_Demografie.xlsx",
          "source_title": "Zensus 2022 regional tables — Germany municipalities",
          "source_authority": "Statistisches Bundesamt (Destatis) / Statistical Offices of the Länder",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "population_total",
          "block_id": "identity",
          "value": 51349,
          "unit": "people",
          "geographic_scope": "city",
          "observed_at": "2024-12-31",
          "verified_at": "2026-05-31",
          "comparison_eligible": true,
          "source_id": "destatis_gemeindeverzeichnis",
          "source_url": "https://www.destatis.de/DE/Themen/Laender-Regionen/Regionales/Gemeindeverzeichnis/_inhalt.html",
          "source_title": "Destatis Gemeindeverzeichnis",
          "source_authority": "Germany",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ],
      "housing": [
        {
          "metric_id": "rent_avg_nettokalt_eur_per_m2_month",
          "block_id": "housing",
          "value": 14.39,
          "unit": "EUR/m2/month",
          "geographic_scope": "city",
          "observed_at": "2026-06-04",
          "verified_at": "2026-06-04",
          "comparison_eligible": false,
          "source_id": "rent_miet_check_mietspiegel_loerrach_https_www_miet_check_de_mietspiegel_loerrach_loerrach_rent",
          "source_url": "https://www.miet-check.de/mietspiegel/loerrach/",
          "source_title": "miet-check Mietspiegel Loerrach",
          "source_authority": "miet-check Mietspiegel Loerrach",
          "source_type": "commercial",
          "source_badge": "Commercial source",
          "source_quality": "supplemental"
        }
      ],
      "work_income": [
        {
          "metric_id": "unemployment_total_percent",
          "block_id": "work_income",
          "value": 7.733,
          "unit": "percent",
          "geographic_scope": "city",
          "observed_at": "2022-05-15",
          "verified_at": "2026-07-26",
          "comparison_eligible": true,
          "source_id": "source-333db3849e20",
          "source_url": "https://www.destatis.de/static/DE/zensus/gitterdaten/Regionaltabelle_Bildung_Erwerbstaetigkeit.xlsx",
          "source_title": "Zensus 2022 regional tables — Germany municipalities",
          "source_authority": "Statistisches Bundesamt (Destatis) / Statistical Offices of the Länder",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ],
      "climate_air": [
        {
          "metric_id": "air_quality_no2_annual_ug_m3",
          "block_id": "climate_air",
          "value": 11,
          "unit": "µg/m³",
          "geographic_scope": "nearest_station",
          "observed_at": "2024-12-31",
          "verified_at": "2026-08-01",
          "comparison_eligible": true,
          "source_id": "633:source:de6605af5be516b63a7efcd5af951409",
          "source_url": "https://air.discomap.eea.europa.eu/arcgis/rest/services/AirQuality/AQ_Statistics_WM/MapServer/0/query?where=Country_ISO%3D'DE'%20AND%20AirPollutant%3D'NO2'%20AND%20YearOfStatistics%3D2024&outFields=AirPollutant,AirPollutionLevel,Country_ISO,StationName,YearOfStatistics,UnitOfAirpollutionLevel,ReportingMetric,LatitudeOfMeasurementStation,LongitudeOfMeasurementStation,DataCoverage,Preliminary&returnGeometry=false&f=json",
          "source_title": "EEA air quality statistics — DE NO2 annual mean 2024 (station Weil am Rhein)",
          "source_authority": "European Environment Agency (EEA)",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "air_quality_pm10_annual_ug_m3",
          "block_id": "climate_air",
          "value": 10,
          "unit": "µg/m³",
          "geographic_scope": "nearest_station",
          "observed_at": "2024-12-31",
          "verified_at": "2026-08-01",
          "comparison_eligible": true,
          "source_id": "633:source:d9d0540db330ac2b17f23a77849edc39",
          "source_url": "https://air.discomap.eea.europa.eu/arcgis/rest/services/AirQuality/AQ_Statistics_WM/MapServer/0/query?where=Country_ISO%3D'DE'%20AND%20AirPollutant%3D'PM10'%20AND%20YearOfStatistics%3D2024&outFields=AirPollutant,AirPollutionLevel,Country_ISO,StationName,YearOfStatistics,UnitOfAirpollutionLevel,ReportingMetric,LatitudeOfMeasurementStation,LongitudeOfMeasurementStation,DataCoverage,Preliminary&returnGeometry=false&f=json",
          "source_title": "EEA air quality statistics — DE PM10 annual mean 2024 (station Weil am Rhein)",
          "source_authority": "European Environment Agency (EEA)",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "air_quality_pm25_annual_ug_m3",
          "block_id": "climate_air",
          "value": 6,
          "unit": "µg/m³",
          "geographic_scope": "nearest_station",
          "observed_at": "2024-12-31",
          "verified_at": "2026-08-01",
          "comparison_eligible": true,
          "source_id": "633:source:dfe6a8297be44c4d5e739b73b7c6a9fe",
          "source_url": "https://air.discomap.eea.europa.eu/arcgis/rest/services/AirQuality/AQ_Statistics_WM/MapServer/0/query?where=Country_ISO%3D'DE'%20AND%20AirPollutant%3D'PM2.5'%20AND%20YearOfStatistics%3D2024&outFields=AirPollutant,AirPollutionLevel,Country_ISO,StationName,YearOfStatistics,UnitOfAirpollutionLevel,ReportingMetric,LatitudeOfMeasurementStation,LongitudeOfMeasurementStation,DataCoverage,Preliminary&returnGeometry=false&f=json",
          "source_title": "EEA air quality statistics — DE PM2.5 annual mean 2024 (station Weil am Rhein)",
          "source_authority": "European Environment Agency (EEA)",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ],
      "mobility_admin": [
        {
          "metric_id": "nearest_airport_destinations_count",
          "block_id": "mobility_admin",
          "value": 66,
          "unit": "count",
          "geographic_scope": "city",
          "observed_at": "2026-06-13",
          "verified_at": "2026-06-13",
          "comparison_eligible": true,
          "source_id": "openflights_routes_dat",
          "source_url": "https://raw.githubusercontent.com/jpatokal/openflights/master/data/routes.dat",
          "source_title": "OpenFlights — routes.dat",
          "source_authority": "multi-country",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "nearest_airport_iata",
          "block_id": "mobility_admin",
          "value": "BSL",
          "unit": "code",
          "geographic_scope": "city",
          "observed_at": "2026-06-13",
          "verified_at": "2026-06-13",
          "comparison_eligible": true,
          "source_id": "ourairports_airports_csv",
          "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
          "source_title": "OurAirports — airports.csv",
          "source_authority": "multi-country",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "nearest_airport_km",
          "block_id": "mobility_admin",
          "value": 10.6,
          "unit": "km",
          "geographic_scope": "city",
          "observed_at": "2026-06-13",
          "verified_at": "2026-06-13",
          "comparison_eligible": true,
          "source_id": "ourairports_airports_csv",
          "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
          "source_title": "OurAirports — airports.csv",
          "source_authority": "multi-country",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ]
    }
  }
}
