{
  "snapshot_id": "approved-static-48d32b636f07abc8",
  "page_version": "361c4ec37c202b6715106d448e95dc9e",
  "content_date": "2026-10-16",
  "schema_version": "immigrationdb-city-resource-v2",
  "generated_at": "2026-10-25",
  "citation": {
    "@type": "CreativeWork",
    "@id": "https://immigrationdb.com/cities/pt/lourosa/#citation",
    "schema_version": "immigrationdb-citation-v1",
    "citation_type": "ImmigrationDB compilation",
    "canonical_url": "https://immigrationdb.com/cities/pt/lourosa/",
    "title": "Lourosa, Portugal: 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": "361c4ec37c202b6715106d448e95dc9e",
    "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). Lourosa, Portugal: population, rent, salary, cost of living [ImmigrationDB compilation; version 361c4ec37c202b6715106d448e95dc9e]. ImmigrationDB. https://immigrationdb.com/cities/pt/lourosa/ Retrieved 2026-10-16. Compilation license: CC BY 4.0, https://creativecommons.org/licenses/by/4.0/",
      "bibtex": "@misc{immigrationdb_immigrationdb_lourosa-portugal-population-rent-salary-cost-of-living_37f7a1b1693d,\n  author = {ImmigrationDB},\n  title = {Lourosa, Portugal: population, rent, salary, cost of living},\n  publisher = {ImmigrationDB},\n  year = {2026},\n  date = {2026-10-16},\n  version = {361c4ec37c202b6715106d448e95dc9e},\n  url = {https://immigrationdb.com/cities/pt/lourosa/},\n  note = {Retrieved 2026-10-16. ImmigrationDB compilation. Compilation license: CC BY 4.0, https://creativecommons.org/licenses/by/4.0/},\n}",
      "markdown": "[Lourosa, Portugal: population, rent, salary, cost of living](https://immigrationdb.com/cities/pt/lourosa/) — ImmigrationDB; ImmigrationDB; version 361c4ec37c202b6715106d448e95dc9e; 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": "In Lourosa, rents in new contracts average €6.58 per m² a month (2026). Lourosa is a city in Portugal, and the figures below are its published values.",
  "generated_overview_claim_ids": [
    "source-8c637482f838"
  ],
  "underlying_source_references": [
    {
      "source_id": "source-cf47135f18a1",
      "source_url": "https://mapas.ine.pt/download/filesGPG/2021localitiesFregs/C21_LUGF_PT.zip",
      "source_title": "Censos 2021 — Lugares por Freguesia (C21_LUGF_PT)",
      "publisher": "Censos 2021",
      "source_quality": "verified",
      "last_checked": "2026-10-07"
    },
    {
      "source_id": "source-8509c180bd4b",
      "source_url": "https://www.ine.pt/ine/json_indicador/pindica.jsp?op=2&varcd=0014771&lang=EN",
      "source_title": "www.ine.pt",
      "publisher": "www.ine.pt",
      "source_quality": "verified",
      "last_checked": "2026-08-26"
    },
    {
      "source_id": "source-888b447b9955",
      "source_url": "http://www.ine.pt/ine/json_indicador/pindica.jsp?op=2&varcd=0012649&lang=EN",
      "source_title": "INE — Ganho médio mensal (€), indicator 0012649 (Quadros de Pessoal)",
      "publisher": "INE",
      "source_quality": "verified",
      "last_checked": "2026-09-23"
    },
    {
      "source_id": "source-8364bbb361ae",
      "source_url": "https://www.iefp.pt/documents/10181/13482465/SIE+-+Desemprego+registado+por+concelhos+junho+2026.pdf/4a9e69b3-be22-40c3-99d4-b66227002e12",
      "source_title": "IEFP — registered unemployment by municipality, June 2026",
      "publisher": "IEFP",
      "source_quality": "verified",
      "last_checked": "2026-07-26"
    },
    {
      "source_id": "source-719f5a73173c",
      "source_url": "https://www.meo.pt/servicos/casa/internet",
      "source_title": "MEO fixed fibre",
      "publisher": "MEO fixed fibre",
      "source_quality": "verified",
      "last_checked": "2026-09-15"
    },
    {
      "source_id": "source-375b8f364871",
      "source_url": "https://www.vodafone.pt/telemoveis/planos-pos-pagos.html",
      "source_title": "Vodafone Portugal mobile plan",
      "publisher": "Vodafone Portugal mobile plan",
      "source_quality": "verified",
      "last_checked": "2026-09-15"
    },
    {
      "source_id": "source-ec18315c33d5",
      "source_url": "https://www.ine.pt/ine/json_indicador/pindica.jsp?op=2&varcd=0012260&lang=PT",
      "source_title": "Taxa de criminalidade (‰) por Localização geográfica (NUTS - 2024) e Categoria de crime; Anual - Direcção-Geral da Política de Justiça",
      "publisher": "Taxa de criminalidade (‰) por Localização geográfica (NUTS - 2024) e Categoria de crime; Anual - Direcção-Geral da Política de Justiça",
      "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-b525a1de8f2f",
      "source_url": "https://gisco-services.ec.europa.eu/distribution/v2/urau/geojson/URAU_RG_100K_2021_4326_FUA.geojson",
      "source_title": "GISCO Urban Audit 2021 — Functional Urban Areas (URAU_RG_100K_2021_4326_FUA)",
      "publisher": "GISCO Urban Audit 2021",
      "source_quality": "verified",
      "last_checked": "2026-09-19"
    },
    {
      "source_id": "source-2e2e45487577",
      "source_url": "https://aima.gov.pt/pt/a-aima/perguntas-frequentes-faqs/aprendizagem-de-portugues-como-lingua-nao-materna",
      "source_title": "HTML#Onde-posso-encontrar-os-cursos-PLA; Portal da Oferta Formativa and AIMA referral route",
      "publisher": "aima.gov.pt",
      "source_quality": "verified",
      "last_checked": "2026-08-10"
    },
    {
      "source_id": "source-04795f1914d6",
      "source_url": "https://aima.gov.pt/pt/lingua-portuguesa/cursos-de-portugues-lingua-de-acolhimento-pla",
      "source_title": "HTML#Cursos-de-Portugues-Lingua-de-Acolhimento; eligibility, CEFR levels and public promoter networks",
      "publisher": "aima.gov.pt",
      "source_quality": "verified",
      "last_checked": "2026-08-10"
    },
    {
      "source_id": "source-ce32a85e2257",
      "source_url": "https://www.iefp.pt/inscricao-para-emprego?tab=procura-ativa-de-emprego",
      "source_title": "Instituto do Emprego e Formação Profissional",
      "publisher": "Instituto do Emprego e Formação Profissional (IEFP)",
      "source_quality": "verified",
      "last_checked": "2026-08-10"
    },
    {
      "source_id": "source-2507cce89f44",
      "source_url": "https://www.sns.gov.pt/sns/servico-nacional-de-saude/",
      "source_title": "Serviço Nacional de Saúde (SNS, Portugal) — Ministry of Health",
      "publisher": "Serviço Nacional de Saúde (SNS, Portugal)",
      "source_quality": "verified",
      "last_checked": "2026-08-03"
    }
  ],
  "canonical_path": "/cities/pt/lourosa/",
  "rankings": [],
  "mcp_uri": "immigrationdb://city/pt/lourosa",
  "editorial_copy": {
    "status": "reviewed",
    "reviewed_at": "2026-08-08",
    "copy_depth": "city_standard",
    "blocks": {
      "intro": "Lourosa is a city in Portugal, and the figures below are its published values.",
      "mobility_lead": "Lourosa's nearest airport was OPO, 31 km away and offered 61 direct destinations."
    },
    "used_claim_count": 3,
    "uses_supplemental_cd": false
  },
  "city": {
    "entity_id": "city:pt:geonames:2738159",
    "name": "Lourosa",
    "name_en": "Lourosa",
    "country_code": "PT",
    "public_slug": "lourosa",
    "canonical_path": "/cities/pt/lourosa/",
    "mcp_uri": "immigrationdb://city/pt/lourosa",
    "page_state": "published",
    "usefulness": {
      "policy": "city_usefulness_v1",
      "has_reviewed_copy": true,
      "valid_slug": true,
      "counts": {
        "ab_facts": 10,
        "metrics": 10,
        "source_blocks": 6,
        "decision_domains": 4,
        "answer_intents": 4,
        "fresh_facts": 10
      },
      "answer_intents": [
        "income",
        "rent",
        "safety",
        "work"
      ],
      "decision_domains": [
        "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": [
      "mobility_admin",
      "work_income",
      "cost_living",
      "safety",
      "housing"
    ],
    "useful_fact_count": 10,
    "city_tags": [],
    "profile_scores": {
      "remote": {
        "point": 55,
        "low": 43,
        "high": 67,
        "factors": {
          "cost_pressure": 54,
          "employment_service": 82,
          "housing": 54,
          "language_integration": 68,
          "legal_path": 88
        },
        "housing_budget": {
          "status": "fits",
          "currency": "EUR",
          "fx_date": null,
          "normalized_monthly_eur": 296,
          "source_id": "source-8509c180bd4b",
          "basis": "per_m2_x_45m2_reference"
        },
        "coverage": 0.3846,
        "confidence": 0.9,
        "coverage_status": "capped",
        "missing_factors": [
          "air",
          "healthcare_capacity",
          "healthcare_migrant_access",
          "safety",
          "tax_retention",
          "work"
        ],
        "country_context": {
          "employment_service": {
            "score": 82,
            "weight": 0.75,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "language_integration": {
            "score": 68,
            "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": 60,
        "low": 48,
        "high": 72,
        "factors": {
          "cost_pressure": 54,
          "employment_service": 82,
          "housing": 54,
          "language_integration": 68,
          "legal_path": 88,
          "tax_retention": 75
        },
        "housing_budget": {
          "status": "fits",
          "currency": "EUR",
          "fx_date": null,
          "normalized_monthly_eur": 296,
          "source_id": "source-8509c180bd4b",
          "basis": "per_m2_x_45m2_reference"
        },
        "coverage": 0.4444,
        "confidence": 0.8,
        "coverage_status": "usable",
        "missing_factors": [
          "education",
          "healthcare_capacity",
          "healthcare_migrant_access",
          "safety",
          "work"
        ],
        "country_context": {
          "employment_service": {
            "score": 82,
            "weight": 1,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "language_integration": {
            "score": 68,
            "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": 75,
            "weight": 2,
            "confidence": 0.5,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          }
        }
      },
      "family": {
        "point": 53,
        "low": 40,
        "high": 66,
        "factors": {
          "cost_pressure": 54,
          "employment_service": 82,
          "housing": 54,
          "language_integration": 68,
          "legal_path": 54
        },
        "housing_budget": {
          "status": "fits",
          "currency": "EUR",
          "fx_date": null,
          "normalized_monthly_eur": 296,
          "source_id": "source-8509c180bd4b",
          "basis": "per_m2_x_45m2_reference"
        },
        "coverage": 0.3143,
        "confidence": 0.9,
        "coverage_status": "capped",
        "missing_factors": [
          "education",
          "family",
          "healthcare_capacity",
          "healthcare_migrant_access",
          "safety"
        ],
        "country_context": {
          "employment_service": {
            "score": 82,
            "weight": 0.5,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "language_integration": {
            "score": 68,
            "weight": 1,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "legal_path": {
            "score": 54,
            "weight": 1,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          }
        }
      },
      "student": {
        "point": 57,
        "low": 46,
        "high": 68,
        "factors": {
          "cost_pressure": 54,
          "employment_service": 82,
          "housing": 54,
          "language_integration": 68,
          "legal_path": 88
        },
        "housing_budget": {
          "status": "fits",
          "currency": "EUR",
          "fx_date": null,
          "normalized_monthly_eur": 296,
          "source_id": "source-8509c180bd4b",
          "basis": "per_m2_x_45m2_reference"
        },
        "coverage": 0.4706,
        "confidence": 0.9,
        "coverage_status": "usable",
        "missing_factors": [
          "education",
          "healthcare_capacity",
          "healthcare_migrant_access",
          "safety",
          "work"
        ],
        "country_context": {
          "employment_service": {
            "score": 82,
            "weight": 0,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "language_integration": {
            "score": 68,
            "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": 42,
        "high": 68,
        "factors": {
          "cost_pressure": 54,
          "employment_service": 82,
          "housing": 54,
          "language_integration": 68,
          "legal_path": 88
        },
        "housing_budget": {
          "status": "fits",
          "currency": "EUR",
          "fx_date": null,
          "normalized_monthly_eur": 296,
          "source_id": "source-8509c180bd4b",
          "basis": "per_m2_x_45m2_reference"
        },
        "coverage": 0.325,
        "confidence": 0.9,
        "coverage_status": "capped",
        "missing_factors": [
          "air",
          "bureaucracy",
          "healthcare_capacity",
          "healthcare_migrant_access",
          "safety",
          "tax_retention"
        ],
        "country_context": {
          "employment_service": {
            "score": 82,
            "weight": 0,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "language_integration": {
            "score": 68,
            "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": 8003,
          "unit": "people",
          "geographic_scope": "city",
          "observed_at": "2021-04-19",
          "verified_at": "2026-10-07",
          "comparison_eligible": true,
          "comparison_basis": {
            "geographic_scope": "city",
            "unit": "people",
            "observed_at": "2021-04-19",
            "data_level": null
          },
          "source_id": "source-cf47135f18a1",
          "source_url": "https://mapas.ine.pt/download/filesGPG/2021localitiesFregs/C21_LUGF_PT.zip",
          "source_title": "Censos 2021 — Lugares por Freguesia (C21_LUGF_PT)",
          "source_authority": "Statistics Portugal (Instituto Nacional de Estatística, INE)",
          "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": 29.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-719f5a73173c",
          "source_url": "https://www.meo.pt/servicos/casa/internet",
          "source_title": "MEO fixed fibre",
          "source_authority": "MEO",
          "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": 15,
          "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-375b8f364871",
          "source_url": "https://www.vodafone.pt/telemoveis/planos-pos-pagos.html",
          "source_title": "Vodafone Portugal mobile plan",
          "source_authority": "Vodafone Portugal",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "reader_label": "Average net rent (nettokalt)",
          "label_owner_metric_id": null,
          "reader_label_role": "metric",
          "metric_id": "rent_avg_nettokalt_eur_per_m2_month",
          "block_id": "housing",
          "value": 6.58,
          "unit": "EUR/m2/month",
          "geographic_scope": "city",
          "observed_at": "2026-08-26",
          "verified_at": "2026-08-26",
          "comparison_eligible": true,
          "comparison_basis": {
            "geographic_scope": "city",
            "unit": "eur/m²/month",
            "observed_at": "2026-08-26",
            "data_level": null
          },
          "source_id": "source-8509c180bd4b",
          "source_url": "https://www.ine.pt/ine/json_indicador/pindica.jsp?op=2&varcd=0014771&lang=EN",
          "source_title": "www.ine.pt",
          "source_authority": "www.ine.pt",
          "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": 1407.54,
          "unit": "EUR/month",
          "geographic_scope": "parent_municipality",
          "observed_at": "2024-12-31",
          "verified_at": "2026-09-24",
          "comparison_eligible": true,
          "comparison_basis": {
            "geographic_scope": "parent_municipality",
            "unit": "eur/month",
            "observed_at": "2024-12-31",
            "data_level": null
          },
          "source_id": "source-888b447b9955",
          "source_url": "http://www.ine.pt/ine/json_indicador/pindica.jsp?op=2&varcd=0012649&lang=EN",
          "source_title": "INE — Ganho médio mensal (€), indicator 0012649 (Quadros de Pessoal)",
          "source_authority": "Statistics Portugal (INE); source: MTSSS/GEP, Quadros de Pessoal",
          "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": 2.59,
          "unit": "percent",
          "geographic_scope": "parent_municipality",
          "observed_at": "2026-06-30",
          "verified_at": "2026-08-06",
          "comparison_eligible": true,
          "comparison_basis": {
            "geographic_scope": "parent_municipality",
            "unit": "%",
            "observed_at": "2026-06-30",
            "data_level": null
          },
          "source_id": "source-8364bbb361ae",
          "source_url": "https://www.iefp.pt/documents/10181/13482465/SIE+-+Desemprego+registado+por+concelhos+junho+2026.pdf/4a9e69b3-be22-40c3-99d4-b66227002e12",
          "source_title": "IEFP — registered unemployment by municipality, June 2026",
          "source_authority": "Instituto do Emprego e Formação Profissional (IEFP), Portugal",
          "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": 2200,
          "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-ec18315c33d5",
          "source_url": "https://www.ine.pt/ine/json_indicador/pindica.jsp?op=2&varcd=0012260&lang=PT",
          "source_title": "Taxa de criminalidade (‰) por Localização geográfica (NUTS - 2024) e Categoria de crime; Anual - Direcção-Geral da Política de Justiça",
          "source_authority": "Statistics Portugal (INE); underlying data supplied by the Directorate-General for Justice Policy (DGPJ)",
          "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": 61,
          "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": 31,
          "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": "OPO",
          "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": {
      "mode": "national",
      "local_locations": [],
      "supplemental_locations": [],
      "programmes": [
        {
          "program_id": "li:pt:program:pla-offer-formative-route",
          "name": "PLA search route through Portal da Oferta Formativa",
          "type": "state_language_course",
          "responsible_body": "AIMA / Portal da Oferta Formativa",
          "scope": {
            "name": "Portugal",
            "grain": "national",
            "country_code": "PT",
            "relation_method": "national_scope"
          },
          "target_groups": [
            "migrants seeking Portuguese as a non-native language"
          ],
          "languages_taught": [
            "Portuguese"
          ],
          "cefr_start": null,
          "cefr_end": null,
          "eligibility_summary": null,
          "cost_model": "varies",
          "modality": [],
          "official_url": "https://aima.gov.pt/pt/a-aima/perguntas-frequentes-faqs/aprendizagem-de-portugues-como-lingua-nao-materna",
          "source": {
            "source_id": "source-2e2e45487577",
            "title": "HTML#Onde-posso-encontrar-os-cursos-PLA; Portal da Oferta Formativa and AIMA referral route",
            "publisher": "aima.gov.pt",
            "url": "https://aima.gov.pt/pt/a-aima/perguntas-frequentes-faqs/aprendizagem-de-portugues-como-lingua-nao-materna",
            "source_url": "https://aima.gov.pt/pt/a-aima/perguntas-frequentes-faqs/aprendizagem-de-portugues-como-lingua-nao-materna",
            "source_quality": "verified",
            "last_checked": "2026-08-10"
          }
        },
        {
          "program_id": "li:pt:program:pla",
          "name": "Português Língua de Acolhimento (PLA)",
          "type": "state_language_course",
          "responsible_body": "AIMA / DGEstE public-school network / IEFP / Centros Qualifica",
          "scope": {
            "name": "Portugal",
            "grain": "national",
            "country_code": "PT",
            "relation_method": "national_scope"
          },
          "target_groups": [
            "migrants aged 16 or older whose mother tongue is not Portuguese",
            "residence-permit holders",
            "people with pending residence/protection/NISS evidence"
          ],
          "languages_taught": [
            "Portuguese"
          ],
          "cefr_start": "A1",
          "cefr_end": "B2",
          "eligibility_summary": null,
          "cost_model": "varies",
          "modality": [],
          "official_url": "https://aima.gov.pt/pt/lingua-portuguesa/cursos-de-portugues-lingua-de-acolhimento-pla",
          "source": {
            "source_id": "source-04795f1914d6",
            "title": "HTML#Cursos-de-Portugues-Lingua-de-Acolhimento; eligibility, CEFR levels and public promoter networks",
            "publisher": "aima.gov.pt",
            "url": "https://aima.gov.pt/pt/lingua-portuguesa/cursos-de-portugues-lingua-de-acolhimento-pla",
            "source_url": "https://aima.gov.pt/pt/lingua-portuguesa/cursos-de-portugues-lingua-de-acolhimento-pla",
            "source_quality": "verified",
            "last_checked": "2026-08-10"
          }
        }
      ],
      "supplemental_programmes": []
    },
    "public_employment_service": {
      "mode": "national",
      "local_locations": [],
      "services": [
        {
          "service_id": "employment:pt:service:iefp",
          "name": "Instituto do Emprego e Formação Profissional",
          "agency_name": "Instituto do Emprego e Formação Profissional (IEFP)",
          "scope": {
            "name": "PT",
            "grain": "national",
            "entity_id": null,
            "country_code": "PT",
            "official_key": null,
            "relation_method": "national_scope"
          },
          "service_types": [
            "job_search",
            "registration",
            "training"
          ],
          "eligible_statuses": [],
          "registration_requirements": null,
          "languages_available": [],
          "information_url": "https://www.iefp.pt/inscricao-para-emprego?tab=procura-ativa-de-emprego",
          "registration_url": "https://www.iefp.pt/inscricao-para-emprego?tab=procura-ativa-de-emprego",
          "job_search_url": "https://iefponline.iefp.pt/",
          "source": {
            "source_id": "source-ce32a85e2257",
            "title": "Instituto do Emprego e Formação Profissional",
            "publisher": "Instituto do Emprego e Formação Profissional (IEFP)",
            "source_url": "https://www.iefp.pt/inscricao-para-emprego?tab=procura-ativa-de-emprego",
            "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-2507cce89f44",
          "source_url": "https://www.sns.gov.pt/sns/servico-nacional-de-saude/",
          "source_title": "Serviço Nacional de Saúde (SNS, Portugal) — Ministry of Health",
          "source_authority": "Serviço Nacional de Saúde (SNS, Portugal) — Ministry of Health",
          "source_quality": "verified"
        }
      ]
    },
    "city_intent": {
      "relationship_to_hub": {
        "relationship_id": "source-baa50b52f2c1",
        "relation_type": "commuting_zone_of",
        "distance_km": null,
        "independent_administrative_status": null,
        "subject": {
          "entity_id": "city:pt:geonames:2738159",
          "name": "Lourosa",
          "canonical_path": "/cities/pt/lourosa/"
        },
        "anchor": {
          "entity_id": "city:pt:slug:porto",
          "name": "Porto",
          "canonical_path": "/cities/pt/porto/"
        },
        "sources": [
          {
            "title": "GISCO Urban Audit 2021 — Functional Urban Areas (URAU_RG_100K_2021_4326_FUA)",
            "status": "retained",
            "official": true,
            "publisher": "European Commission GISCO",
            "source_id": "source-b525a1de8f2f",
            "source_url": "https://gisco-services.ec.europa.eu/distribution/v2/urau/geojson/URAU_RG_100K_2021_4326_FUA.geojson",
            "source_type": "official_statistics",
            "jurisdiction": null,
            "last_checked": "2026-09-19",
            "source_quality": "verified",
            "last_checked_period": "2026-09-19",
            "last_checked_precision": "day"
          }
        ]
      },
      "nearby_places": [],
      "international_community": [],
      "homebuyer": null,
      "recorded_safety": null,
      "questions": [
        {
          "question": "Is Lourosa part of Porto?",
          "answer": "Lourosa is in the published commuting zone of Porto; this does not mean it is administratively part of the hub."
        }
      ]
    },
    "country_rules_url": "/countries/portugal/",
    "answers": [
      {
        "answer_id": "answer:city:pt:lourosa:population-current",
        "slot_id": "city.population.current",
        "answer_type": "direct_metric",
        "status": "supported",
        "question": "How many people live in Lourosa?",
        "direct_answer": "The published population was 8,003 people in April 2021.",
        "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": "April 2021",
          "captured_at": "2026-10-07"
        },
        "value": {
          "raw_value": 8003,
          "normalized_value": 8003,
          "machine_value": 8003,
          "display_value": "8,003",
          "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-027ebea37ce8",
            "role": "primary",
            "metric_id": "population_total"
          }
        ],
        "alternatives": [],
        "dependency_hash": "4dd8791197656b06ee6a8a6241c573dbd6ce2b48c390b6f1c2ea83d8480ffb8c"
      },
      {
        "answer_id": "answer:city:pt:lourosa:rent-current",
        "slot_id": "city.rent.current",
        "answer_type": "direct_metric",
        "status": "supported",
        "question": "How much does it cost to rent in Lourosa?",
        "direct_answer": "Average net cold rent is 6.58 EUR/m² per month (2026-Q1), excluding heating and operating charges.",
        "qualifier": "Published average over existing tenancies; a specific flat can sit either side of it. Asking-rent series, where present, are separate rows in the table.",
        "temporal": {
          "mode": "historical_observation",
          "source_period": "2026-Q1",
          "captured_at": "2026-08-26"
        },
        "value": {
          "raw_value": 6.58,
          "normalized_value": 6.58,
          "machine_value": 6.58,
          "display_value": "6.58",
          "unit": "EUR/m² per month",
          "format_profile_id": "currency.eur.per_m2.answer.2dp.v1",
          "approximation_label": null
        },
        "format_profile_id": "currency.eur.per_m2.answer.2dp.v1",
        "evidence": [
          {
            "claim_id": "claim-8c637482f838",
            "role": "primary",
            "metric_id": "rent_avg_nettokalt_eur_per_m2_month"
          }
        ],
        "alternatives": [],
        "dependency_hash": "bbae5eff751b26d9d84f865a36cd094817290d93323d4514af9c80db1b0ca44e"
      },
      {
        "answer_id": "answer:city:pt:lourosa:safety-crime",
        "slot_id": "city.safety.crime",
        "answer_type": "direct_metric",
        "status": "supported",
        "question": "How safe is Lourosa?",
        "direct_answer": "Police recorded 2,200 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": 2200,
          "normalized_value": 2200,
          "machine_value": 2200,
          "display_value": "2,200",
          "unit": "incidents per 100,000",
          "format_profile_id": "count.per_100k.answer.whole.v1",
          "approximation_label": null
        },
        "format_profile_id": "count.per_100k.answer.whole.v1",
        "evidence": [
          {
            "claim_id": "claim-833be74a14ba",
            "role": "primary",
            "metric_id": "crime_incidents_per_100k"
          }
        ],
        "alternatives": [],
        "dependency_hash": "c3c73a2aed4a69c86ad5b5d826270771ef1bb1041b2dede59d42ae5417e10f00"
      },
      {
        "answer_id": "answer:city:pt:lourosa:derived-rent_flat",
        "slot_id": "city.derived.rent_flat",
        "answer_type": "derived",
        "status": "supported",
        "question": "What does a 60 m² flat cost?",
        "direct_answer": "About 395 EUR a month in cold rent at the published average of 6.58 EUR/m² per month, before heating and operating charges.",
        "qualifier": "Heating, water and operating charges come on top, and a specific flat can sit either side of an average.",
        "temporal": {
          "mode": "historical_observation",
          "source_period": "2026-Q1",
          "captured_at": "2026-08-26"
        },
        "value": {
          "raw_value": 395,
          "normalized_value": 395,
          "machine_value": 395,
          "display_value": "395 EUR",
          "unit": "EUR/month",
          "format_profile_id": "currency.eur.monthly.answer.whole.v1",
          "approximation_label": "about"
        },
        "evidence": [
          {
            "claim_id": "claim-8c637482f838",
            "role": "primary",
            "metric_id": "rent_avg_nettokalt_eur_per_m2_month"
          }
        ],
        "alternatives": [],
        "dependency_hash": "94c011c4b48f0431cdddb3dfc476eaa0513e0905be01b20069a27be4eb2dae1a"
      },
      {
        "answer_id": "answer:city:pt:lourosa:unemployment-current",
        "slot_id": "city.unemployment.current",
        "answer_type": "direct_metric",
        "status": "supported",
        "question": "What is the unemployment rate in Lourosa?",
        "direct_answer": "The unemployment rate is about 2.6 % (June 2026).",
        "qualifier": null,
        "temporal": {
          "mode": "historical_observation",
          "source_period": "June 2026",
          "captured_at": "2026-08-06"
        },
        "value": {
          "raw_value": 2.59,
          "normalized_value": 2.59,
          "machine_value": 2.59,
          "display_value": "2.6",
          "unit": "%",
          "format_profile_id": "percent.1dp.answer.v1",
          "approximation_label": "about"
        },
        "format_profile_id": "percent.1dp.answer.v1",
        "evidence": [
          {
            "claim_id": "claim-2bf5b4b91ba0",
            "role": "primary",
            "metric_id": "unemployment_total_percent"
          }
        ],
        "alternatives": [],
        "dependency_hash": "32383d9958eb806e754dc055ae676932d6653165462d1efa86401971866c40e7"
      }
    ]
  }
}
