{
  "snapshot_id": "approved-static-bb6d69cd3c074ae2",
  "schema_version": "immigrationdb-city-resource-v2",
  "generated_at": "2026-08-04",
  "canonical_path": "/cities/dk/aalborg/",
  "mcp_uri": "immigrationdb://city/dk/aalborg",
  "editorial_copy": {
    "status": "reviewed",
    "reviewed_at": "2026-07-29",
    "copy_depth": "city_standard",
    "blocks": {
      "intro": "Aalborg is a city in Denmark. The unemployment rate was 3.3% in November 2025. Aalborg had a population of 225,000 at the start of 2024. For Aalborg, annual PM2.5 was 6.5 µg/m³ at the end of 2024. Car density was 466 vehicles per 1,000 residents in 2026.",
      "population_lead": "The city covered 1,137.7 km² in 2026. Population density was 199 people per km² in 2026.",
      "immigration_lead": "The foreign population count was 19,252 at the start of 2026."
    },
    "used_claim_count": 7,
    "uses_supplemental_cd": false
  },
  "city": {
    "entity_id": "city:dk:slug:aalborg",
    "name": "Aalborg",
    "country_code": "DK",
    "public_slug": "aalborg",
    "canonical_path": "/cities/dk/aalborg/",
    "mcp_uri": "immigrationdb://city/dk/aalborg",
    "page_state": "published",
    "useful_blocks": [
      "mobility_admin",
      "cost_living",
      "climate_air",
      "work_income",
      "safety",
      "other"
    ],
    "useful_fact_count": 20,
    "city_tags": [
      "migration_hub",
      "economic_hub",
      "regional_capital"
    ],
    "profile_scores": {
      "remote": {
        "point": 67,
        "low": 53,
        "high": 81,
        "factors": {
          "legal_path": 88,
          "cost_pressure": 88,
          "housing": 45,
          "work": 60,
          "family": 41,
          "education": 45,
          "healthcare": 45,
          "safety": 49,
          "air": 69,
          "bureaucracy": 45
        },
        "housing_budget": {
          "status": "unavailable",
          "currency": null,
          "fx_date": null,
          "normalized_monthly_eur": null,
          "source_id": null,
          "basis": null
        }
      },
      "skilled_employee": {
        "point": 55,
        "low": 41,
        "high": 69,
        "factors": {
          "legal_path": 54,
          "cost_pressure": 88,
          "housing": 45,
          "work": 60,
          "family": 41,
          "education": 45,
          "healthcare": 45,
          "safety": 49,
          "air": 69,
          "bureaucracy": 45
        },
        "housing_budget": {
          "status": "unavailable",
          "currency": null,
          "fx_date": null,
          "normalized_monthly_eur": null,
          "source_id": null,
          "basis": null
        }
      },
      "family": {
        "point": 48,
        "low": 34,
        "high": 62,
        "factors": {
          "legal_path": 54,
          "cost_pressure": 88,
          "housing": 45,
          "work": 60,
          "family": 41,
          "education": 45,
          "healthcare": 45,
          "safety": 49,
          "air": 69,
          "bureaucracy": 45
        },
        "housing_budget": {
          "status": "unavailable",
          "currency": null,
          "fx_date": null,
          "normalized_monthly_eur": null,
          "source_id": null,
          "basis": null
        }
      },
      "student": {
        "point": 60,
        "low": 46,
        "high": 74,
        "factors": {
          "legal_path": 54,
          "cost_pressure": 88,
          "housing": 45,
          "work": 60,
          "family": 41,
          "education": 45,
          "healthcare": 45,
          "safety": 49,
          "air": 69,
          "bureaucracy": 45
        },
        "housing_budget": {
          "status": "unavailable",
          "currency": null,
          "fx_date": null,
          "normalized_monthly_eur": null,
          "source_id": null,
          "basis": null
        }
      },
      "retirement": {
        "point": 60,
        "low": 46,
        "high": 74,
        "factors": {
          "legal_path": 88,
          "cost_pressure": 88,
          "housing": 45,
          "work": 60,
          "family": 41,
          "education": 45,
          "healthcare": 45,
          "safety": 49,
          "air": 69,
          "bureaucracy": 45
        },
        "housing_budget": {
          "status": "unavailable",
          "currency": null,
          "fx_date": null,
          "normalized_monthly_eur": null,
          "source_id": null,
          "basis": null
        }
      }
    },
    "facts_by_block": {
      "identity": [
        {
          "metric_id": "car_density_per_1000",
          "block_id": "identity",
          "value": 466,
          "unit": "cars/1000 residents",
          "geographic_scope": "city",
          "observed_at": "2026-01-01",
          "verified_at": "2026-07-15",
          "comparison_eligible": true,
          "source_id": "dst_bil54_2026m01__dst_folk1a_2026k1",
          "source_url": "https://api.statbank.dk/v1/data",
          "source_title": "Derived stock density from DST BIL54 passenger-car stock and DST FOLK1A population. BIL54 is stock of passenger cars, not registrations, trips or ownership-only subset.",
          "source_authority": "Danmarks Statistik (DST)",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "city_area_km2",
          "block_id": "identity",
          "value": 1137.7,
          "unit": "km2",
          "geographic_scope": "city",
          "observed_at": "2026-01-01",
          "verified_at": "2026-07-15",
          "comparison_eligible": true,
          "source_id": "dst_are207_2026",
          "source_url": "https://api.statbank.dk/v1/data",
          "source_title": "DST ARE207 Area 1 January; area based on the SDFE land register. Registered area is used; some lakes are excluded according to the table footnote.",
          "source_authority": "Danmarks Statistik (DST)",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "foreign_population_total",
          "block_id": "identity",
          "value": 19252,
          "unit": "people",
          "geographic_scope": "city",
          "observed_at": "2026-01-01",
          "verified_at": "2026-07-15",
          "comparison_eligible": true,
          "source_id": "dst_folk1d_2026k1_foreign_citizens",
          "source_url": "https://api.statbank.dk/v1/data",
          "source_title": "DST FOLK1D: population at the first day of the quarter, total sex, total age, STATSB=UDLAND (Foreign citizen). This is citizenship, not foreign-born or foreign-origin population.",
          "source_authority": "Danmarks Statistik (DST)",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "population_density_per_km2",
          "block_id": "identity",
          "value": 199,
          "unit": "people/km2",
          "geographic_scope": "city",
          "observed_at": "2026-01-01",
          "verified_at": "2026-07-15",
          "comparison_eligible": true,
          "source_id": "dst_folk1a_2026k1__dst_are207_2026",
          "source_url": "https://api.statbank.dk/v1/data",
          "source_title": "Derived municipality density from DST population and ARE207 registered municipal area.",
          "source_authority": "Danmarks Statistik (DST)",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "population_total",
          "block_id": "identity",
          "value": 225000,
          "unit": "people",
          "geographic_scope": "place",
          "observed_at": "2024-01-01",
          "verified_at": "2026-07-14",
          "comparison_eligible": true,
          "source_id": "Danmarks Statistik",
          "source_url": "https://www.dst.dk/da/TilSalg/data-til-forskning/generelt-om-data/dokumentation-af-data/hoejkvalitetsvariable/folketal/kom",
          "source_title": "DST KOM kommunekode source register; exact municipality row keyed by kommunekode.",
          "source_authority": "Danmarks Statistik",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ],
      "cost_living": [
        {
          "metric_id": "col_fitness_club_eur_month",
          "block_id": "cost_living",
          "value": 33.42,
          "unit": "EUR/month",
          "geographic_scope": "city",
          "observed_at": "2024-12-31",
          "verified_at": "2026-08-01",
          "comparison_eligible": false,
          "source_id": "633:source:fcec7f3c949e231e77196dc0c52ffe88",
          "source_url": "https://web.archive.org/web/20241203152921/https://www.numbeo.com/cost-of-living/in/Aalborg",
          "source_title": "Numbeo — Cost of Living in Aalborg (Wayback capture 20241203152921)",
          "source_authority": "Numbeo",
          "source_type": "independent",
          "source_badge": "Independent source",
          "source_quality": "supplemental"
        },
        {
          "metric_id": "col_internet_60mbps_eur_month",
          "block_id": "cost_living",
          "value": 37.14,
          "unit": "EUR/month",
          "geographic_scope": "city",
          "observed_at": "2024-12-31",
          "verified_at": "2026-08-01",
          "comparison_eligible": false,
          "source_id": "633:source:fcec7f3c949e231e77196dc0c52ffe88",
          "source_url": "https://web.archive.org/web/20241203152921/https://www.numbeo.com/cost-of-living/in/Aalborg",
          "source_title": "Numbeo — Cost of Living in Aalborg (Wayback capture 20241203152921)",
          "source_authority": "Numbeo",
          "source_type": "independent",
          "source_badge": "Independent source",
          "source_quality": "supplemental"
        },
        {
          "metric_id": "col_kindergarten_private_eur_month",
          "block_id": "cost_living",
          "value": 423.62,
          "unit": "EUR/month",
          "geographic_scope": "city",
          "observed_at": "2024-12-31",
          "verified_at": "2026-08-01",
          "comparison_eligible": false,
          "source_id": "633:source:fcec7f3c949e231e77196dc0c52ffe88",
          "source_url": "https://web.archive.org/web/20241203152921/https://www.numbeo.com/cost-of-living/in/Aalborg",
          "source_title": "Numbeo — Cost of Living in Aalborg (Wayback capture 20241203152921)",
          "source_authority": "Numbeo",
          "source_type": "independent",
          "source_badge": "Independent source",
          "source_quality": "supplemental"
        },
        {
          "metric_id": "col_mobile_plan_10gb_eur_month",
          "block_id": "cost_living",
          "value": 18.29,
          "unit": "EUR/month",
          "geographic_scope": "city",
          "observed_at": "2024-12-31",
          "verified_at": "2026-08-01",
          "comparison_eligible": false,
          "source_id": "633:source:fcec7f3c949e231e77196dc0c52ffe88",
          "source_url": "https://web.archive.org/web/20241203152921/https://www.numbeo.com/cost-of-living/in/Aalborg",
          "source_title": "Numbeo — Cost of Living in Aalborg (Wayback capture 20241203152921)",
          "source_authority": "Numbeo",
          "source_type": "independent",
          "source_badge": "Independent source",
          "source_quality": "supplemental"
        },
        {
          "metric_id": "col_transport_monthly_pass_eur",
          "block_id": "cost_living",
          "value": 56.85,
          "unit": "EUR/month",
          "geographic_scope": "city",
          "observed_at": "2024-12-31",
          "verified_at": "2026-08-01",
          "comparison_eligible": false,
          "source_id": "633:source:fcec7f3c949e231e77196dc0c52ffe88",
          "source_url": "https://web.archive.org/web/20241203152921/https://www.numbeo.com/cost-of-living/in/Aalborg",
          "source_title": "Numbeo — Cost of Living in Aalborg (Wayback capture 20241203152921)",
          "source_authority": "Numbeo",
          "source_type": "independent",
          "source_badge": "Independent source",
          "source_quality": "supplemental"
        },
        {
          "metric_id": "col_utilities_basic_85m2_eur_month",
          "block_id": "cost_living",
          "value": 237.13,
          "unit": "EUR/month",
          "geographic_scope": "city",
          "observed_at": "2024-12-31",
          "verified_at": "2026-08-01",
          "comparison_eligible": false,
          "source_id": "633:source:fcec7f3c949e231e77196dc0c52ffe88",
          "source_url": "https://web.archive.org/web/20241203152921/https://www.numbeo.com/cost-of-living/in/Aalborg",
          "source_title": "Numbeo — Cost of Living in Aalborg (Wayback capture 20241203152921)",
          "source_authority": "Numbeo",
          "source_type": "independent",
          "source_badge": "Independent source",
          "source_quality": "supplemental"
        }
      ],
      "work_income": [
        {
          "metric_id": "unemployment_total_percent",
          "block_id": "work_income",
          "value": 3.3,
          "unit": "percent",
          "geographic_scope": "city",
          "observed_at": "2025-11-30",
          "verified_at": "2026-07-26",
          "comparison_eligible": true,
          "source_id": "source-8327f4a013b3",
          "source_url": "https://api.statbank.dk/v1/data/AUP02/CSV",
          "source_title": "StatBank Denmark AUP02 — unemployed in per cent of the labour force",
          "source_authority": "Statistics Denmark",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ],
      "safety": [
        {
          "metric_id": "crime_incidents_per_100k",
          "block_id": "safety",
          "value": 6774.242337,
          "unit": "offences/100k",
          "geographic_scope": "city",
          "observed_at": "2025-12-31",
          "verified_at": "2026-07-27",
          "comparison_eligible": true,
          "source_id": "source-600620cda256",
          "source_url": "https://api.statbank.dk/v1/data/STRAF11/CSV",
          "source_title": "StatBank Denmark STRAF11 — reported criminal offences, municipality, all offence types",
          "source_authority": "Statistics Denmark",
          "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": 14,
          "unit": "µg/m³",
          "geographic_scope": "nearest_station",
          "observed_at": "2024-12-31",
          "verified_at": "2026-08-01",
          "comparison_eligible": true,
          "source_id": "633:source:36e19e4fea588aeb9be5934e32eabdbf",
          "source_url": "https://air.discomap.eea.europa.eu/arcgis/rest/services/AirQuality/AQ_Statistics_WM/MapServer/0/query?where=Country_ISO%3D'DK'%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 — DK NO2 annual mean 2024 (station \"Aalborg/8152\")",
          "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.5,
          "unit": "µg/m³",
          "geographic_scope": "city",
          "observed_at": "2024-12-31",
          "verified_at": "2026-07-26",
          "comparison_eligible": true,
          "source_id": "source-e6424f21dc7d",
          "source_url": "https://air.discomap.eea.europa.eu/arcgis/rest/services/AirQuality/AQ_Statistics_WM/MapServer/0/query?where=AirPollutant%3D%27PM2.5%27+AND+YearOfStatistics%3D2024&outFields=AirPollutant%2CAirPollutionLevel%2CCountry_ISO%2CStationName%2CAreaOfMeasurementStation%2CYearOfStatistics%2CUnitOfAirpollutionLevel%2CTypeOfMeasurementStation%2CDataCoverage%2CReportingMetric%2CLatitudeOfMeasurementStation%2CLongitudeOfMeasurementStation&returnGeometry=false&resultRecordCount=1000&resultOffset=0&f=json",
          "source_title": "EEA Air Quality Annual Statistics — validated PM2.5 station data",
          "source_authority": "European Environment Agency",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "climate_monthly_mean_c",
          "block_id": "climate_air",
          "value": [
            1.2,
            1.2,
            3,
            6.9,
            11,
            14.1,
            16.5,
            16.4,
            13.1,
            8.8,
            5.1,
            2.3
          ],
          "unit": "°C",
          "geographic_scope": "nearest_station",
          "observed_at": "2020-12-31",
          "verified_at": "2026-07-31",
          "comparison_eligible": true,
          "source_id": "source-cb74efd33aa5",
          "source_url": "https://www.ncei.noaa.gov/data/oceans/archive/arc0216/0253808/1.1/data/0-data/Region-6-WMO-Normals-9120/Denmark/CSV/TYLSTRUP_06031.csv",
          "source_title": "WMO Climatological Normals 1991-2020 — station TYLSTRUP_06031.csv",
          "source_authority": "World Meteorological Organization / NOAA NCEI",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ],
      "mobility_admin": [
        {
          "metric_id": "nearest_airport_destinations_count",
          "block_id": "mobility_admin",
          "value": 13,
          "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": "AAL",
          "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": 6.7,
          "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"
        }
      ],
      "other": [
        {
          "metric_id": "english_portal_url",
          "block_id": "other",
          "value": "https://www.nyidanmark.dk/",
          "unit": "url",
          "geographic_scope": "city",
          "observed_at": "2026-06-09",
          "verified_at": "2026-06-10T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "nyidanmark",
          "source_url": "https://www.nyidanmark.dk/en",
          "source_title": "nyidanmark.dk — Danish immigration portal (English)",
          "source_authority": "nyidanmark.dk",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ]
    }
  }
}
