{
  "snapshot_id": "approved-static-6fbe9b847dfeb5d6",
  "schema_version": "immigrationdb-city-resource-v2",
  "generated_at": "2026-07-15",
  "canonical_path": "/cities/nl/haarlem/",
  "mcp_uri": "immigrationdb://city/nl/haarlem",
  "city": {
    "entity_id": "city:nl:wikidata:Q9920",
    "name": "Haarlem",
    "country_code": "NL",
    "public_slug": "haarlem",
    "canonical_path": "/cities/nl/haarlem/",
    "mcp_uri": "immigrationdb://city/nl/haarlem",
    "page_state": "published",
    "useful_blocks": [
      "demographics",
      "mobility_admin",
      "work_income",
      "cost_living",
      "healthcare",
      "family_education",
      "housing",
      "climate_air"
    ],
    "useful_fact_count": 53,
    "city_tags": [],
    "facts_by_block": {
      "climate_air": [
        {
          "metric_id": "precip_annual_mm",
          "block_id": "climate_air",
          "value": 2.45,
          "unit": "mm/day",
          "geographic_scope": "city",
          "observed_at": "1991-2020",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "nasa_power",
          "source_url": "https://power.larc.nasa.gov/api/temporal/climatology/point?community=RE&parameters=T2M,T2M_MAX,T2M_MIN,PRECTOTCORR,WS10M,RH2M,ALLSKY_SFC_SW_DWN&longitude=6.1&latitude=52.516666666&format=JSON",
          "source_title": "NASA Langley Research Center POWER Project",
          "source_authority": "NASA Langley Research Center POWER Project",
          "source_type": "independent",
          "source_badge": "Independent source",
          "source_quality": "verified"
        },
        {
          "metric_id": "temp_annual_c",
          "block_id": "climate_air",
          "value": 11.06,
          "unit": "°C",
          "geographic_scope": "city",
          "observed_at": "1991-2020",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "nasa_power",
          "source_url": "https://power.larc.nasa.gov/api/temporal/climatology/point?community=RE&parameters=T2M,T2M_MAX,T2M_MIN,PRECTOTCORR,WS10M,RH2M,ALLSKY_SFC_SW_DWN&longitude=6.1&latitude=52.516666666&format=JSON",
          "source_title": "NASA Langley Research Center POWER Project",
          "source_authority": "NASA Langley Research Center POWER Project",
          "source_type": "independent",
          "source_badge": "Independent source",
          "source_quality": "verified"
        },
        {
          "metric_id": "temp_max_jul_c",
          "block_id": "climate_air",
          "value": 28.46,
          "unit": "°C",
          "geographic_scope": "city",
          "observed_at": "1991-2020",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "nasa_power",
          "source_url": "https://power.larc.nasa.gov/api/temporal/climatology/point?community=RE&parameters=T2M,T2M_MAX,T2M_MIN,PRECTOTCORR,WS10M,RH2M,ALLSKY_SFC_SW_DWN&longitude=6.1&latitude=52.516666666&format=JSON",
          "source_title": "NASA Langley Research Center POWER Project",
          "source_authority": "NASA Langley Research Center POWER Project",
          "source_type": "independent",
          "source_badge": "Independent source",
          "source_quality": "verified"
        },
        {
          "metric_id": "temp_min_jan_c",
          "block_id": "climate_air",
          "value": -3.81,
          "unit": "°C",
          "geographic_scope": "city",
          "observed_at": "1991-2020",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "nasa_power",
          "source_url": "https://power.larc.nasa.gov/api/temporal/climatology/point?community=RE&parameters=T2M,T2M_MAX,T2M_MIN,PRECTOTCORR,WS10M,RH2M,ALLSKY_SFC_SW_DWN&longitude=6.1&latitude=52.516666666&format=JSON",
          "source_title": "NASA Langley Research Center POWER Project",
          "source_authority": "NASA Langley Research Center POWER Project",
          "source_type": "independent",
          "source_badge": "Independent source",
          "source_quality": "verified"
        }
      ],
      "cost_living": [
        {
          "metric_id": "avg_download_mbps_2024",
          "block_id": "cost_living",
          "value": 250,
          "unit": "Mbps",
          "geographic_scope": "gemeente",
          "observed_at": "2026-06-10",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "acm_telecommonitor_2024",
          "source_url": "https://www.acm.nl/nl/onderwerpen/telecommunicatie/telecommonitor",
          "source_title": "ACM",
          "source_authority": "ACM",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "avg_woz_value_k_eur",
          "block_id": "cost_living",
          "value": 356,
          "unit": "kEUR",
          "geographic_scope": "municipality",
          "observed_at": "2020",
          "verified_at": "2026-06-11T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "nl_g02_housing_cbs_84799ned",
          "source_url": "https://opendata.cbs.nl/ODataApi/OData/84799NED/TypedDataSet",
          "source_title": "CBS - Centraal Bureau voor de Statistiek",
          "source_authority": "CBS - Centraal Bureau voor de Statistiek",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "banen_total",
          "block_id": "cost_living",
          "value": 68900,
          "unit": "jobs",
          "geographic_scope": "municipality",
          "observed_at": "2024JJ00",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "g03_labour_cbs_83582ned_total_branch",
          "source_url": "https://opendata.cbs.nl/ODataApi/OData/83582NED/TypedDataSet",
          "source_title": "CBS — Centraal Bureau voor de Statistiek",
          "source_authority": "CBS — Centraal Bureau voor de Statistiek",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "coordinates_lat",
          "block_id": "cost_living",
          "value": 52.380277777,
          "unit": "degrees",
          "geographic_scope": "gemeente",
          "observed_at": "2026-06-10",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "wikidata_p625",
          "source_url": "https://www.wikidata.org/wiki/Q793",
          "source_title": "Wikidata (P625)",
          "source_authority": "Wikidata (P625)",
          "source_type": "independent",
          "source_badge": "Independent source",
          "source_quality": "verified"
        },
        {
          "metric_id": "coordinates_lon",
          "block_id": "cost_living",
          "value": 4.640555555,
          "unit": "degrees",
          "geographic_scope": "gemeente",
          "observed_at": "2026-06-10",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "wikidata_p625",
          "source_url": "https://www.wikidata.org/wiki/Q793",
          "source_title": "Wikidata (P625)",
          "source_authority": "Wikidata (P625)",
          "source_type": "independent",
          "source_badge": "Independent source",
          "source_quality": "verified"
        },
        {
          "metric_id": "fttp_nl_5g_availability",
          "block_id": "cost_living",
          "value": true,
          "unit": "boolean",
          "geographic_scope": "gemeente",
          "observed_at": "2026-06-10",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "acm_telecommonitor_2024",
          "source_url": "https://www.acm.nl/nl/onderwerpen/telecommunicatie/telecommonitor",
          "source_title": "ACM",
          "source_authority": "ACM",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "fttp_nl_avg_pct",
          "block_id": "cost_living",
          "value": 95,
          "unit": "%",
          "geographic_scope": "gemeente",
          "observed_at": "2026-06-10",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "acm_telecommonitor_2024",
          "source_url": "https://www.acm.nl/nl/onderwerpen/telecommunicatie/telecommonitor",
          "source_title": "ACM",
          "source_authority": "ACM",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "humidity_annual_pct",
          "block_id": "cost_living",
          "value": 83.95,
          "unit": "%",
          "geographic_scope": "city",
          "observed_at": "1991-2020",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "nasa_power",
          "source_url": "https://power.larc.nasa.gov/api/temporal/climatology/point?community=RE&parameters=T2M,T2M_MAX,T2M_MIN,PRECTOTCORR,WS10M,RH2M,ALLSKY_SFC_SW_DWN&longitude=6.1&latitude=52.516666666&format=JSON",
          "source_title": "NASA Langley Research Center POWER Project",
          "source_authority": "NASA Langley Research Center POWER Project",
          "source_type": "independent",
          "source_badge": "Independent source",
          "source_quality": "verified"
        },
        {
          "metric_id": "immig_daft_route",
          "block_id": "cost_living",
          "value": true,
          "unit": "boolean",
          "geographic_scope": "gemeente",
          "observed_at": "2026-06-10",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "ind_2025",
          "source_url": "https://ind.nl/en",
          "source_title": "IND",
          "source_authority": "IND",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "immig_dutch_official",
          "block_id": "cost_living",
          "value": "Dutch",
          "unit": "string",
          "geographic_scope": "gemeente",
          "observed_at": "2026-06-10",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "ind_2025",
          "source_url": "https://ind.nl/en",
          "source_title": "IND",
          "source_authority": "IND",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "immig_eu_free_movement",
          "block_id": "cost_living",
          "value": true,
          "unit": "boolean",
          "geographic_scope": "gemeente",
          "observed_at": "2026-06-10",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "ind_2025",
          "source_url": "https://ind.nl/en",
          "source_title": "IND",
          "source_authority": "IND",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "immig_kennismigrant_route",
          "block_id": "cost_living",
          "value": true,
          "unit": "boolean",
          "geographic_scope": "gemeente",
          "observed_at": "2026-06-10",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "ind_2025",
          "source_url": "https://ind.nl/en",
          "source_title": "IND",
          "source_authority": "IND",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "immig_thirty_percent_ruling",
          "block_id": "cost_living",
          "value": true,
          "unit": "boolean",
          "geographic_scope": "gemeente",
          "observed_at": "2026-06-10",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "ind_2025",
          "source_url": "https://ind.nl/en",
          "source_title": "IND",
          "source_authority": "IND",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "nuts2_code",
          "block_id": "cost_living",
          "value": "NL32",
          "unit": "string",
          "geographic_scope": "gemeente",
          "observed_at": "2026-06-10",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "cbs_eurostat",
          "source_url": "https://ec.europa.eu/eurostat/web/nuts",
          "source_title": "CBS/Eurostat NUTS",
          "source_authority": "CBS/Eurostat NUTS",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "owner_occupied_share_pct",
          "block_id": "cost_living",
          "value": 53,
          "unit": "pct",
          "geographic_scope": "municipality",
          "observed_at": "2020",
          "verified_at": "2026-06-11T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "nl_g02_housing_cbs_84799ned",
          "source_url": "https://opendata.cbs.nl/ODataApi/OData/84799NED/TypedDataSet",
          "source_title": "CBS - Centraal Bureau voor de Statistiek",
          "source_authority": "CBS - Centraal Bureau voor de Statistiek",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "province_code",
          "block_id": "cost_living",
          "value": "PV27",
          "unit": "string",
          "geographic_scope": "gemeente",
          "observed_at": "2026-06-10",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "cbs_86247ned",
          "source_url": "https://opendata.cbs.nl/ODataApi/OData/86247NED/TypedDataSet",
          "source_title": "CBS",
          "source_authority": "official authority",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "region_code",
          "block_id": "cost_living",
          "value": "PV27",
          "unit": "string",
          "geographic_scope": "gemeente",
          "observed_at": "2026-06-10",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "cbs_86247ned",
          "source_url": "https://opendata.cbs.nl/ODataApi/OData/86247NED/TypedDataSet",
          "source_title": "CBS",
          "source_authority": "official authority",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "solar_rad_kwh_m2_day",
          "block_id": "cost_living",
          "value": 2.9705,
          "unit": "kWh/m²/day",
          "geographic_scope": "city",
          "observed_at": "1991-2020",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "nasa_power",
          "source_url": "https://power.larc.nasa.gov/api/temporal/climatology/point?community=RE&parameters=T2M,T2M_MAX,T2M_MIN,PRECTOTCORR,WS10M,RH2M,ALLSKY_SFC_SW_DWN&longitude=6.1&latitude=52.516666666&format=JSON",
          "source_title": "NASA Langley Research Center POWER Project",
          "source_authority": "NASA Langley Research Center POWER Project",
          "source_type": "independent",
          "source_badge": "Independent source",
          "source_quality": "verified"
        },
        {
          "metric_id": "tax_kennismigrant_threshold_eur_2025",
          "block_id": "cost_living",
          "value": 3909,
          "unit": "EUR",
          "geographic_scope": "gemeente",
          "observed_at": "2026-06-10",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "belastingdienst_2025",
          "source_url": "https://www.belastingdienst.nl/wps/wcm/connect/bldcontenten/belastingdienst/business",
          "source_title": "Belastingdienst",
          "source_authority": "Belastingdienst",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "tax_thirty_percent_ruling_active",
          "block_id": "cost_living",
          "value": true,
          "unit": "boolean",
          "geographic_scope": "gemeente",
          "observed_at": "2026-06-10",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "belastingdienst_2025",
          "source_url": "https://www.belastingdienst.nl/wps/wcm/connect/bldcontenten/belastingdienst/business",
          "source_title": "Belastingdienst",
          "source_authority": "Belastingdienst",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "tax_vat_reduced_pct",
          "block_id": "cost_living",
          "value": 9,
          "unit": "%",
          "geographic_scope": "gemeente",
          "observed_at": "2026-06-10",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "belastingdienst_2025",
          "source_url": "https://www.belastingdienst.nl/wps/wcm/connect/bldcontenten/belastingdienst/business",
          "source_title": "Belastingdienst",
          "source_authority": "Belastingdienst",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "tax_vat_standard_pct",
          "block_id": "cost_living",
          "value": 21,
          "unit": "%",
          "geographic_scope": "gemeente",
          "observed_at": "2026-06-10",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "belastingdienst_2025",
          "source_url": "https://www.belastingdienst.nl/wps/wcm/connect/bldcontenten/belastingdienst/business",
          "source_title": "Belastingdienst",
          "source_authority": "Belastingdienst",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "urbanisation_class",
          "block_id": "cost_living",
          "value": "150 000 tot 250 000 inwoners",
          "unit": "string",
          "geographic_scope": "gemeente",
          "observed_at": "2026-06-10",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "cbs_86247ned",
          "source_url": "https://opendata.cbs.nl/ODataApi/OData/86247NED/TypedDataSet",
          "source_title": "CBS",
          "source_authority": "official authority",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "wikidata_qid",
          "block_id": "cost_living",
          "value": "Q9920",
          "unit": "string",
          "geographic_scope": "gemeente",
          "observed_at": "2026-06-10",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "wikidata_p382",
          "source_url": "https://www.wikidata.org/wiki/Q793",
          "source_title": "Wikidata (P382)",
          "source_authority": "Wikidata (P382)",
          "source_type": "independent",
          "source_badge": "Independent source",
          "source_quality": "verified"
        },
        {
          "metric_id": "wind_annual_ms",
          "block_id": "cost_living",
          "value": 6.75,
          "unit": "m/s",
          "geographic_scope": "city",
          "observed_at": "1991-2020",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "nasa_power",
          "source_url": "https://power.larc.nasa.gov/api/temporal/climatology/point?community=RE&parameters=T2M,T2M_MAX,T2M_MIN,PRECTOTCORR,WS10M,RH2M,ALLSKY_SFC_SW_DWN&longitude=6.1&latitude=52.516666666&format=JSON",
          "source_title": "NASA Langley Research Center POWER Project",
          "source_authority": "NASA Langley Research Center POWER Project",
          "source_type": "independent",
          "source_badge": "Independent source",
          "source_quality": "verified"
        }
      ],
      "demographics": [
        {
          "metric_id": "area_km2",
          "block_id": "demographics",
          "value": 32.09,
          "unit": "km²",
          "geographic_scope": "gemeente",
          "observed_at": "2026-06-10",
          "verified_at": "2026-06-12",
          "comparison_eligible": true,
          "source_id": "wikidata_p2046",
          "source_url": "https://www.wikidata.org/wiki/Q793",
          "source_title": "Wikidata (P2046)",
          "source_authority": "Netherlands",
          "source_quality": "verified"
        },
        {
          "metric_id": "population_density_per_km2",
          "block_id": "demographics",
          "value": 5265,
          "unit": "persons/km²",
          "geographic_scope": "gemeente",
          "observed_at": "2026-06-10",
          "verified_at": "2026-06-12",
          "comparison_eligible": true,
          "source_id": "cbs_86247ned",
          "source_url": "https://opendata.cbs.nl/ODataApi/OData/86247NED/TypedDataSet",
          "source_title": "CBS",
          "source_authority": "Netherlands",
          "source_quality": "verified"
        },
        {
          "metric_id": "population_total",
          "block_id": "demographics",
          "value": 168946,
          "unit": "persons",
          "geographic_scope": "gemeente",
          "observed_at": "2026-06-10",
          "verified_at": "2026-06-12",
          "comparison_eligible": true,
          "source_id": "cbs_86247ned",
          "source_url": "https://opendata.cbs.nl/ODataApi/OData/86247NED/TypedDataSet",
          "source_title": "CBS",
          "source_authority": "Netherlands",
          "source_quality": "verified"
        }
      ],
      "family_education": [
        {
          "metric_id": "health_children_under_18_free",
          "block_id": "family_education",
          "value": true,
          "unit": "boolean",
          "geographic_scope": "gemeente",
          "observed_at": "2026-06-10",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "rijksoverheid_vws_2025",
          "source_url": "https://www.rijksoverheid.nl/onderwerpen/zorgverzekering",
          "source_title": "Ministerie van VWS",
          "source_authority": "Ministerie van VWS",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "immig_recognized_languages",
          "block_id": "family_education",
          "value": "Frisian, Papiamento (BES)",
          "unit": "string",
          "geographic_scope": "gemeente",
          "observed_at": "2026-06-10",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "ind_2025",
          "source_url": "https://ind.nl/en",
          "source_title": "IND",
          "source_authority": "IND",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "school_count",
          "block_id": "family_education",
          "value": 39,
          "unit": "count",
          "geographic_scope": "municipality",
          "observed_at": "2026-06-11",
          "verified_at": "2026-06-11T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "g07_education_duo_basisonderwijs",
          "source_url": "https://duo.nl/open_onderwijsdata/images/02.-alle-schoolvestigingen-basisonderwijs.csv",
          "source_title": "DUO (Dienst Uitvoering Onderwijs)",
          "source_authority": "DUO (Dienst Uitvoering Onderwijs)",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ],
      "healthcare": [
        {
          "metric_id": "health_basiszorgverzekering_premium_eur_2025",
          "block_id": "healthcare",
          "value": 153,
          "unit": "EUR",
          "geographic_scope": "gemeente",
          "observed_at": "2026-06-10",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "rijksoverheid_vws_2025",
          "source_url": "https://www.rijksoverheid.nl/onderwerpen/zorgverzekering",
          "source_title": "Ministerie van VWS",
          "source_authority": "Ministerie van VWS",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "health_compulsory_deductible_eur_2025",
          "block_id": "healthcare",
          "value": 385,
          "unit": "EUR",
          "geographic_scope": "gemeente",
          "observed_at": "2026-06-10",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "rijksoverheid_vws_2025",
          "source_url": "https://www.rijksoverheid.nl/onderwerpen/zorgverzekering",
          "source_title": "Ministerie van VWS",
          "source_authority": "Ministerie van VWS",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "health_gp_gatekeeping",
          "block_id": "healthcare",
          "value": true,
          "unit": "boolean",
          "geographic_scope": "gemeente",
          "observed_at": "2026-06-10",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "rijksoverheid_vws_2025",
          "source_url": "https://www.rijksoverheid.nl/onderwerpen/zorgverzekering",
          "source_title": "Ministerie van VWS",
          "source_authority": "Ministerie van VWS",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ],
      "housing": [
        {
          "metric_id": "housing_stock_total",
          "block_id": "housing",
          "value": 76436,
          "unit": "dwellings",
          "geographic_scope": "municipality",
          "observed_at": "2020",
          "verified_at": "2026-06-11T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "nl_g02_housing_cbs_84799ned",
          "source_url": "https://opendata.cbs.nl/ODataApi/OData/84799NED/TypedDataSet",
          "source_title": "CBS - Centraal Bureau voor de Statistiek",
          "source_authority": "CBS - Centraal Bureau voor de Statistiek",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "rental_share_pct",
          "block_id": "housing",
          "value": 47,
          "unit": "pct",
          "geographic_scope": "municipality",
          "observed_at": "2020",
          "verified_at": "2026-06-11T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "nl_g02_housing_cbs_84799ned",
          "source_url": "https://opendata.cbs.nl/ODataApi/OData/84799NED/TypedDataSet",
          "source_title": "CBS - Centraal Bureau voor de Statistiek",
          "source_authority": "CBS - Centraal Bureau voor de Statistiek",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ],
      "identity": [
        {
          "metric_id": "address_density",
          "block_id": "identity",
          "value": 3734,
          "unit": "addresses/km²",
          "geographic_scope": "gemeente",
          "observed_at": "2026-06-10",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "cbs_86247ned",
          "source_url": "https://opendata.cbs.nl/ODataApi/OData/86247NED/TypedDataSet",
          "source_title": "CBS",
          "source_authority": "official authority",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "car_density_per_1000",
          "block_id": "identity",
          "value": 397.2,
          "unit": "cars/1000 residents",
          "geographic_scope": "city",
          "observed_at": "2025-01-01",
          "verified_at": "2026-07-15",
          "comparison_eligible": true,
          "source_id": "cbs_86165NED",
          "source_url": "https://opendata.cbs.nl/ODataApi/OData/86165NED/TypedDataSet?%24filter=startswith%28WijkenEnBuurten%2C%27GM%27%29&%24select=WijkenEnBuurten%2CGemeentenaam_1%2CSoortRegio_2%2CIndelingswijzigingGemeenteWijkBuurt_4%2CAantalInwoners_5%2CNederland_17%2CEuropaExclusiefNederland_18%2CBuitenEuropa_19%2CBevolkingsdichtheid_34%2CPersonenautoSTotaal_104%2COppervlakteTotaal_115%2COppervlakteLand_116%2COppervlakteWater_117",
          "source_title": "CBS Kerncijfers wijken en buurten 2025, municipality-grain passenger-car universe (Personenauto's totaal) divided by the same-table municipality population.",
          "source_authority": "CBS",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "city_area_km2",
          "block_id": "identity",
          "value": 32.1,
          "unit": "km2",
          "geographic_scope": "city",
          "observed_at": "2026-01-28",
          "verified_at": "2026-07-15",
          "comparison_eligible": true,
          "source_id": "kadaster_brk_bestuurlijke_gebieden",
          "source_url": "https://api.pdok.nl/kadaster/brk-bestuurlijke-gebieden/ogc/v1/collections/gemeentegebied/items?crs=http%3A%2F%2Fwww.opengis.net%2Fdef%2Fcrs%2FEPSG%2F0%2F28992&f=json&limit=400",
          "source_title": "Kadaster BRK Bestuurlijke Gebieden, current municipality boundary polygon in EPSG:28992; area is the polygon area converted from m² to km².",
          "source_authority": "Kadaster / BRK",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "foreign_population_total",
          "block_id": "identity",
          "value": 63170,
          "unit": "people",
          "geographic_scope": "city",
          "observed_at": "2025-01-01",
          "verified_at": "2026-07-15",
          "comparison_eligible": true,
          "source_id": "cbs_86165NED",
          "source_url": "https://opendata.cbs.nl/ODataApi/OData/86165NED/TypedDataSet?%24filter=startswith%28WijkenEnBuurten%2C%27GM%27%29&%24select=WijkenEnBuurten%2CGemeentenaam_1%2CSoortRegio_2%2CIndelingswijzigingGemeenteWijkBuurt_4%2CAantalInwoners_5%2CNederland_17%2CEuropaExclusiefNederland_18%2CBuitenEuropa_19%2CBevolkingsdichtheid_34%2CPersonenautoSTotaal_104%2COppervlakteTotaal_115%2COppervlakteLand_116%2COppervlakteWater_117",
          "source_title": "CBS Kerncijfers wijken en buurten 2025, municipality-grain passenger-car universe (Personenauto's totaal) divided by the same-table municipality population.",
          "source_authority": "CBS",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ],
      "mobility_admin": [
        {
          "metric_id": "nearest_airport_destinations_count",
          "block_id": "mobility_admin",
          "value": 232,
          "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": "AMS",
          "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": 11.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 — nearest_airport_iata",
          "source_authority": "OurAirports — airports.csv",
          "source_quality": "verified"
        }
      ],
      "work_income": [
        {
          "metric_id": "broadband_gigabit_availability_percent",
          "block_id": "work_income",
          "value": 99.83,
          "unit": "percent",
          "geographic_scope": "city",
          "observed_at": null,
          "verified_at": "2026-07-15",
          "comparison_eligible": true,
          "source_id": "ezk_viv_gemeente_1000mbit_2025q1",
          "source_url": "https://services.arcgis.com/kE0BiyvJHb5SwQv7/arcgis/rest/services/VIV_Gemeente/FeatureServer/0",
          "source_title": "Percentage of households in the Dutch municipality with access to a fixed internet connection of at least 1 Gbps (1000 Mbit/s); availability, not subscribed plan, measured speed or FTTH-only coverage.",
          "source_authority": "Ministerie van Economische Zaken en Klimaat (EZK), Overal Snel Internet",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "median_income_eur_year",
          "block_id": "work_income",
          "value": 38600,
          "unit": "EUR/year",
          "geographic_scope": "municipality",
          "observed_at": "2024JJ00",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "g03_labour_cbs_86162ned_income",
          "source_url": "https://opendata.cbs.nl/ODataApi/OData/86162NED/TypedDataSet",
          "source_title": "CBS - Centraal Bureau voor de Statistiek",
          "source_authority": "CBS - Centraal Bureau voor de Statistiek",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "tax_income_tax_lower_bracket_pct",
          "block_id": "work_income",
          "value": 9.42,
          "unit": "%",
          "geographic_scope": "gemeente",
          "observed_at": "2026-06-10",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "belastingdienst_2025",
          "source_url": "https://www.belastingdienst.nl/wps/wcm/connect/bldcontenten/belastingdienst/business",
          "source_title": "Belastingdienst",
          "source_authority": "Belastingdienst",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "tax_income_tax_middle_bracket_pct",
          "block_id": "work_income",
          "value": 37.48,
          "unit": "%",
          "geographic_scope": "gemeente",
          "observed_at": "2026-06-10",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "belastingdienst_2025",
          "source_url": "https://www.belastingdienst.nl/wps/wcm/connect/bldcontenten/belastingdienst/business",
          "source_title": "Belastingdienst",
          "source_authority": "Belastingdienst",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "tax_income_tax_upper_bracket_pct",
          "block_id": "work_income",
          "value": 49.5,
          "unit": "%",
          "geographic_scope": "gemeente",
          "observed_at": "2026-06-10",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "belastingdienst_2025",
          "source_url": "https://www.belastingdienst.nl/wps/wcm/connect/bldcontenten/belastingdienst/business",
          "source_title": "Belastingdienst",
          "source_authority": "Belastingdienst",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "metric_id": "unemployment_rate_pct",
          "block_id": "work_income",
          "value": 4,
          "unit": "pct",
          "geographic_scope": "municipality",
          "observed_at": "2025JJ00",
          "verified_at": "2026-06-12T00:00:00Z",
          "comparison_eligible": true,
          "source_id": "g03_labour_cbs_86271ned_unemployment",
          "source_url": "https://opendata.cbs.nl/ODataApi/OData/86271NED/TypedDataSet",
          "source_title": "CBS - Centraal Bureau voor de Statistiek",
          "source_authority": "CBS - Centraal Bureau voor de Statistiek",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ]
    }
  }
}
