{"meta":{"generatedAt":"2026-08-25T00:49:01+02:00","source":"Flights_all_select + iatavilles + destinations + destinationsvilles","sourceMaxCacheDate":"2026-06-04T05:17:17","rankingMethod":"observations, diversité compagnies, direct, priorités destination, récence relative et coordonnées","axisCount":2022,"topAxisCount":1000,"countryCount":97,"cityCount":257,"observedAirlineCount":129,"pricesIncluded":false,"destinationAxisCount":15,"returnedAxisCount":15},"destination":{"name":"Porto","frenchName":"Porto","nameLong":"Porto","slug":"porto","frenchSlug":"porto","country":"Portugal","countrySlug":"portugal","region":"","code":"PT","latitude":41.1579,"longitude":-8.6291,"topDeparture":1,"topArrival":1,"top":1,"grammaticalArticles":["le","au","du"],"arrivalAxisCount":15,"departureAxisCount":0,"iataCodesObserved":["OPO"],"canonicalUrl":"https://www.voldiscount.com/billet-avion-portugal/billet-avion-porto.php","countryCanonicalUrl":"https://www.voldiscount.com/billet-avion-portugal/billet-avion.php","dataUrl":"https://www.voldiscount.com/data/destinations/portugal/porto.json","originDataUrl":null},"country":{"name":"Portugal","nameLong":"Portugal","slug":"portugal","frenchName":"Portugal","frenchSlug":"portugal","capital":"Lisbonne","capitalSlug":"lisbonne","economicCapital":"Lisbonne","economicCapitalSlug":"lisbonne","iso2":"PT","continent":"europe","destinationType":"country","parentCountry":"","parentIso2":"","topDeparture":1,"topArrival":1,"top":1,"grammaticalArticles":["le","au","du"],"siteCityCount":3,"arrivalAxisCount":46,"departureAxisCount":0,"arrivalCityCount":3,"departureCityCount":0,"officialTravelAdviceUrl":"https://www.diplomatie.gouv.fr/fr/conseils-aux-voyageurs/conseils-par-pays-destination/","travelAdviceNotice":"Vérifier les formalités, la sécurité et la santé auprès des autorités compétentes avant le départ.","canonicalUrl":"https://www.voldiscount.com/billet-avion-portugal/billet-avion.php","dataUrl":"https://www.voldiscount.com/data/destinations/portugal.json"},"statistics":{"axisCount":15,"observationCount":96,"directAxisCount":15,"departureCityCount":15,"arrivalCityCount":1,"airlineCount":15,"observedMonths":[1,2,6,7,8,9,10,11,12],"departureIataCodes":["BCN","BES","BOD","BRU","BSL","BVA","CDG","CRL","GVA","LIL","LYS","MRS","NCE","NTE","ORY","SXB","TLS","ZRH"],"arrivalIataCodes":["OPO"],"distanceKm":{"minimum":771,"maximum":1528,"average":1193}},"axes":[{"id":"4dde63c8ef628d78","departure":{"city":"Nantes","citySlug":"nantes","country":"France","countrySlug":"france","iataCodes":["NTE"],"region":"Loire Atlantique","latitude":47.2181,"longitude":-1.5528},"arrival":{"city":"Porto","citySlug":"porto","country":"Portugal","countrySlug":"portugal","iataCodes":["OPO"],"region":"","latitude":41.1579,"longitude":-8.6291},"url":"/vol-france/nantes/vers/portugal/porto.php","score":90.497,"distanceKm":878,"observations":14,"airlineCount":8,"airlineCodes":["AF","EC","IB","KL","TO","U2","V7","VY"],"airlines":[{"iata":"AF","name":"Air France","slug":"air-france","lowCost":false,"website":"https://www.airfrance.com"},{"iata":"U2","name":"EasyJet","slug":"easyjet","lowCost":true,"website":"https://www.easyjet.com"},{"iata":"EC","name":"easyJet Europe","slug":"easyjet-europe","lowCost":true,"website":"https://www.easyjet.com"},{"iata":"IB","name":"Iberia","slug":"iberia","lowCost":false,"website":"https://www.iberia.com"},{"iata":"KL","name":"KLM","slug":"klm","lowCost":false,"website":"https://www.klm.com"},{"iata":"TO","name":"Transavia France","slug":"transavia-france","lowCost":true,"website":"https://www.transavia.com"},{"iata":"V7","name":"Volotea","slug":"volotea","lowCost":true,"website":"https://www.volotea.com"},{"iata":"VY","name":"Vueling","slug":"vueling","lowCost":true,"website":"https://www.vueling.com"}],"cabinClasses":["Economic"],"observedMonths":[1,2,6,8,9,10,11,12],"directObserved":true,"directObservationCount":7,"oneWayObservationCount":0,"minDurationMinutes":100,"avgDurationMinutes":540,"firstSeenAt":"2026-05-11T15:50:41","lastSeenAt":"2026-06-04T02:30:01","firstTravelDate":"2026-06-17","lastTravelDate":"2027-02-01","canonicalUrl":"https://www.voldiscount.com/vol-france/nantes/vers/portugal/porto/aller-retour.php","dataUrl":"https://www.voldiscount.com/data/axes/4dde63c8ef628d78.json","rank":90,"tier":"top100"},{"id":"fec0cfed4641effe","departure":{"city":"Nice","citySlug":"nice","country":"France","countrySlug":"france","iataCodes":["NCE"],"region":"Côte d'Azur","latitude":43.7034,"longitude":7.2663},"arrival":{"city":"Porto","citySlug":"porto","country":"Portugal","countrySlug":"portugal","iataCodes":["OPO"],"region":"","latitude":41.1579,"longitude":-8.6291},"url":"/vol-france/nice/vers/portugal/porto.php","score":89.669,"distanceKm":1333,"observations":13,"airlineCount":10,"airlineCodes":["AF","EC","IB","KL","LG","LX","SN","TP","U2","VY"],"airlines":[{"iata":"AF","name":"Air France","slug":"air-france","lowCost":false,"website":"https://www.airfrance.com"},{"iata":"SN","name":"Brussels Airlines","slug":"brussels-airlines","lowCost":false,"website":"https://www.brusselsairlines.com"},{"iata":"U2","name":"EasyJet","slug":"easyjet","lowCost":true,"website":"https://www.easyjet.com"},{"iata":"EC","name":"easyJet Europe","slug":"easyjet-europe","lowCost":true,"website":"https://www.easyjet.com"},{"iata":"IB","name":"Iberia","slug":"iberia","lowCost":false,"website":"https://www.iberia.com"},{"iata":"KL","name":"KLM","slug":"klm","lowCost":false,"website":"https://www.klm.com"},{"iata":"LG","name":"Luxair","slug":"luxair","lowCost":false,"website":"https://www.luxair.lu"},{"iata":"LX","name":"Swiss","slug":"swiss","lowCost":false,"website":"https://www.swiss.com"},{"iata":"TP","name":"TAP Portugal","slug":"tap-portugal","lowCost":false,"website":"https://www.flytap.com"},{"iata":"VY","name":"Vueling","slug":"vueling","lowCost":true,"website":"https://www.vueling.com"}],"cabinClasses":["Economic"],"observedMonths":[1,6,8,9,10,11,12],"directObserved":true,"directObservationCount":2,"oneWayObservationCount":0,"minDurationMinutes":145,"avgDurationMinutes":523,"firstSeenAt":"2026-05-12T07:26:52","lastSeenAt":"2026-06-04T02:11:46","firstTravelDate":"2026-06-24","lastTravelDate":"2027-01-29","canonicalUrl":"https://www.voldiscount.com/vol-france/nice/vers/portugal/porto/aller-retour.php","dataUrl":"https://www.voldiscount.com/data/axes/fec0cfed4641effe.json","rank":118,"tier":"top500"},{"id":"9a908f6a5051e39f","departure":{"city":"Lyon","citySlug":"lyon","country":"France","countrySlug":"france","iataCodes":["LYS"],"region":"Auvergne-Rhône-Alpes","latitude":45.757815,"longitude":4.832011},"arrival":{"city":"Porto","citySlug":"porto","country":"Portugal","countrySlug":"portugal","iataCodes":["OPO"],"region":"","latitude":41.1579,"longitude":-8.6291},"url":"/vol-france/lyon/vers/portugal/porto.php","score":87.819,"distanceKm":1199,"observations":11,"airlineCount":10,"airlineCodes":["AF","EC","IB","KL","LH","TO","TP","U2","V7","VY"],"airlines":[{"iata":"AF","name":"Air France","slug":"air-france","lowCost":false,"website":"https://www.airfrance.com"},{"iata":"U2","name":"EasyJet","slug":"easyjet","lowCost":true,"website":"https://www.easyjet.com"},{"iata":"EC","name":"easyJet Europe","slug":"easyjet-europe","lowCost":true,"website":"https://www.easyjet.com"},{"iata":"IB","name":"Iberia","slug":"iberia","lowCost":false,"website":"https://www.iberia.com"},{"iata":"KL","name":"KLM","slug":"klm","lowCost":false,"website":"https://www.klm.com"},{"iata":"LH","name":"Lufthansa","slug":"lufthansa","lowCost":false,"website":"https://www.lufthansa.com"},{"iata":"TP","name":"TAP Portugal","slug":"tap-portugal","lowCost":false,"website":"https://www.flytap.com"},{"iata":"TO","name":"Transavia France","slug":"transavia-france","lowCost":true,"website":"https://www.transavia.com"},{"iata":"V7","name":"Volotea","slug":"volotea","lowCost":true,"website":"https://www.volotea.com"},{"iata":"VY","name":"Vueling","slug":"vueling","lowCost":true,"website":"https://www.vueling.com"}],"cabinClasses":["Economic"],"observedMonths":[1,7,8,9,11],"directObserved":true,"directObservationCount":5,"oneWayObservationCount":0,"minDurationMinutes":275,"avgDurationMinutes":562,"firstSeenAt":"2026-01-14T13:04:01","lastSeenAt":"2026-06-04T04:30:01","firstTravelDate":"2026-07-23","lastTravelDate":"2027-01-21","canonicalUrl":"https://www.voldiscount.com/vol-france/lyon/vers/portugal/porto/aller-retour.php","dataUrl":"https://www.voldiscount.com/data/axes/9a908f6a5051e39f.json","rank":186,"tier":"top500"},{"id":"878df9769c1d0383","departure":{"city":"Paris","citySlug":"paris","country":"France","countrySlug":"france","iataCodes":["BVA","CDG","ORY"],"region":"Île de France","latitude":48.8534,"longitude":2.3488},"arrival":{"city":"Porto","citySlug":"porto","country":"Portugal","countrySlug":"portugal","iataCodes":["OPO"],"region":"","latitude":41.1579,"longitude":-8.6291},"url":"/vol-france/paris/vers/portugal/porto.php","score":85.631,"distanceKm":1213,"observations":9,"airlineCount":8,"airlineCodes":["AF","EC","FR","TO","TP","U2","UX","VY"],"airlines":[{"iata":"UX","name":"Air Europa","slug":"air-europa","lowCost":false,"website":"https://www.aireuropa.com"},{"iata":"AF","name":"Air France","slug":"air-france","lowCost":false,"website":"https://www.airfrance.com"},{"iata":"U2","name":"EasyJet","slug":"easyjet","lowCost":true,"website":"https://www.easyjet.com"},{"iata":"EC","name":"easyJet Europe","slug":"easyjet-europe","lowCost":true,"website":"https://www.easyjet.com"},{"iata":"FR","name":"Ryanair","slug":"ryanair","lowCost":true,"website":"https://www.ryanair.com"},{"iata":"TP","name":"TAP Portugal","slug":"tap-portugal","lowCost":false,"website":"https://www.flytap.com"},{"iata":"TO","name":"Transavia France","slug":"transavia-france","lowCost":true,"website":"https://www.transavia.com"},{"iata":"VY","name":"Vueling","slug":"vueling","lowCost":true,"website":"https://www.vueling.com"}],"cabinClasses":["Economic"],"observedMonths":[1,6,9,10,11],"directObserved":true,"directObservationCount":7,"oneWayObservationCount":0,"minDurationMinutes":145,"avgDurationMinutes":402,"firstSeenAt":"2026-05-09T13:48:03","lastSeenAt":"2026-06-04T01:34:50","firstTravelDate":"2026-06-17","lastTravelDate":"2027-01-11","canonicalUrl":"https://www.voldiscount.com/vol-france/paris/vers/portugal/porto/aller-retour.php","dataUrl":"https://www.voldiscount.com/data/axes/878df9769c1d0383.json","rank":311,"tier":"top500"},{"id":"ffd997920021e3ee","departure":{"city":"Genève","citySlug":"geneve","country":"Suisse","countrySlug":"suisse","iataCodes":["GVA"],"region":"","latitude":46.204391,"longitude":6.143158},"arrival":{"city":"Porto","citySlug":"porto","country":"Portugal","countrySlug":"portugal","iataCodes":["OPO"],"region":"","latitude":41.1579,"longitude":-8.6291},"url":"/vol-suisse/geneve/vers/portugal/porto.php","score":85.631,"distanceKm":1311,"observations":9,"airlineCount":8,"airlineCodes":["AF","EC","IB","LX","TP","U2","UX","VY"],"airlines":[{"iata":"UX","name":"Air Europa","slug":"air-europa","lowCost":false,"website":"https://www.aireuropa.com"},{"iata":"AF","name":"Air France","slug":"air-france","lowCost":false,"website":"https://www.airfrance.com"},{"iata":"U2","name":"EasyJet","slug":"easyjet","lowCost":true,"website":"https://www.easyjet.com"},{"iata":"EC","name":"easyJet Europe","slug":"easyjet-europe","lowCost":true,"website":"https://www.easyjet.com"},{"iata":"IB","name":"Iberia","slug":"iberia","lowCost":false,"website":"https://www.iberia.com"},{"iata":"LX","name":"Swiss","slug":"swiss","lowCost":false,"website":"https://www.swiss.com"},{"iata":"TP","name":"TAP Portugal","slug":"tap-portugal","lowCost":false,"website":"https://www.flytap.com"},{"iata":"VY","name":"Vueling","slug":"vueling","lowCost":true,"website":"https://www.vueling.com"}],"cabinClasses":["Economic"],"observedMonths":[1,7,8,9,10,11],"directObserved":true,"directObservationCount":5,"oneWayObservationCount":0,"minDurationMinutes":140,"avgDurationMinutes":301,"firstSeenAt":"2026-05-07T07:29:11","lastSeenAt":"2026-06-03T09:49:32","firstTravelDate":"2026-07-02","lastTravelDate":"2027-01-26","canonicalUrl":"https://www.voldiscount.com/vol-suisse/geneve/vers/portugal/porto/aller-retour.php","dataUrl":"https://www.voldiscount.com/data/axes/ffd997920021e3ee.json","rank":316,"tier":"top500"},{"id":"a5e0c0748f763909","departure":{"city":"Bruxelles","citySlug":"bruxelles","country":"Belgique","countrySlug":"belgique","iataCodes":["BRU","CRL"],"region":"","latitude":50.8503,"longitude":4.3517},"arrival":{"city":"Porto","citySlug":"porto","country":"Portugal","countrySlug":"portugal","iataCodes":["OPO"],"region":"","latitude":41.1579,"longitude":-8.6291},"url":"/vol-belgique/bruxelles/vers/portugal/porto.php","score":82.953,"distanceKm":1468,"observations":7,"airlineCount":6,"airlineCodes":["FR","IB","LH","SN","TP","VY"],"airlines":[{"iata":"SN","name":"Brussels Airlines","slug":"brussels-airlines","lowCost":false,"website":"https://www.brusselsairlines.com"},{"iata":"IB","name":"Iberia","slug":"iberia","lowCost":false,"website":"https://www.iberia.com"},{"iata":"LH","name":"Lufthansa","slug":"lufthansa","lowCost":false,"website":"https://www.lufthansa.com"},{"iata":"FR","name":"Ryanair","slug":"ryanair","lowCost":true,"website":"https://www.ryanair.com"},{"iata":"TP","name":"TAP Portugal","slug":"tap-portugal","lowCost":false,"website":"https://www.flytap.com"},{"iata":"VY","name":"Vueling","slug":"vueling","lowCost":true,"website":"https://www.vueling.com"}],"cabinClasses":["Economic"],"observedMonths":[1,2,6,8,9,11],"directObserved":true,"directObservationCount":2,"oneWayObservationCount":0,"minDurationMinutes":150,"avgDurationMinutes":354,"firstSeenAt":"2026-05-05T07:21:45","lastSeenAt":"2026-06-03T16:52:07","firstTravelDate":"2026-06-20","lastTravelDate":"2027-02-02","canonicalUrl":"https://www.voldiscount.com/vol-belgique/bruxelles/vers/portugal/porto/aller-retour.php","dataUrl":"https://www.voldiscount.com/data/axes/a5e0c0748f763909.json","rank":421,"tier":"top500"},{"id":"efde83980a9ccb6c","departure":{"city":"Marseille","citySlug":"marseille","country":"France","countrySlug":"france","iataCodes":["MRS"],"region":"Provence","latitude":43.296482,"longitude":5.36978},"arrival":{"city":"Porto","citySlug":"porto","country":"Portugal","countrySlug":"portugal","iataCodes":["OPO"],"region":"","latitude":41.1579,"longitude":-8.6291},"url":"/vol-france/marseille/vers/portugal/porto.php","score":82.953,"distanceKm":1175,"observations":7,"airlineCount":7,"airlineCodes":["AF","FR","IB","KL","LX","SN","TP"],"airlines":[{"iata":"AF","name":"Air France","slug":"air-france","lowCost":false,"website":"https://www.airfrance.com"},{"iata":"SN","name":"Brussels Airlines","slug":"brussels-airlines","lowCost":false,"website":"https://www.brusselsairlines.com"},{"iata":"IB","name":"Iberia","slug":"iberia","lowCost":false,"website":"https://www.iberia.com"},{"iata":"KL","name":"KLM","slug":"klm","lowCost":false,"website":"https://www.klm.com"},{"iata":"FR","name":"Ryanair","slug":"ryanair","lowCost":true,"website":"https://www.ryanair.com"},{"iata":"LX","name":"Swiss","slug":"swiss","lowCost":false,"website":"https://www.swiss.com"},{"iata":"TP","name":"TAP Portugal","slug":"tap-portugal","lowCost":false,"website":"https://www.flytap.com"}],"cabinClasses":["Economic"],"observedMonths":[6,7,8,9,11],"directObserved":true,"directObservationCount":1,"oneWayObservationCount":0,"minDurationMinutes":260,"avgDurationMinutes":520,"firstSeenAt":"2026-04-03T16:08:10","lastSeenAt":"2026-06-04T00:53:59","firstTravelDate":"2026-06-16","lastTravelDate":"2026-11-07","canonicalUrl":"https://www.voldiscount.com/vol-france/marseille/vers/portugal/porto/aller-retour.php","dataUrl":"https://www.voldiscount.com/data/axes/efde83980a9ccb6c.json","rank":435,"tier":"top500"},{"id":"dd47698e868aeaa3","departure":{"city":"Bordeaux","citySlug":"bordeaux","country":"France","countrySlug":"france","iataCodes":["BOD"],"region":"Aquitaine","latitude":44.8378,"longitude":-0.5792},"arrival":{"city":"Porto","citySlug":"porto","country":"Portugal","countrySlug":"portugal","iataCodes":["OPO"],"region":"","latitude":41.1579,"longitude":-8.6291},"url":"/vol-france/bordeaux/vers/portugal/porto.php","score":82.687,"distanceKm":771,"observations":7,"airlineCount":6,"airlineCodes":["AF","EC","IB","KL","U2","VY"],"airlines":[{"iata":"AF","name":"Air France","slug":"air-france","lowCost":false,"website":"https://www.airfrance.com"},{"iata":"U2","name":"EasyJet","slug":"easyjet","lowCost":true,"website":"https://www.easyjet.com"},{"iata":"EC","name":"easyJet Europe","slug":"easyjet-europe","lowCost":true,"website":"https://www.easyjet.com"},{"iata":"IB","name":"Iberia","slug":"iberia","lowCost":false,"website":"https://www.iberia.com"},{"iata":"KL","name":"KLM","slug":"klm","lowCost":false,"website":"https://www.klm.com"},{"iata":"VY","name":"Vueling","slug":"vueling","lowCost":true,"website":"https://www.vueling.com"}],"cabinClasses":["Business","Economic"],"observedMonths":[1,2,6,10,11,12],"directObserved":true,"directObservationCount":2,"oneWayObservationCount":0,"minDurationMinutes":105,"avgDurationMinutes":561,"firstSeenAt":"2026-05-05T17:34:34","lastSeenAt":"2026-05-26T15:22:56","firstTravelDate":"2026-06-25","lastTravelDate":"2027-02-02","canonicalUrl":"https://www.voldiscount.com/vol-france/bordeaux/vers/portugal/porto/aller-retour.php","dataUrl":"https://www.voldiscount.com/data/axes/dd47698e868aeaa3.json","rank":488,"tier":"top500"},{"id":"82df898f862377ea","departure":{"city":"Toulouse","citySlug":"toulouse","country":"France","countrySlug":"france","iataCodes":["TLS"],"region":"Occitanie","latitude":43.6043,"longitude":1.4437},"arrival":{"city":"Porto","citySlug":"porto","country":"Portugal","countrySlug":"portugal","iataCodes":["OPO"],"region":"","latitude":41.1579,"longitude":-8.6291},"url":"/vol-france/toulouse/vers/portugal/porto.php","score":79.501,"distanceKm":870,"observations":5,"airlineCount":5,"airlineCodes":["AF","FR","LH","SN","TP"],"airlines":[{"iata":"AF","name":"Air France","slug":"air-france","lowCost":false,"website":"https://www.airfrance.com"},{"iata":"SN","name":"Brussels Airlines","slug":"brussels-airlines","lowCost":false,"website":"https://www.brusselsairlines.com"},{"iata":"LH","name":"Lufthansa","slug":"lufthansa","lowCost":false,"website":"https://www.lufthansa.com"},{"iata":"FR","name":"Ryanair","slug":"ryanair","lowCost":true,"website":"https://www.ryanair.com"},{"iata":"TP","name":"TAP Portugal","slug":"tap-portugal","lowCost":false,"website":"https://www.flytap.com"}],"cabinClasses":["Economic"],"observedMonths":[6,8,9,10],"directObserved":true,"directObservationCount":1,"oneWayObservationCount":0,"minDurationMinutes":390,"avgDurationMinutes":485,"firstSeenAt":"2026-05-17T14:33:48","lastSeenAt":"2026-06-03T23:25:14","firstTravelDate":"2026-06-17","lastTravelDate":"2026-10-10","canonicalUrl":"https://www.voldiscount.com/vol-france/toulouse/vers/portugal/porto/aller-retour.php","dataUrl":"https://www.voldiscount.com/data/axes/82df898f862377ea.json","rank":612,"tier":"top1000"},{"id":"da6b0541093921a2","departure":{"city":"Zurich","citySlug":"zurich","country":"Suisse","countrySlug":"suisse","iataCodes":["ZRH"],"region":"","latitude":47.3769,"longitude":8.5417},"arrival":{"city":"Porto","citySlug":"porto","country":"Portugal","countrySlug":"portugal","iataCodes":["OPO"],"region":"","latitude":41.1579,"longitude":-8.6291},"url":"/vol-suisse/zurich/vers/portugal/porto.php","score":79.234,"distanceKm":1528,"observations":5,"airlineCount":5,"airlineCodes":["AF","IB","LX","TP","U2"],"airlines":[{"iata":"AF","name":"Air France","slug":"air-france","lowCost":false,"website":"https://www.airfrance.com"},{"iata":"U2","name":"EasyJet","slug":"easyjet","lowCost":true,"website":"https://www.easyjet.com"},{"iata":"IB","name":"Iberia","slug":"iberia","lowCost":false,"website":"https://www.iberia.com"},{"iata":"LX","name":"Swiss","slug":"swiss","lowCost":false,"website":"https://www.swiss.com"},{"iata":"TP","name":"TAP Portugal","slug":"tap-portugal","lowCost":false,"website":"https://www.flytap.com"}],"cabinClasses":["Economic"],"observedMonths":[6,7],"directObserved":true,"directObservationCount":3,"oneWayObservationCount":0,"minDurationMinutes":310,"avgDurationMinutes":310,"firstSeenAt":"2026-05-05T13:56:03","lastSeenAt":"2026-05-26T09:29:23","firstTravelDate":"2026-06-07","lastTravelDate":"2026-07-02","canonicalUrl":"https://www.voldiscount.com/vol-suisse/zurich/vers/portugal/porto/aller-retour.php","dataUrl":"https://www.voldiscount.com/data/axes/da6b0541093921a2.json","rank":655,"tier":"top1000"},{"id":"dafdb72b8496aff2","departure":{"city":"Barcelone","citySlug":"barcelone","country":"Espagne","countrySlug":"espagne","iataCodes":["BCN"],"region":"Catalogne","latitude":41.3851,"longitude":2.1734},"arrival":{"city":"Porto","citySlug":"porto","country":"Portugal","countrySlug":"portugal","iataCodes":["OPO"],"region":"","latitude":41.1579,"longitude":-8.6291},"url":"/vol-espagne/barcelone/vers/portugal/porto.php","score":68.602,"distanceKm":903,"observations":3,"airlineCount":3,"airlineCodes":["IB","TP","VY"],"airlines":[{"iata":"IB","name":"Iberia","slug":"iberia","lowCost":false,"website":"https://www.iberia.com"},{"iata":"TP","name":"TAP Portugal","slug":"tap-portugal","lowCost":false,"website":"https://www.flytap.com"},{"iata":"VY","name":"Vueling","slug":"vueling","lowCost":true,"website":"https://www.vueling.com"}],"cabinClasses":["Economic"],"observedMonths":[6],"directObserved":true,"directObservationCount":2,"oneWayObservationCount":0,"minDurationMinutes":120,"avgDurationMinutes":253,"firstSeenAt":"2026-05-29T21:56:09","lastSeenAt":"2026-06-02T11:04:23","firstTravelDate":"2026-06-11","lastTravelDate":"2026-06-12","canonicalUrl":"https://www.voldiscount.com/vol-espagne/barcelone/vers/portugal/porto/aller-retour.php","dataUrl":"https://www.voldiscount.com/data/axes/dafdb72b8496aff2.json","rank":1113,"tier":"catalog"},{"id":"929e295df07a61bc","departure":{"city":"Brest","citySlug":"brest","country":"France","countrySlug":"france","iataCodes":["BES"],"region":"Bretagne","latitude":48.3894,"longitude":-4.4861},"arrival":{"city":"Porto","citySlug":"porto","country":"Portugal","countrySlug":"portugal","iataCodes":["OPO"],"region":"","latitude":41.1579,"longitude":-8.6291},"url":"/vol-france/brest/vers/portugal/porto.php","score":61.183,"distanceKm":868,"observations":2,"airlineCount":2,"airlineCodes":["AF","TO"],"airlines":[{"iata":"AF","name":"Air France","slug":"air-france","lowCost":false,"website":"https://www.airfrance.com"},{"iata":"TO","name":"Transavia France","slug":"transavia-france","lowCost":true,"website":"https://www.transavia.com"}],"cabinClasses":["Economic"],"observedMonths":[6,10],"directObserved":true,"directObservationCount":1,"oneWayObservationCount":0,"minDurationMinutes":455,"avgDurationMinutes":455,"firstSeenAt":"2026-06-03T13:33:18","lastSeenAt":"2026-06-04T00:35:01","firstTravelDate":"2026-06-20","lastTravelDate":"2026-10-12","canonicalUrl":"https://www.voldiscount.com/vol-france/brest/vers/portugal/porto/aller-retour.php","dataUrl":"https://www.voldiscount.com/data/axes/929e295df07a61bc.json","rank":1353,"tier":"catalog"},{"id":"32ef665dcf8e7a82","departure":{"city":"Strasbourg","citySlug":"strasbourg","country":"France","countrySlug":"france","iataCodes":["SXB"],"region":"Alsace","latitude":48.5839,"longitude":7.7455},"arrival":{"city":"Porto","citySlug":"porto","country":"Portugal","countrySlug":"portugal","iataCodes":["OPO"],"region":"","latitude":41.1579,"longitude":-8.6291},"url":"/vol-france/strasbourg/vers/portugal/porto.php","score":61.183,"distanceKm":1527,"observations":2,"airlineCount":2,"airlineCodes":["IB","V7"],"airlines":[{"iata":"IB","name":"Iberia","slug":"iberia","lowCost":false,"website":"https://www.iberia.com"},{"iata":"V7","name":"Volotea","slug":"volotea","lowCost":true,"website":"https://www.volotea.com"}],"cabinClasses":["Economic"],"observedMonths":[10,11],"directObserved":true,"directObservationCount":1,"oneWayObservationCount":0,"minDurationMinutes":550,"avgDurationMinutes":550,"firstSeenAt":"2026-05-14T21:46:58","lastSeenAt":"2026-06-04T02:30:01","firstTravelDate":"2026-10-26","lastTravelDate":"2026-11-03","canonicalUrl":"https://www.voldiscount.com/vol-france/strasbourg/vers/portugal/porto/aller-retour.php","dataUrl":"https://www.voldiscount.com/data/axes/32ef665dcf8e7a82.json","rank":1374,"tier":"catalog"},{"id":"057cd9924ec7b5e2","departure":{"city":"Lille","citySlug":"lille","country":"France","countrySlug":"france","iataCodes":["LIL"],"region":"Hauts de France","latitude":50.6333,"longitude":3.0667},"arrival":{"city":"Porto","citySlug":"porto","country":"Portugal","countrySlug":"portugal","iataCodes":["OPO"],"region":"","latitude":41.1579,"longitude":-8.6291},"url":"/vol-france/lille/vers/portugal/porto.php","score":52.218,"distanceKm":1386,"observations":1,"airlineCount":1,"airlineCodes":["FR"],"airlines":[{"iata":"FR","name":"Ryanair","slug":"ryanair","lowCost":true,"website":"https://www.ryanair.com"}],"cabinClasses":["Economic"],"observedMonths":[10],"directObserved":true,"directObservationCount":1,"oneWayObservationCount":0,"minDurationMinutes":null,"avgDurationMinutes":null,"firstSeenAt":"2026-05-31T23:14:44","lastSeenAt":"2026-05-31T23:14:44","firstTravelDate":"2026-10-12","lastTravelDate":"2026-10-12","canonicalUrl":"https://www.voldiscount.com/vol-france/lille/vers/portugal/porto/aller-retour.php","dataUrl":"https://www.voldiscount.com/data/axes/057cd9924ec7b5e2.json","rank":1639,"tier":"catalog"},{"id":"b6618b1bc9d7f1c3","departure":{"city":"Bâle","citySlug":"bale","country":"Suisse","countrySlug":"suisse","iataCodes":["BSL"],"region":"","latitude":47.5596,"longitude":7.5886},"arrival":{"city":"Porto","citySlug":"porto","country":"Portugal","countrySlug":"portugal","iataCodes":["OPO"],"region":"","latitude":41.1579,"longitude":-8.6291},"url":"/vol-suisse/bale/vers/portugal/porto.php","score":52.084,"distanceKm":1469,"observations":1,"airlineCount":1,"airlineCodes":["U2"],"airlines":[{"iata":"U2","name":"EasyJet","slug":"easyjet","lowCost":true,"website":"https://www.easyjet.com"}],"cabinClasses":["Economic"],"observedMonths":[10],"directObserved":true,"directObservationCount":1,"oneWayObservationCount":0,"minDurationMinutes":null,"avgDurationMinutes":null,"firstSeenAt":"2026-05-27T17:21:54","lastSeenAt":"2026-05-27T17:21:54","firstTravelDate":"2026-10-31","lastTravelDate":"2026-10-31","canonicalUrl":"https://www.voldiscount.com/vol-suisse/bale/vers/portugal/porto/aller-retour.php","dataUrl":"https://www.voldiscount.com/data/axes/b6618b1bc9d7f1c3.json","rank":1655,"tier":"catalog"}]}
