{
  "snapshot_id": "approved-static-6fbe9b847dfeb5d6",
  "schema_version": "immigrationdb-city-resource-v2",
  "generated_at": "2026-07-15",
  "canonical_path": "/cities/de/frankfurt-am-main/",
  "mcp_uri": "immigrationdb://city/de/frankfurt-am-main",
  "city": {
    "entity_id": "city:de:ags:06412000",
    "name": "Frankfurt am Main",
    "country_code": "DE",
    "public_slug": "frankfurt-am-main",
    "canonical_path": "/cities/de/frankfurt-am-main/",
    "mcp_uri": "immigrationdb://city/de/frankfurt-am-main",
    "page_state": "published",
    "useful_blocks": [
      "demographics",
      "mobility_admin",
      "climate_air",
      "work_income",
      "housing"
    ],
    "useful_fact_count": 14,
    "city_tags": [
      "migration_hub",
      "economic_hub"
    ],
    "facts_by_block": {
      "climate_air": [
        {
          "metric_id": "air_quality_no2_annual_ug_m3",
          "block_id": "climate_air",
          "value": 21.847698,
          "unit": "ug/m3",
          "geographic_scope": "city",
          "observed_at": null,
          "verified_at": "2026-07-15",
          "comparison_eligible": true,
          "source_id": "uba_air_data_api",
          "source_url": "https://www.umweltbundesamt.de/api/air_data/v2/measures/json",
          "source_title": "Official UBA station observation retained; station lies outside the exact target municipality and is not promoted.",
          "source_authority": "Umweltbundesamt",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "air_quality_pm10_annual_ug_m3",
          "block_id": "climate_air",
          "value": 14.951503,
          "unit": "ug/m3",
          "geographic_scope": "city",
          "observed_at": null,
          "verified_at": "2026-07-15",
          "comparison_eligible": true,
          "source_id": "uba_air_data_api",
          "source_url": "https://www.umweltbundesamt.de/api/air_data/v2/measures/json",
          "source_title": "Official UBA station observation retained; station lies outside the exact target municipality and is not promoted.",
          "source_authority": "Umweltbundesamt",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "air_quality_pm25_annual_ug_m3",
          "block_id": "climate_air",
          "value": 8.525273,
          "unit": "ug/m3",
          "geographic_scope": "city",
          "observed_at": null,
          "verified_at": "2026-07-15",
          "comparison_eligible": true,
          "source_id": "uba_air_data_api",
          "source_url": "https://www.umweltbundesamt.de/api/air_data/v2/measures/json",
          "source_title": "Official UBA station observation retained; station lies outside the exact target municipality and is not promoted.",
          "source_authority": "Umweltbundesamt",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "temp_mean_annual_c",
          "block_id": "climate_air",
          "value": 9.3,
          "unit": "degC",
          "geographic_scope": "land",
          "observed_at": "2020-12-31",
          "verified_at": "2026-06-05T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "dwd_climate_normal_1991_2020",
          "source_url": "https://opendata.dwd.de/climate_environment/CDC/grids_germany/multi_annual/",
          "source_title": "DWD Climate Data Center — Klimanormal 1991-2020, Jahresmittel Lufttemperatur 2m (1×1 km Raster)",
          "source_authority": "DWD Climate Data Center — Klimanormal 1991-2020, Jahresmittel Lufttemperatur 2m (1×1 km Raster)",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ],
      "demographics": [
        {
          "metric_id": "car_density_per_1000",
          "block_id": "demographics",
          "value": 445,
          "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 — car_density_per_1000",
          "source_authority": "Kraftfahrt-Bundesamt — FZ 3 vehicle stock by municipality",
          "source_quality": "verified"
        },
        {
          "metric_id": "city_area_km2",
          "block_id": "demographics",
          "value": 248.31,
          "unit": "km2",
          "geographic_scope": "city",
          "observed_at": "2025-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_quality": "verified"
        },
        {
          "metric_id": "population_total",
          "block_id": "demographics",
          "value": 781337,
          "unit": "people",
          "geographic_scope": "city",
          "observed_at": "2025-12-31",
          "verified_at": "2026-05-31",
          "comparison_eligible": true,
          "source_id": "stadt_frankfurt_statistics",
          "source_url": "https://frankfurt.de/service-und-rathaus/daten-informationen-wissen",
          "source_title": "Stadt Frankfurt am Main Statistik",
          "source_authority": "Frankfurt am Main, Germany",
          "source_quality": "verified"
        }
      ],
      "housing": [
        {
          "metric_id": "air_quality_no2_current_ug_m3",
          "block_id": "housing",
          "value": 9.270834,
          "unit": "ug/m3",
          "geographic_scope": "city",
          "observed_at": "2026-07-15",
          "verified_at": "2026-07-15",
          "comparison_eligible": true,
          "source_id": "uba_air_data_api",
          "source_url": "https://www.umweltbundesamt.de/api/air_data/v2/measures/json",
          "source_title": "Official UBA station observation retained; station lies outside the exact target municipality and is not promoted.",
          "source_authority": "Umweltbundesamt",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "rent_avg_nettokalt_eur_per_m2_month",
          "block_id": "housing",
          "value": 19.38,
          "unit": "EUR/m2/month",
          "geographic_scope": "city",
          "observed_at": "2026-05-01",
          "verified_at": "2026-06-04",
          "comparison_eligible": false,
          "source_id": "rent_wohnungsboerse_mietspiegel_frankfurt_am_main_https_www_wohnungsboerse_net_mietspiegel_frankfurt_3242_frankfurt_am_m",
          "source_url": "https://www.wohnungsboerse.net/mietspiegel-Frankfurt/3242",
          "source_title": "wohnungsboerse Mietspiegel Frankfurt am Main",
          "source_authority": "wohnungsboerse Mietspiegel Frankfurt am Main",
          "source_type": "commercial",
          "source_badge": "Commercial source",
          "source_quality": "supplemental"
        }
      ],
      "identity": [
        {
          "metric_id": "population_density_per_km2",
          "block_id": "identity",
          "value": 3044.665942,
          "unit": "people/km2",
          "geographic_scope": "city",
          "observed_at": "2024-12-31",
          "verified_at": "2026-07-15",
          "comparison_eligible": true,
          "source_id": "destatis_gemeindeverzeichnis_2024_derived_density",
          "source_url": "https://www.destatis.de/DE/Themen/Laender-Regionen/Regionales/Gemeindeverzeichnis/Administrativ/Archiv/GVAuszugJ/31122024_Auszug_GV.xlsx?__blob=publicationFile&v=2",
          "source_title": "Official municipality population divided by official municipality area from the same Destatis row.",
          "source_authority": "Destatis",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ],
      "mobility_admin": [
        {
          "metric_id": "nearest_airport_destinations_count",
          "block_id": "mobility_admin",
          "value": 239,
          "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 — nearest_airport_destinations_count",
          "source_authority": "OpenFlights — routes.dat",
          "source_quality": "verified"
        },
        {
          "metric_id": "nearest_airport_iata",
          "block_id": "mobility_admin",
          "value": "FRA",
          "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 — nearest_airport_iata",
          "source_authority": "OurAirports — airports.csv",
          "source_quality": "verified"
        },
        {
          "metric_id": "nearest_airport_km",
          "block_id": "mobility_admin",
          "value": 12.9,
          "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 — nearest_airport_iata",
          "source_authority": "OurAirports — airports.csv",
          "source_quality": "verified"
        }
      ],
      "work_income": [
        {
          "metric_id": "broadband_gigabit_availability_percent",
          "block_id": "work_income",
          "value": 94.29,
          "unit": "percent",
          "geographic_scope": "city",
          "observed_at": "2025-12-31",
          "verified_at": "2026-07-15",
          "comparison_eligible": true,
          "source_id": "bundesnetzagentur_breitbandatlas",
          "source_url": "https://gigabitgrundbuch.bund.de/GIGA/DE/Breitbandatlas/start.html",
          "source_title": "Bundesnetzagentur / BMDV — Breitbandatlas",
          "source_authority": "official authority",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ]
    }
  }
}
