{
  "snapshot_id": "approved-static-48d32b636f07abc8",
  "page_version": "1be74f2c5dcefe44ef40073a077e5ce4",
  "content_date": "2026-10-16",
  "schema_version": "immigrationdb-city-resource-v2",
  "generated_at": "2026-10-25",
  "citation": {
    "@type": "CreativeWork",
    "@id": "https://immigrationdb.com/cities/be/veerle/#citation",
    "schema_version": "immigrationdb-citation-v1",
    "citation_type": "ImmigrationDB compilation",
    "canonical_url": "https://immigrationdb.com/cities/be/veerle/",
    "title": "Veerle, Belgium: population, rent, salary, cost of living",
    "author": {
      "name": "ImmigrationDB",
      "url": "https://immigrationdb.com/"
    },
    "publisher": {
      "name": "ImmigrationDB",
      "url": "https://immigrationdb.com/"
    },
    "snapshot_id": "approved-static-48d32b636f07abc8",
    "version": "1be74f2c5dcefe44ef40073a077e5ce4",
    "retrieval_date": "2026-10-16",
    "build_date": "2026-10-16",
    "compilation_license": {
      "name": "CC BY 4.0",
      "url": "https://creativecommons.org/licenses/by/4.0/",
      "terms_url": "https://immigrationdb.com/about/copyright/"
    },
    "formats": {
      "apa": "ImmigrationDB. (2026, October 16). Veerle, Belgium: population, rent, salary, cost of living [ImmigrationDB compilation; version 1be74f2c5dcefe44ef40073a077e5ce4]. ImmigrationDB. https://immigrationdb.com/cities/be/veerle/ Retrieved 2026-10-16. Compilation license: CC BY 4.0, https://creativecommons.org/licenses/by/4.0/",
      "bibtex": "@misc{immigrationdb_immigrationdb_veerle-belgium-population-rent-salary-cost-of-living_9046c36ff0a6,\n  author = {ImmigrationDB},\n  title = {Veerle, Belgium: population, rent, salary, cost of living},\n  publisher = {ImmigrationDB},\n  year = {2026},\n  date = {2026-10-16},\n  version = {1be74f2c5dcefe44ef40073a077e5ce4},\n  url = {https://immigrationdb.com/cities/be/veerle/},\n  note = {Retrieved 2026-10-16. ImmigrationDB compilation. Compilation license: CC BY 4.0, https://creativecommons.org/licenses/by/4.0/},\n}",
      "markdown": "[Veerle, Belgium: population, rent, salary, cost of living](https://immigrationdb.com/cities/be/veerle/) — ImmigrationDB; ImmigrationDB; version 1be74f2c5dcefe44ef40073a077e5ce4; retrieved 2026-10-16; built 2026-10-16."
    },
    "boundary_note": "This citation identifies the ImmigrationDB compilation/page. Underlying source publishers and datasets retain their own terms; inspect the Sources section and cite those records separately."
  },
  "generated_overview": "Veerle registered an unemployment rate of 4.56% at the start of 2011. At the end of 2024, annual PM2.5 reached 8 µg/m³.",
  "generated_overview_claim_ids": [],
  "underlying_source_references": [
    {
      "source_id": "source-de71f42d243f",
      "source_url": "https://services9.arcgis.com/AxvKXHgzoNemvsVh/arcgis/rest/services/StatisticalSectors2025_WFL1/FeatureServer/3/query",
      "source_title": "Population by statistical sector 2025",
      "publisher": "Population by statistical sector 2025",
      "source_quality": "verified",
      "last_checked": "2026-09-24"
    },
    {
      "source_id": "source-f123e9fe6e21",
      "source_url": "https://opendata.fin.belgium.be/download/datasets/fb6485c0-5ed8-11ee-b9b4-0050569393d1_20251231_csv_NA_01000.zip",
      "source_title": "Baux immobiliers – version annuelle / Real Estate Rents Annual; MunicipalityWideRealEstateRentsAnnual; RentP50",
      "publisher": "Baux immobiliers – version annuelle / Real Estate Rents Annual; MunicipalityWideRealEstateRentsAnnual; RentP50",
      "source_quality": "verified",
      "last_checked": "2026-09-23"
    },
    {
      "source_id": "source-2cadfda2f82d",
      "source_url": "https://bestat.statbel.fgov.be/bestat/api/views/5b9dd946-37ad-4b90-b645-b8e5e37eb4a9/result/CSV",
      "source_title": "Salaires mensuels bruts moyens des salariés employés à temps plein 2000-2022",
      "publisher": "Salaires mensuels bruts moyens des salariés employés à temps plein 2000-2022",
      "source_quality": "verified",
      "last_checked": "2026-09-23"
    },
    {
      "source_id": "source-795913d76b64",
      "source_url": "https://bestat.statbel.fgov.be/bestat/crosstable.xhtml?view=5b9dd946-37ad-4b90-b645-b8e5e37eb4a9",
      "source_title": "Salaires mensuels bruts moyens des salariés employés à temps plein 2000-2022",
      "publisher": "Salaires mensuels bruts moyens des salariés employés à temps plein 2000-2022",
      "source_quality": "verified",
      "last_checked": "2026-09-23"
    },
    {
      "source_id": "source-df4563dacb6d",
      "source_url": "https://bestat.statbel.fgov.be/bestat/api/views/51bc2007-36b3-4f96-a540-823018b2dd67/result/JSON",
      "source_title": "Statbel be.STAT — unemployment rate of 15–64-year-olds by municipality, Census 2011",
      "publisher": "Statbel be.STAT",
      "source_quality": "verified",
      "last_checked": "2026-07-26"
    },
    {
      "source_id": "source-2e3d739c3a75",
      "source_url": "https://air.discomap.eea.europa.eu/arcgis/rest/services/AirQuality/AQ_Statistics_WM/MapServer/0/query?where=Country_ISO%3D%27BE%27+AND+AirPollutant%3D%27PM2.5%27+AND+YearOfStatistics%3D2024&outFields=AirPollutant%2CAirPollutionLevel%2CCountry_ISO%2CStationName%2CYearOfStatistics%2CUnitOfAirpollutionLevel%2CReportingMetric%2CLatitudeOfMeasurementStation%2CLongitudeOfMeasurementStation%2CDataCoverage%2CPreliminary&returnGeometry=false&f=json",
      "source_title": "European Environment Agency (EEA)",
      "publisher": "European Environment Agency (EEA)",
      "source_quality": "verified",
      "last_checked": "2026-08-06"
    },
    {
      "source_id": "source-f6e4488d2bde",
      "source_url": "https://www.proximus.be/fr/abonnement-internet",
      "source_title": "Proximus Internet Go",
      "publisher": "Proximus Internet Go",
      "source_quality": "verified",
      "last_checked": "2026-09-15"
    },
    {
      "source_id": "source-b32196ea75eb",
      "source_url": "https://www.proximus.be/en/mobile-subscription/maxi",
      "source_title": "Proximus Mobile Maxi",
      "publisher": "Proximus Mobile Maxi",
      "source_quality": "verified",
      "last_checked": "2026-09-15"
    },
    {
      "source_id": "source-db8f477dd964",
      "source_url": "https://www.police.be/statistiques/fr/criminalite/faits-criminels/tableau?view=location&year=2025",
      "source_title": "Tableau des statistiques de faits criminels par commune, 2025",
      "publisher": "Tableau des statistiques de faits criminels par commune, 2025",
      "source_quality": "verified",
      "last_checked": "2026-10-05"
    },
    {
      "source_id": "source-2c811b7da15a",
      "source_url": "https://raw.githubusercontent.com/jpatokal/openflights/master/data/routes.dat",
      "source_title": "OpenFlights",
      "publisher": "OpenFlights",
      "source_quality": "verified",
      "last_checked": "2026-08-03"
    },
    {
      "source_id": "source-4e7d55f2c3dd",
      "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
      "source_title": "OurAirports",
      "publisher": "OurAirports",
      "source_quality": "verified",
      "last_checked": "2026-08-03"
    },
    {
      "source_id": "source-c2b4a0bb7b2b",
      "source_url": "https://gisco-services.ec.europa.eu/distribution/v2/lau/geojson/LAU_RG_01M_2024_4326.geojson",
      "source_title": "gisco-services.ec.europa.eu place coordinates",
      "publisher": "gisco-services.ec.europa.eu place coordinates",
      "source_quality": "verified",
      "last_checked": "2026-08-28"
    },
    {
      "source_id": "source-52289ea3e1d4",
      "source_url": "https://www.actiris.brussels/en/citizens/",
      "source_title": "Actiris",
      "publisher": "Actiris Brussels public employment service",
      "source_quality": "verified",
      "last_checked": "2026-08-10"
    },
    {
      "source_id": "source-bf21bd63d20e",
      "source_url": "https://www.leforem.be/",
      "source_title": "Le Forem",
      "publisher": "Le Forem Walloon public employment and training service",
      "source_quality": "verified",
      "last_checked": "2026-08-10"
    },
    {
      "source_id": "source-1354f995e2a4",
      "source_url": "https://www.vdab.be/",
      "source_title": "VDAB",
      "publisher": "Vlaamse Dienst voor Arbeidsbemiddeling en Beroepsopleiding",
      "source_quality": "verified",
      "last_checked": "2026-08-10"
    },
    {
      "source_id": "source-65f3d894629d",
      "source_url": "https://www.belgium.be/en/health/healthcare_costs",
      "source_title": "Belgium.be, Government of Belgium",
      "publisher": "Belgium.be, Government of Belgium",
      "source_quality": "verified",
      "last_checked": "2026-08-03"
    }
  ],
  "canonical_path": "/cities/be/veerle/",
  "rankings": [],
  "mcp_uri": "immigrationdb://city/be/veerle",
  "editorial_copy": {
    "status": "reviewed",
    "reviewed_at": "2026-08-08",
    "copy_depth": "city_standard",
    "blocks": {
      "intro": "Veerle registered an unemployment rate of 4.56% at the start of 2011. At the end of 2024, annual PM2.5 reached 8 µg/m³.",
      "mobility_lead": "Veerle's nearest airport was ANR, 39 km away and offered 1 direct destinations."
    },
    "used_claim_count": 5,
    "uses_supplemental_cd": false
  },
  "city": {
    "entity_id": "city:be:geonames:2784980",
    "name": "Veerle",
    "name_en": "Veerle",
    "country_code": "BE",
    "public_slug": "veerle",
    "canonical_path": "/cities/be/veerle/",
    "mcp_uri": "immigrationdb://city/be/veerle",
    "page_state": "published",
    "usefulness": {
      "policy": "city_usefulness_v1",
      "has_reviewed_copy": true,
      "valid_slug": true,
      "counts": {
        "ab_facts": 12,
        "metrics": 12,
        "source_blocks": 7,
        "decision_domains": 5,
        "answer_intents": 5,
        "fresh_facts": 12
      },
      "answer_intents": [
        "air",
        "income",
        "rent",
        "safety",
        "work"
      ],
      "decision_domains": [
        "environment",
        "housing",
        "mobility",
        "safety",
        "work"
      ],
      "requirements": {
        "metrics": true,
        "source_blocks": true,
        "decision_domains": true,
        "answer_intents": true,
        "fresh_facts": true
      },
      "base_floor_passed": true,
      "tier": "answer_linked",
      "indexable": true,
      "internal_link_kind": "typed_relationship",
      "structured_context_count": 1,
      "missing_requirements": []
    },
    "useful_blocks": [
      "climate_air",
      "mobility_admin",
      "work_income",
      "cost_living",
      "safety",
      "housing"
    ],
    "useful_fact_count": 12,
    "city_tags": [],
    "profile_scores": {
      "remote": {
        "point": 54,
        "low": 39,
        "high": 69,
        "factors": {
          "employment_service": 68,
          "language_integration": 82,
          "legal_path": 88
        },
        "housing_budget": {
          "status": "fits",
          "currency": "EUR",
          "fx_date": null,
          "normalized_monthly_eur": 820,
          "source_id": "source-f123e9fe6e21",
          "basis": "monthly_total"
        },
        "coverage": 0.1385,
        "confidence": 0.9,
        "coverage_status": "capped",
        "missing_factors": [
          "air",
          "cost_pressure",
          "healthcare_capacity",
          "healthcare_migrant_access",
          "housing",
          "safety",
          "tax_retention",
          "work"
        ],
        "country_context": {
          "employment_service": {
            "score": 68,
            "weight": 0.75,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "language_integration": {
            "score": 82,
            "weight": 0.5,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "legal_path": {
            "score": 88,
            "weight": 1,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          }
        }
      },
      "skilled_employee": {
        "point": 58,
        "low": 45,
        "high": 71,
        "factors": {
          "employment_service": 68,
          "language_integration": 82,
          "legal_path": 88,
          "tax_retention": 60
        },
        "housing_budget": {
          "status": "fits",
          "currency": "EUR",
          "fx_date": null,
          "normalized_monthly_eur": 820,
          "source_id": "source-f123e9fe6e21",
          "basis": "monthly_total"
        },
        "coverage": 0.3333,
        "confidence": 0.7667,
        "coverage_status": "capped",
        "missing_factors": [
          "education",
          "healthcare_capacity",
          "healthcare_migrant_access",
          "housing",
          "safety",
          "work"
        ],
        "country_context": {
          "employment_service": {
            "score": 68,
            "weight": 1,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "language_integration": {
            "score": 82,
            "weight": 1,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "legal_path": {
            "score": 88,
            "weight": 2,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "tax_retention": {
            "score": 60,
            "weight": 2,
            "confidence": 0.5,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          }
        }
      },
      "family": {
        "point": 55,
        "low": 40,
        "high": 70,
        "factors": {
          "employment_service": 68,
          "language_integration": 82,
          "legal_path": 88
        },
        "housing_budget": {
          "status": "fits",
          "currency": "EUR",
          "fx_date": null,
          "normalized_monthly_eur": 820,
          "source_id": "source-f123e9fe6e21",
          "basis": "monthly_total"
        },
        "coverage": 0.1429,
        "confidence": 0.9,
        "coverage_status": "capped",
        "missing_factors": [
          "cost_pressure",
          "education",
          "family",
          "healthcare_capacity",
          "healthcare_migrant_access",
          "housing",
          "safety"
        ],
        "country_context": {
          "employment_service": {
            "score": 68,
            "weight": 0.5,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "language_integration": {
            "score": 82,
            "weight": 1,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "legal_path": {
            "score": 88,
            "weight": 1,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          }
        }
      },
      "student": {
        "point": 38,
        "low": 24,
        "high": 52,
        "factors": {
          "employment_service": 68,
          "language_integration": 82,
          "legal_path": 88
        },
        "housing_budget": {
          "status": "over",
          "currency": "EUR",
          "fx_date": null,
          "normalized_monthly_eur": 820,
          "source_id": "source-f123e9fe6e21",
          "basis": "monthly_total"
        },
        "coverage": 0.1765,
        "confidence": 0.9,
        "coverage_status": "capped",
        "missing_factors": [
          "cost_pressure",
          "education",
          "healthcare_capacity",
          "healthcare_migrant_access",
          "housing",
          "safety",
          "work"
        ],
        "country_context": {
          "employment_service": {
            "score": 68,
            "weight": 0,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "language_integration": {
            "score": 82,
            "weight": 1,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "legal_path": {
            "score": 88,
            "weight": 2,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          }
        }
      },
      "retirement": {
        "point": 55,
        "low": 40,
        "high": 70,
        "factors": {
          "employment_service": 68,
          "language_integration": 82,
          "legal_path": 88
        },
        "housing_budget": {
          "status": "fits",
          "currency": "EUR",
          "fx_date": null,
          "normalized_monthly_eur": 820,
          "source_id": "source-f123e9fe6e21",
          "basis": "monthly_total"
        },
        "coverage": 0.125,
        "confidence": 0.9,
        "coverage_status": "capped",
        "missing_factors": [
          "air",
          "bureaucracy",
          "cost_pressure",
          "healthcare_capacity",
          "healthcare_migrant_access",
          "housing",
          "safety",
          "tax_retention"
        ],
        "country_context": {
          "employment_service": {
            "score": 68,
            "weight": 0,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "language_integration": {
            "score": 82,
            "weight": 0.5,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "legal_path": {
            "score": 88,
            "weight": 2,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          }
        }
      }
    },
    "facts_by_block": {
      "identity": [
        {
          "reader_label": "Population",
          "label_owner_metric_id": "population_total",
          "reader_label_role": "primary",
          "metric_id": "population_total",
          "block_id": "identity",
          "value": 6013,
          "unit": "people",
          "geographic_scope": "city",
          "observed_at": "2025-01-01",
          "verified_at": "2026-09-24",
          "comparison_eligible": true,
          "comparison_basis": {
            "geographic_scope": "city",
            "unit": "people",
            "observed_at": "2025-01-01",
            "data_level": null
          },
          "source_id": "source-de71f42d243f",
          "source_url": "https://services9.arcgis.com/AxvKXHgzoNemvsVh/arcgis/rest/services/StatisticalSectors2025_WFL1/FeatureServer/3/query",
          "source_title": "Population by statistical sector 2025",
          "source_authority": "Statbel (Belgian statistical office)",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ],
      "housing_cost": [
        {
          "reader_label": "Internet, 60 Mbps unlimited",
          "label_owner_metric_id": null,
          "reader_label_role": "metric",
          "metric_id": "col_internet_60mbps_eur_month",
          "block_id": "cost_living",
          "value": 59.99,
          "unit": "EUR/month",
          "geographic_scope": "national_market",
          "observed_at": "2026-09-30",
          "verified_at": "2026-09-19",
          "comparison_eligible": true,
          "comparison_basis": {
            "geographic_scope": "national_market",
            "unit": "eur/month",
            "observed_at": "2026-09-30",
            "data_level": null
          },
          "source_id": "source-f6e4488d2bde",
          "source_url": "https://www.proximus.be/fr/abonnement-internet",
          "source_title": "Proximus Internet Go",
          "source_authority": "Proximus",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "reader_label": "Mobile plan, 10 GB",
          "label_owner_metric_id": null,
          "reader_label_role": "metric",
          "metric_id": "col_mobile_plan_10gb_eur_month",
          "block_id": "cost_living",
          "value": 49.99,
          "unit": "EUR/month",
          "geographic_scope": "national_market",
          "observed_at": "2026-09-30",
          "verified_at": "2026-09-19",
          "comparison_eligible": true,
          "comparison_basis": {
            "geographic_scope": "national_market",
            "unit": "eur/month",
            "observed_at": "2026-09-30",
            "data_level": null
          },
          "source_id": "source-b32196ea75eb",
          "source_url": "https://www.proximus.be/en/mobile-subscription/maxi",
          "source_title": "Proximus Mobile Maxi",
          "source_authority": "Proximus",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "reader_label": "Median monthly rent",
          "label_owner_metric_id": null,
          "reader_label_role": "metric",
          "metric_id": "rent_median_city_eur_month",
          "block_id": "housing",
          "value": 820,
          "unit": "EUR/month",
          "geographic_scope": "parent_municipality",
          "observed_at": "2025-12-31",
          "verified_at": "2026-09-24",
          "comparison_eligible": true,
          "comparison_basis": {
            "geographic_scope": "parent_municipality",
            "unit": "eur/month",
            "observed_at": "2025-12-31",
            "data_level": null
          },
          "source_id": "source-f123e9fe6e21",
          "source_url": "https://opendata.fin.belgium.be/download/datasets/fb6485c0-5ed8-11ee-b9b4-0050569393d1_20251231_csv_NA_01000.zip",
          "source_title": "Baux immobiliers – version annuelle / Real Estate Rents Annual; MunicipalityWideRealEstateRentsAnnual; RentP50",
          "source_authority": "FPS Finance (SPF Finances), General Administration of Patrimonial Documentation – Information Gathering and Exchange (AGDP), Belgium",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ],
      "work_income": [
        {
          "reader_label": "Average gross earnings",
          "label_owner_metric_id": null,
          "reader_label_role": "metric",
          "metric_id": "average_monthly_gross_earnings_eur",
          "block_id": "work_income",
          "value": 4028,
          "unit": "EUR/month",
          "geographic_scope": "regional_context",
          "observed_at": "2022-12-31",
          "verified_at": "2026-09-23",
          "comparison_eligible": true,
          "comparison_basis": {
            "geographic_scope": "regional_context",
            "unit": "eur/month",
            "observed_at": "2022-12-31",
            "data_level": null
          },
          "source_id": "source-2cadfda2f82d",
          "source_url": "https://bestat.statbel.fgov.be/bestat/api/views/5b9dd946-37ad-4b90-b645-b8e5e37eb4a9/result/CSV",
          "source_title": "Salaires mensuels bruts moyens des salariés employés à temps plein 2000-2022",
          "source_authority": "Statbel (Statistics Belgium), FPS Economy",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "reader_label": "Median gross salary (regional)",
          "label_owner_metric_id": null,
          "reader_label_role": "metric",
          "metric_id": "salary_median_gross_regional_eur_month",
          "block_id": "work_income",
          "value": 3711,
          "unit": "EUR/month",
          "geographic_scope": "regional_context",
          "observed_at": "2022-12-31",
          "verified_at": "2026-09-23",
          "comparison_eligible": true,
          "comparison_basis": {
            "geographic_scope": "regional_context",
            "unit": "eur/month",
            "observed_at": "2022-12-31",
            "data_level": null
          },
          "source_id": "source-795913d76b64",
          "source_url": "https://bestat.statbel.fgov.be/bestat/crosstable.xhtml?view=5b9dd946-37ad-4b90-b645-b8e5e37eb4a9",
          "source_title": "Salaires mensuels bruts moyens des salariés employés à temps plein 2000-2022",
          "source_authority": "Statbel (Statistics Belgium), FPS Economy",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "reader_label": "Unemployment rate",
          "label_owner_metric_id": "unemployment_total_percent",
          "reader_label_role": "primary",
          "metric_id": "unemployment_total_percent",
          "block_id": "work_income",
          "value": 4.56,
          "unit": "percent",
          "geographic_scope": "parent_municipality",
          "observed_at": "2011-01-01",
          "verified_at": "2026-08-06",
          "comparison_eligible": true,
          "comparison_basis": {
            "geographic_scope": "parent_municipality",
            "unit": "%",
            "observed_at": "2011-01-01",
            "data_level": null
          },
          "source_id": "source-df4563dacb6d",
          "source_url": "https://bestat.statbel.fgov.be/bestat/api/views/51bc2007-36b3-4f96-a540-823018b2dd67/result/JSON",
          "source_title": "Statbel be.STAT — unemployment rate of 15–64-year-olds by municipality, Census 2011",
          "source_authority": "Statbel / Belgian Census 2011",
          "source_type": "independent",
          "source_badge": "Independent source",
          "source_quality": "verified"
        }
      ],
      "safety": [
        {
          "reader_label": "Recorded incidents per 100,000 residents",
          "label_owner_metric_id": null,
          "reader_label_role": "metric",
          "metric_id": "crime_incidents_per_100k",
          "block_id": "safety",
          "value": 3655.152052,
          "unit": "incidents/100k residents",
          "geographic_scope": "parent_municipality",
          "observed_at": "2025-12-31",
          "verified_at": "2026-10-07",
          "comparison_eligible": true,
          "comparison_basis": {
            "geographic_scope": "parent_municipality",
            "unit": "incidents per 100,000",
            "observed_at": "2025-12-31",
            "data_level": null
          },
          "source_id": "source-db8f477dd964",
          "source_url": "https://www.police.be/statistiques/fr/criminalite/faits-criminels/tableau?view=location&year=2025",
          "source_title": "Tableau des statistiques de faits criminels par commune, 2025",
          "source_authority": "Belgian Federal Police",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ],
      "climate_air": [
        {
          "reader_label": "PM2.5 — annual mean",
          "label_owner_metric_id": null,
          "reader_label_role": "metric",
          "metric_id": "air_quality_pm25_annual_ug_m3",
          "block_id": "climate_air",
          "value": 8,
          "unit": "ug/m3",
          "geographic_scope": "nearest_station",
          "observed_at": "2024-12-31",
          "verified_at": "2026-08-06",
          "comparison_eligible": true,
          "comparison_basis": {
            "geographic_scope": "nearest_station",
            "unit": "µg/m³",
            "observed_at": "2024-12-31",
            "data_level": null
          },
          "source_id": "source-2e3d739c3a75",
          "source_url": "https://air.discomap.eea.europa.eu/arcgis/rest/services/AirQuality/AQ_Statistics_WM/MapServer/0/query?where=Country_ISO%3D%27BE%27+AND+AirPollutant%3D%27PM2.5%27+AND+YearOfStatistics%3D2024&outFields=AirPollutant%2CAirPollutionLevel%2CCountry_ISO%2CStationName%2CYearOfStatistics%2CUnitOfAirpollutionLevel%2CReportingMetric%2CLatitudeOfMeasurementStation%2CLongitudeOfMeasurementStation%2CDataCoverage%2CPreliminary&returnGeometry=false&f=json",
          "source_title": "European Environment Agency (EEA)",
          "source_authority": "European Environment Agency (EEA)",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ],
      "mobility_admin": [
        {
          "reader_label": "Direct destinations from the nearest major airport",
          "label_owner_metric_id": null,
          "reader_label_role": "metric",
          "metric_id": "airport_direct_destinations_count",
          "block_id": "mobility_admin",
          "value": 1,
          "unit": "count",
          "geographic_scope": "city",
          "observed_at": "2026-08-03",
          "verified_at": "2026-08-03",
          "comparison_eligible": true,
          "comparison_basis": {
            "geographic_scope": "city",
            "unit": "count",
            "observed_at": "2026-08-03",
            "data_level": null
          },
          "source_id": "source-2c811b7da15a",
          "source_url": "https://raw.githubusercontent.com/jpatokal/openflights/master/data/routes.dat",
          "source_title": "OpenFlights",
          "source_authority": "OpenFlights",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "reader_label": "Distance to the nearest major airport",
          "label_owner_metric_id": null,
          "reader_label_role": "metric",
          "metric_id": "nearest_major_airport_distance_km",
          "block_id": "mobility_admin",
          "value": 39,
          "unit": "km",
          "geographic_scope": "city",
          "observed_at": "2026-08-03",
          "verified_at": "2026-08-03",
          "comparison_eligible": true,
          "comparison_basis": {
            "geographic_scope": "city",
            "unit": "km",
            "observed_at": "2026-08-03",
            "data_level": null
          },
          "source_id": "source-4e7d55f2c3dd",
          "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
          "source_title": "OurAirports",
          "source_authority": "OurAirports",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "reader_label": "Nearest major airport (IATA code)",
          "label_owner_metric_id": null,
          "reader_label_role": "metric",
          "metric_id": "nearest_major_airport_iata",
          "block_id": "mobility_admin",
          "value": "ANR",
          "unit": "iata_code",
          "geographic_scope": "city",
          "observed_at": "2026-08-03",
          "verified_at": "2026-08-03",
          "comparison_eligible": true,
          "comparison_basis": {
            "geographic_scope": "city",
            "unit": "unit-not-stated",
            "observed_at": "2026-08-03",
            "data_level": null
          },
          "source_id": "source-4e7d55f2c3dd",
          "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
          "source_title": "OurAirports",
          "source_authority": "OurAirports",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ]
    },
    "language_integration": null,
    "public_employment_service": {
      "mode": "national",
      "local_locations": [],
      "services": [
        {
          "service_id": "employment:be:service:actiris",
          "name": "Actiris",
          "agency_name": "Actiris Brussels public employment service",
          "scope": {
            "name": "BE",
            "grain": "national",
            "entity_id": null,
            "country_code": "BE",
            "official_key": null,
            "relation_method": "national_scope"
          },
          "service_types": [
            "job_search"
          ],
          "eligible_statuses": [],
          "registration_requirements": null,
          "languages_available": [],
          "information_url": "https://www.actiris.brussels/en/",
          "registration_url": null,
          "job_search_url": "https://www.actiris.brussels/en/citizens/",
          "source": {
            "source_id": "source-52289ea3e1d4",
            "title": "Actiris",
            "publisher": "Actiris Brussels public employment service",
            "source_url": "https://www.actiris.brussels/en/citizens/",
            "source_quality": "verified",
            "last_checked": "2026-08-10"
          }
        },
        {
          "service_id": "employment:be:service:le-forem",
          "name": "Le Forem",
          "agency_name": "Le Forem Walloon public employment and training service",
          "scope": {
            "name": "BE",
            "grain": "national",
            "entity_id": null,
            "country_code": "BE",
            "official_key": null,
            "relation_method": "national_scope"
          },
          "service_types": [
            "job_search",
            "registration"
          ],
          "eligible_statuses": [],
          "registration_requirements": null,
          "languages_available": [],
          "information_url": "https://www.leforem.be/",
          "registration_url": "https://www.leforem.be/citoyens/inscription-accompagnement-chercheur-emploi.html",
          "job_search_url": "https://www.leforem.be/citoyens.html",
          "source": {
            "source_id": "source-bf21bd63d20e",
            "title": "Le Forem",
            "publisher": "Le Forem Walloon public employment and training service",
            "source_url": "https://www.leforem.be/",
            "source_quality": "verified",
            "last_checked": "2026-08-10"
          }
        },
        {
          "service_id": "employment:be:service:vdab",
          "name": "VDAB",
          "agency_name": "Vlaamse Dienst voor Arbeidsbemiddeling en Beroepsopleiding",
          "scope": {
            "name": "BE",
            "grain": "national",
            "entity_id": null,
            "country_code": "BE",
            "official_key": null,
            "relation_method": "national_scope"
          },
          "service_types": [
            "job_search",
            "registration",
            "training"
          ],
          "eligible_statuses": [],
          "registration_requirements": null,
          "languages_available": [],
          "information_url": "https://www.vdab.be/",
          "registration_url": "https://www.vdab.be/registratie/?registratieType=ACCOUNT",
          "job_search_url": "https://www.vdab.be/vindeenjob",
          "source": {
            "source_id": "source-1354f995e2a4",
            "title": "VDAB",
            "publisher": "Vlaamse Dienst voor Arbeidsbemiddeling en Beroepsopleiding",
            "source_url": "https://www.vdab.be/",
            "source_quality": "verified",
            "last_checked": "2026-08-10"
          }
        }
      ]
    },
    "healthcare_access": {
      "scope": "country_rule_with_city_capacity_when_available",
      "facts": [
        {
          "reader_label": "Public healthcare access for foreign residents",
          "label_owner_metric_id": null,
          "reader_label_role": "metric",
          "metric_id": "public_health_expat_coverage",
          "value": "conditional",
          "unit": "eligibility_status",
          "geographic_scope": "country",
          "observed_at": "2026-08-03",
          "verified_at": "2026-08-03",
          "comparison_eligible": false,
          "comparison_basis": {
            "geographic_scope": "country",
            "unit": "unit-not-stated",
            "observed_at": "2026-08-03",
            "data_level": null
          },
          "source_id": "source-65f3d894629d",
          "source_url": "https://www.belgium.be/en/health/healthcare_costs",
          "source_title": "Belgium.be, Government of Belgium",
          "source_authority": "Belgium.be, Government of Belgium",
          "source_quality": "verified"
        }
      ]
    },
    "city_intent": {
      "relationship_to_hub": {
        "relationship_id": "source-8922887c9d96",
        "relation_type": "nearby_independent_place",
        "distance_km": 48.106,
        "independent_administrative_status": "not_established_as_separate_lau",
        "subject": {
          "entity_id": "city:be:geonames:2784980",
          "name": "Veerle",
          "canonical_path": "/cities/be/veerle/"
        },
        "anchor": {
          "entity_id": "city:be:nis5:21004",
          "name": "Brussels",
          "canonical_path": "/cities/be/brussels-city/"
        },
        "sources": [
          {
            "title": "gisco-services.ec.europa.eu place coordinates",
            "status": "active",
            "official": true,
            "publisher": "gisco-services.ec.europa.eu",
            "source_id": "source-c2b4a0bb7b2b",
            "source_url": "https://gisco-services.ec.europa.eu/distribution/v2/lau/geojson/LAU_RG_01M_2024_4326.geojson",
            "source_type": "dataset",
            "jurisdiction": null,
            "last_checked": "2026-08-28",
            "source_quality": "verified",
            "last_checked_period": "2026-08-28",
            "last_checked_precision": "day"
          },
          {
            "title": "download.geonames.org recorded crime data",
            "status": "active",
            "official": true,
            "publisher": "download.geonames.org",
            "source_id": "source-131160932652",
            "source_url": "https://download.geonames.org/export/dump/cities5000.zip",
            "source_type": "dataset",
            "jurisdiction": null,
            "last_checked": "2026-08-28",
            "source_quality": "verified",
            "last_checked_period": "2026-08-28",
            "last_checked_precision": "day"
          }
        ]
      },
      "nearby_places": [],
      "international_community": [],
      "homebuyer": null,
      "recorded_safety": null,
      "questions": [
        {
          "question": "Is Veerle part of Brussels?",
          "answer": "Veerle is near Brussels, but the collected evidence does not establish that it is administratively part of the hub or an official satellite. It is about 48.1 km away by straight-line distance."
        }
      ]
    },
    "country_rules_url": "/countries/belgium/",
    "answers": [
      {
        "answer_id": "answer:city:be:veerle:population-current",
        "slot_id": "city.population.current",
        "answer_type": "direct_metric",
        "status": "supported",
        "question": "How many people live in Veerle?",
        "direct_answer": "The published population was 6,013 people in January 2025.",
        "qualifier": "City-scope resident count. Density, foreign-resident counts and the country-wide figure are separate rows in the table below.",
        "temporal": {
          "mode": "historical_observation",
          "source_period": "January 2025",
          "captured_at": "2026-09-24"
        },
        "value": {
          "raw_value": 6013,
          "normalized_value": 6013,
          "machine_value": 6013,
          "display_value": "6,013",
          "unit": "people",
          "format_profile_id": "people.count.answer.whole.v1",
          "approximation_label": null
        },
        "format_profile_id": "people.count.answer.whole.v1",
        "evidence": [
          {
            "claim_id": "claim-aa646c53d89b",
            "role": "primary",
            "metric_id": "population_total"
          }
        ],
        "alternatives": [],
        "dependency_hash": "5d8a470cc4b3241ed82436a461b0331cb12717bead0b3431ff217a0f91658f28"
      },
      {
        "answer_id": "answer:city:be:veerle:air_quality-pm25_annual",
        "slot_id": "city.air_quality.pm25_annual",
        "answer_type": "direct_metric",
        "status": "supported",
        "question": "Is the air quality good in Veerle?",
        "direct_answer": "The annual PM2.5 mean is 8 µg/m³ (2024) — above the WHO 2021 guideline of 5 µg/m³ but within the EU limit of 25 µg/m³.",
        "qualifier": "Annual mean at the measuring site(s) serving the city; current-day readings differ.",
        "temporal": {
          "mode": "historical_observation",
          "source_period": "2024",
          "captured_at": "2026-08-06"
        },
        "value": {
          "raw_value": 8,
          "normalized_value": 8,
          "machine_value": 8,
          "display_value": "8",
          "unit": "µg/m³",
          "format_profile_id": "concentration.ugm3.annual.1dp.v1",
          "approximation_label": null
        },
        "format_profile_id": "concentration.ugm3.annual.1dp.v1",
        "evidence": [
          {
            "claim_id": "claim-e01b43769223",
            "role": "primary",
            "metric_id": "air_quality_pm25_annual_ug_m3"
          }
        ],
        "alternatives": [],
        "dependency_hash": "71348a626e1ad3a98b73efcd19c4c2e3d96f1e6e9408558745fdd1fc95c98e90"
      },
      {
        "answer_id": "answer:city:be:veerle:safety-crime",
        "slot_id": "city.safety.crime",
        "answer_type": "direct_metric",
        "status": "supported",
        "question": "How safe is Veerle?",
        "direct_answer": "Police recorded about 3,655 incidents per 100,000 (2025). This counts all offences, so it is not comparable with a violent-crime-only rate from another source.",
        "qualifier": null,
        "temporal": {
          "mode": "historical_observation",
          "source_period": "2025",
          "captured_at": "2026-10-07"
        },
        "value": {
          "raw_value": 3655.152052,
          "normalized_value": 3655.15,
          "machine_value": 3655.15,
          "display_value": "3,655",
          "unit": "incidents per 100,000",
          "format_profile_id": "count.per_100k.answer.whole.v1",
          "approximation_label": "about"
        },
        "format_profile_id": "count.per_100k.answer.whole.v1",
        "evidence": [
          {
            "claim_id": "claim-172cca5673fb",
            "role": "primary",
            "metric_id": "crime_incidents_per_100k"
          }
        ],
        "alternatives": [],
        "dependency_hash": "1137a080095164c98ef601b59528dcba1133cfdcf169539f39dc5cf75703af2f"
      },
      {
        "answer_id": "answer:city:be:veerle:unemployment-current",
        "slot_id": "city.unemployment.current",
        "answer_type": "direct_metric",
        "status": "supported",
        "question": "What is the unemployment rate in Veerle?",
        "direct_answer": "The unemployment rate is about 4.6 % (January 2011).",
        "qualifier": null,
        "temporal": {
          "mode": "historical_observation",
          "source_period": "January 2011",
          "captured_at": "2026-08-06"
        },
        "value": {
          "raw_value": 4.56,
          "normalized_value": 4.56,
          "machine_value": 4.56,
          "display_value": "4.6",
          "unit": "%",
          "format_profile_id": "percent.1dp.answer.v1",
          "approximation_label": "about"
        },
        "format_profile_id": "percent.1dp.answer.v1",
        "evidence": [
          {
            "claim_id": "claim-ebe565550b95",
            "role": "primary",
            "metric_id": "unemployment_total_percent"
          }
        ],
        "alternatives": [],
        "dependency_hash": "78fa4f583908f0801223f6bfa5b121db6230420a3781a6fa8585c0e77409e5d5"
      }
    ]
  }
}
