{
  "snapshot_id": "approved-static-6fbe9b847dfeb5d6",
  "schema_version": "immigrationdb-city-resource-v2",
  "generated_at": "2026-07-15",
  "canonical_path": "/cities/se/gavle/",
  "mcp_uri": "immigrationdb://city/se/gavle",
  "city": {
    "entity_id": "city:se:wikidata:Q25441",
    "name": "Gävle",
    "country_code": "SE",
    "public_slug": "gavle",
    "canonical_path": "/cities/se/gavle/",
    "mcp_uri": "immigrationdb://city/se/gavle",
    "page_state": "published",
    "useful_blocks": [
      "mobility_admin",
      "climate_air",
      "housing"
    ],
    "useful_fact_count": 12,
    "city_tags": [],
    "facts_by_block": {
      "climate_air": [
        {
          "metric_id": "air_quality_no2_annual_ug_m3",
          "block_id": "climate_air",
          "value": 15.662941979130753,
          "unit": "ug/m3",
          "geographic_scope": "city",
          "observed_at": null,
          "verified_at": "2026-07-15",
          "comparison_eligible": true,
          "source_id": "naturvardsverket_smhi_air_rest_api",
          "source_url": "https://datavardluft.smhi.se/52North/api/timeseries/{id}/getData",
          "source_title": "Official exact-kommun station observations are derived to a kommun aggregate.",
          "source_authority": "Naturvårdsverket via SMHI",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "air_quality_pm10_annual_ug_m3",
          "block_id": "climate_air",
          "value": 16.673648824761454,
          "unit": "ug/m3",
          "geographic_scope": "city",
          "observed_at": null,
          "verified_at": "2026-07-15",
          "comparison_eligible": true,
          "source_id": "naturvardsverket_smhi_air_rest_api",
          "source_url": "https://datavardluft.smhi.se/52North/api/timeseries/{id}/getData",
          "source_title": "Official exact-kommun station observations are derived to a kommun aggregate.",
          "source_authority": "Naturvårdsverket via SMHI",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "air_quality_pm25_annual_ug_m3",
          "block_id": "climate_air",
          "value": 5.633105538747947,
          "unit": "ug/m3",
          "geographic_scope": "city",
          "observed_at": null,
          "verified_at": "2026-07-15",
          "comparison_eligible": true,
          "source_id": "naturvardsverket_smhi_air_rest_api",
          "source_url": "https://datavardluft.smhi.se/52North/api/timeseries/{id}/getData",
          "source_title": "Official exact-kommun station observations are derived to a kommun aggregate.",
          "source_authority": "Naturvårdsverket via SMHI",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ],
      "housing": [
        {
          "metric_id": "air_quality_no2_current_ug_m3",
          "block_id": "housing",
          "value": 7.038,
          "unit": "ug/m3",
          "geographic_scope": "city",
          "observed_at": "2026-07-15",
          "verified_at": "2026-07-15",
          "comparison_eligible": true,
          "source_id": "naturvardsverket_smhi_air_rest_api",
          "source_url": "https://datavardluft.smhi.se/52North/api/timeseries/{id}/getData",
          "source_title": "Official exact-kommun station observations are derived to a kommun aggregate.",
          "source_authority": "Naturvårdsverket via SMHI",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ],
      "identity": [
        {
          "metric_id": "car_density_per_1000",
          "block_id": "identity",
          "value": 460.521766,
          "unit": "cars/1000 residents",
          "geographic_scope": "city",
          "observed_at": "2025-12-31",
          "verified_at": "2026-07-15",
          "comparison_eligible": true,
          "source_id": "scb_tk1001a_fordontrafik_2025",
          "source_url": "https://api.scb.se/OV0104/v1/doris/en/ssd/TK/TK1001/TK1001A/FordonTrafik",
          "source_title": "Official vehicles-in-use table: Fordonsslag=10 is passenger cars, stock at the last month of 2025; divided by official SCB population at 31 December 2025.",
          "source_authority": "Transport Analysis via Statistics Sweden (SCB PxWeb API)",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "city_area_km2",
          "block_id": "identity",
          "value": 1621.46,
          "unit": "km2",
          "geographic_scope": "city",
          "observed_at": "2024-01-01",
          "verified_at": "2026-07-14",
          "comparison_eligible": true,
          "source_id": "Statistics Sweden (SCB)",
          "source_url": "https://api.scb.se/OV0104/v1/doris/en/ssd/BE/BE0101/BE0101C/BefArealTathetKon",
          "source_title": "SCB table BefArealTathetKon: municipality land area/population by year.",
          "source_authority": "Statistics Sweden (SCB)",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "foreign_population_total",
          "block_id": "identity",
          "value": 5933,
          "unit": "people",
          "geographic_scope": "city",
          "observed_at": "2025-12-31",
          "verified_at": "2026-07-15",
          "comparison_eligible": true,
          "source_id": "scb_be0101f_utlmedbtotnkckm_2025",
          "source_url": "https://api.scb.se/OV0104/v1/doris/en/ssd/BE/BE0101/BE0101F/UtlmedbTotNKCKM",
          "source_title": "Official number of foreign citizens at municipality grain, all ages and all sexes, reference 31 December 2025.",
          "source_authority": "Statistics Sweden (SCB)",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "population_density_per_km2",
          "block_id": "identity",
          "value": 64.2,
          "unit": "people/km2",
          "geographic_scope": "city",
          "observed_at": "2025-12-31",
          "verified_at": "2026-07-15",
          "comparison_eligible": true,
          "source_id": "scb_be0101c_befarealtathetkon_2025",
          "source_url": "https://api.scb.se/OV0104/v1/doris/en/ssd/BE/BE0101/BE0101C/BefArealTathetKon",
          "source_title": "Official SCB population density per square kilometre at municipality grain. SCB states that it uses the population figure at 31 December with the following 1 January land-area figure.",
          "source_authority": "Statistics Sweden (SCB)",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "population_total",
          "block_id": "identity",
          "value": 103838,
          "unit": "people",
          "geographic_scope": "place",
          "observed_at": "2024-12-31",
          "verified_at": "2026-07-14",
          "comparison_eligible": true,
          "source_id": "Statistics Sweden (SCB)",
          "source_url": "https://api.scb.se/OV0104/v1/doris/en/ssd/BE/BE0101/BE0101C/BefArealTathetKon",
          "source_title": "SCB table BefArealTathetKon: municipality land area/population by year.",
          "source_authority": "Statistics Sweden (SCB)",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ],
      "mobility_admin": [
        {
          "metric_id": "nearest_airport_destinations_count",
          "block_id": "mobility_admin",
          "value": 2,
          "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": "BLE",
          "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": 93.2,
          "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"
        }
      ]
    }
  }
}
