{
  "schema_version": "gig-migration-export-v2",
  "data_version": "2026-06-12",
  "generated_at": "2026-06-12",
  "html_url": "https://migrationfit.com/selections/portugal-nearest-airport/",
  "md_url": "https://migrationfit.com/selections/portugal-nearest-airport/index.md",
  "type": "CitySelection",
  "selection_id": "portugal-nearest-airport",
  "slug": "portugal-nearest-airport",
  "country": "portugal",
  "countryName": "Portugal",
  "group": "connectivity",
  "metric_id": "nearest_airport_km",
  "order": "asc",
  "available": true,
  "coverageCount": 270,
  "totalCities": 307,
  "minCoverage": 20,
  "min_population_total": null,
  "top_n": 25,
  "medianValue": 41.7,
  "methodology_url": null,
  "links": {
    "page": "/selections/portugal-nearest-airport/",
    "page_url": "https://migrationfit.com/selections/portugal-nearest-airport/",
    "md_url": "https://migrationfit.com/selections/portugal-nearest-airport/index.md",
    "data_url": "https://migrationfit.com/data/selections/portugal-nearest-airport.json"
  },
  "rows": [
    
    {
      "rank": 1,
      "totalRanked": 270,
      "city": {
        "slug": "porto-santo",
        "name": "Porto Santo",
        "page_url": "https://migrationfit.com/cities/pt/porto-santo/"
      },
      "metric": {
        "metric_id": "nearest_airport_km",
        "value": 1.4,
        "unit": "km",
        "date": "2026-06-13",
        "source_name": "OurAirports — airports.csv",
        "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
        "source_grade": "A",
        "confidence": "A",
        "fallback_level": "city",
        "data_level_label": "Great-circle distance; driving time not implied"
      }
    },
    
    {
      "rank": 2,
      "totalRanked": 270,
      "city": {
        "slug": "machico",
        "name": "Machico",
        "page_url": "https://migrationfit.com/cities/pt/machico/"
      },
      "metric": {
        "metric_id": "nearest_airport_km",
        "value": 2.2,
        "unit": "km",
        "date": "2026-06-13",
        "source_name": "OurAirports — airports.csv",
        "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
        "source_grade": "A",
        "confidence": "A",
        "fallback_level": "city",
        "data_level_label": "Great-circle distance; driving time not implied"
      }
    },
    
    {
      "rank": 3,
      "totalRanked": 270,
      "city": {
        "slug": "ponta-delgada",
        "name": "Ponta Delgada",
        "page_url": "https://migrationfit.com/cities/pt/ponta-delgada/"
      },
      "metric": {
        "metric_id": "nearest_airport_km",
        "value": 2.5,
        "unit": "km",
        "date": "2026-06-13",
        "source_name": "OurAirports — airports.csv",
        "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
        "source_grade": "A",
        "confidence": "A",
        "fallback_level": "city",
        "data_level_label": "Great-circle distance; driving time not implied"
      }
    },
    
    {
      "rank": 4,
      "totalRanked": 270,
      "city": {
        "slug": "faro",
        "name": "Faro",
        "page_url": "https://migrationfit.com/cities/pt/faro/"
      },
      "metric": {
        "metric_id": "nearest_airport_km",
        "value": 3.2,
        "unit": "km",
        "date": "2026-06-13",
        "source_name": "OurAirports — airports.csv",
        "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
        "source_grade": "A",
        "confidence": "A",
        "fallback_level": "city",
        "data_level_label": "Great-circle distance; driving time not implied"
      }
    },
    
    {
      "rank": 5,
      "totalRanked": 270,
      "city": {
        "slug": "vila-real-portugal",
        "name": "Vila Real",
        "page_url": "https://migrationfit.com/cities/pt/vila-real-portugal/"
      },
      "metric": {
        "metric_id": "nearest_airport_km",
        "value": 3.2,
        "unit": "km",
        "date": "2026-06-13",
        "source_name": "OurAirports — airports.csv",
        "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
        "source_grade": "A",
        "confidence": "A",
        "fallback_level": "city",
        "data_level_label": "Great-circle distance; driving time not implied"
      }
    },
    
    {
      "rank": 6,
      "totalRanked": 270,
      "city": {
        "slug": "velas",
        "name": "Velas",
        "page_url": "https://migrationfit.com/cities/pt/velas/"
      },
      "metric": {
        "metric_id": "nearest_airport_km",
        "value": 3.3,
        "unit": "km",
        "date": "2026-06-13",
        "source_name": "OurAirports — airports.csv",
        "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
        "source_grade": "A",
        "confidence": "A",
        "fallback_level": "city",
        "data_level_label": "Great-circle distance; driving time not implied"
      }
    },
    
    {
      "rank": 7,
      "totalRanked": 270,
      "city": {
        "slug": "vila-do-porto",
        "name": "Vila do Porto",
        "page_url": "https://migrationfit.com/cities/pt/vila-do-porto/"
      },
      "metric": {
        "metric_id": "nearest_airport_km",
        "value": 3.7,
        "unit": "km",
        "date": "2026-06-13",
        "source_name": "OurAirports — airports.csv",
        "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
        "source_grade": "A",
        "confidence": "A",
        "fallback_level": "city",
        "data_level_label": "Great-circle distance; driving time not implied"
      }
    },
    
    {
      "rank": 8,
      "totalRanked": 270,
      "city": {
        "slug": "praia-da-vitoria",
        "name": "Praia da Vitória",
        "page_url": "https://migrationfit.com/cities/pt/praia-da-vitoria/"
      },
      "metric": {
        "metric_id": "nearest_airport_km",
        "value": 3.8,
        "unit": "km",
        "date": "2026-06-13",
        "source_name": "OurAirports — airports.csv",
        "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
        "source_grade": "A",
        "confidence": "A",
        "fallback_level": "city",
        "data_level_label": "Great-circle distance; driving time not implied"
      }
    },
    
    {
      "rank": 9,
      "totalRanked": 270,
      "city": {
        "slug": "odivelas",
        "name": "Odivelas",
        "page_url": "https://migrationfit.com/cities/pt/odivelas/"
      },
      "metric": {
        "metric_id": "nearest_airport_km",
        "value": 4.6,
        "unit": "km",
        "date": "2026-06-13",
        "source_name": "OurAirports — airports.csv",
        "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
        "source_grade": "A",
        "confidence": "A",
        "fallback_level": "city",
        "data_level_label": "Great-circle distance; driving time not implied"
      }
    },
    
    {
      "rank": 10,
      "totalRanked": 270,
      "city": {
        "slug": "portimao",
        "name": "Portimão",
        "page_url": "https://migrationfit.com/cities/pt/portimao/"
      },
      "metric": {
        "metric_id": "nearest_airport_km",
        "value": 4.8,
        "unit": "km",
        "date": "2026-06-13",
        "source_name": "OurAirports — airports.csv",
        "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
        "source_grade": "A",
        "confidence": "A",
        "fallback_level": "city",
        "data_level_label": "Great-circle distance; driving time not implied"
      }
    },
    
    {
      "rank": 11,
      "totalRanked": 270,
      "city": {
        "slug": "oeiras",
        "name": "Oeiras",
        "page_url": "https://migrationfit.com/cities/pt/oeiras/"
      },
      "metric": {
        "metric_id": "nearest_airport_km",
        "value": 5.6,
        "unit": "km",
        "date": "2026-06-13",
        "source_name": "OurAirports — airports.csv",
        "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
        "source_grade": "A",
        "confidence": "A",
        "fallback_level": "city",
        "data_level_label": "Great-circle distance; driving time not implied"
      }
    },
    
    {
      "rank": 12,
      "totalRanked": 270,
      "city": {
        "slug": "maia",
        "name": "Maia",
        "page_url": "https://migrationfit.com/cities/pt/maia/"
      },
      "metric": {
        "metric_id": "nearest_airport_km",
        "value": 5.7,
        "unit": "km",
        "date": "2026-06-13",
        "source_name": "OurAirports — airports.csv",
        "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
        "source_grade": "A",
        "confidence": "A",
        "fallback_level": "city",
        "data_level_label": "Great-circle distance; driving time not implied"
      }
    },
    
    {
      "rank": 13,
      "totalRanked": 270,
      "city": {
        "slug": "santa-cruz",
        "name": "Santa Cruz",
        "page_url": "https://migrationfit.com/cities/pt/santa-cruz/"
      },
      "metric": {
        "metric_id": "nearest_airport_km",
        "value": 5.8,
        "unit": "km",
        "date": "2026-06-13",
        "source_name": "OurAirports — airports.csv",
        "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
        "source_grade": "A",
        "confidence": "A",
        "fallback_level": "city",
        "data_level_label": "Great-circle distance; driving time not implied"
      }
    },
    
    {
      "rank": 14,
      "totalRanked": 270,
      "city": {
        "slug": "loures",
        "name": "Loures",
        "page_url": "https://migrationfit.com/cities/pt/loures/"
      },
      "metric": {
        "metric_id": "nearest_airport_km",
        "value": 6.4,
        "unit": "km",
        "date": "2026-06-13",
        "source_name": "OurAirports — airports.csv",
        "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
        "source_grade": "A",
        "confidence": "A",
        "fallback_level": "city",
        "data_level_label": "Great-circle distance; driving time not implied"
      }
    },
    
    {
      "rank": 15,
      "totalRanked": 270,
      "city": {
        "slug": "cascais",
        "name": "Cascais",
        "page_url": "https://migrationfit.com/cities/pt/cascais/"
      },
      "metric": {
        "metric_id": "nearest_airport_km",
        "value": 6.5,
        "unit": "km",
        "date": "2026-06-13",
        "source_name": "OurAirports — airports.csv",
        "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
        "source_grade": "A",
        "confidence": "A",
        "fallback_level": "city",
        "data_level_label": "Great-circle distance; driving time not implied"
      }
    },
    
    {
      "rank": 16,
      "totalRanked": 270,
      "city": {
        "slug": "matosinhos",
        "name": "Matosinhos",
        "page_url": "https://migrationfit.com/cities/pt/matosinhos/"
      },
      "metric": {
        "metric_id": "nearest_airport_km",
        "value": 6.8,
        "unit": "km",
        "date": "2026-06-13",
        "source_name": "OurAirports — airports.csv",
        "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
        "source_grade": "A",
        "confidence": "A",
        "fallback_level": "city",
        "data_level_label": "Great-circle distance; driving time not implied"
      }
    },
    
    {
      "rank": 17,
      "totalRanked": 270,
      "city": {
        "slug": "lisbon",
        "name": "Lisbon",
        "page_url": "https://migrationfit.com/cities/pt/lisbon/"
      },
      "metric": {
        "metric_id": "nearest_airport_km",
        "value": 7.2,
        "unit": "km",
        "date": "2026-06-13",
        "source_name": "OurAirports — airports.csv",
        "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
        "source_grade": "A",
        "confidence": "A",
        "fallback_level": "city",
        "data_level_label": "Great-circle distance; driving time not implied"
      }
    },
    
    {
      "rank": 18,
      "totalRanked": 270,
      "city": {
        "slug": "braganca",
        "name": "Bragança",
        "page_url": "https://migrationfit.com/cities/pt/braganca/"
      },
      "metric": {
        "metric_id": "nearest_airport_km",
        "value": 7.3,
        "unit": "km",
        "date": "2026-06-13",
        "source_name": "OurAirports — airports.csv",
        "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
        "source_grade": "A",
        "confidence": "A",
        "fallback_level": "city",
        "data_level_label": "Great-circle distance; driving time not implied"
      }
    },
    
    {
      "rank": 19,
      "totalRanked": 270,
      "city": {
        "slug": "horta",
        "name": "Horta",
        "page_url": "https://migrationfit.com/cities/pt/horta/"
      },
      "metric": {
        "metric_id": "nearest_airport_km",
        "value": 7.3,
        "unit": "km",
        "date": "2026-06-13",
        "source_name": "OurAirports — airports.csv",
        "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
        "source_grade": "A",
        "confidence": "A",
        "fallback_level": "city",
        "data_level_label": "Great-circle distance; driving time not implied"
      }
    },
    
    {
      "rank": 20,
      "totalRanked": 270,
      "city": {
        "slug": "madalena",
        "name": "Madalena",
        "page_url": "https://migrationfit.com/cities/pt/madalena/"
      },
      "metric": {
        "metric_id": "nearest_airport_km",
        "value": 7.4,
        "unit": "km",
        "date": "2026-06-13",
        "source_name": "OurAirports — airports.csv",
        "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
        "source_grade": "A",
        "confidence": "A",
        "fallback_level": "city",
        "data_level_label": "Great-circle distance; driving time not implied"
      }
    },
    
    {
      "rank": 21,
      "totalRanked": 270,
      "city": {
        "slug": "viseu",
        "name": "Viseu",
        "page_url": "https://migrationfit.com/cities/pt/viseu/"
      },
      "metric": {
        "metric_id": "nearest_airport_km",
        "value": 7.8,
        "unit": "km",
        "date": "2026-06-13",
        "source_name": "OurAirports — airports.csv",
        "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
        "source_grade": "A",
        "confidence": "A",
        "fallback_level": "city",
        "data_level_label": "Great-circle distance; driving time not implied"
      }
    },
    
    {
      "rank": 22,
      "totalRanked": 270,
      "city": {
        "slug": "sintra",
        "name": "Sintra",
        "page_url": "https://migrationfit.com/cities/pt/sintra/"
      },
      "metric": {
        "metric_id": "nearest_airport_km",
        "value": 8.6,
        "unit": "km",
        "date": "2026-06-13",
        "source_name": "OurAirports — airports.csv",
        "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
        "source_grade": "A",
        "confidence": "A",
        "fallback_level": "city",
        "data_level_label": "Great-circle distance; driving time not implied"
      }
    },
    
    {
      "rank": 23,
      "totalRanked": 270,
      "city": {
        "slug": "amadora",
        "name": "Amadora",
        "page_url": "https://migrationfit.com/cities/pt/amadora/"
      },
      "metric": {
        "metric_id": "nearest_airport_km",
        "value": 9.1,
        "unit": "km",
        "date": "2026-06-13",
        "source_name": "OurAirports — airports.csv",
        "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
        "source_grade": "A",
        "confidence": "A",
        "fallback_level": "city",
        "data_level_label": "Great-circle distance; driving time not implied"
      }
    },
    
    {
      "rank": 24,
      "totalRanked": 270,
      "city": {
        "slug": "lagos",
        "name": "Lagos",
        "page_url": "https://migrationfit.com/cities/pt/lagos/"
      },
      "metric": {
        "metric_id": "nearest_airport_km",
        "value": 9.2,
        "unit": "km",
        "date": "2026-06-13",
        "source_name": "OurAirports — airports.csv",
        "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
        "source_grade": "A",
        "confidence": "A",
        "fallback_level": "city",
        "data_level_label": "Great-circle distance; driving time not implied"
      }
    },
    
    {
      "rank": 25,
      "totalRanked": 270,
      "city": {
        "slug": "santa-marta-de-penaguiao",
        "name": "Santa Marta de Penaguião",
        "page_url": "https://migrationfit.com/cities/pt/santa-marta-de-penaguiao/"
      },
      "metric": {
        "metric_id": "nearest_airport_km",
        "value": 9.8,
        "unit": "km",
        "date": "2026-06-13",
        "source_name": "OurAirports — airports.csv",
        "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
        "source_grade": "A",
        "confidence": "A",
        "fallback_level": "city",
        "data_level_label": "Great-circle distance; driving time not implied"
      }
    }
    
  ]
}
