{
    "success": true,
    "data": {
        "route": {
            "origin": {
                "iata": "BCN",
                "name": "Barcelona",
                "country_code": "ES",
                "country_name": "Spain",
                "is_hub": true
            },
            "destination": {
                "iata": "OPO",
                "name": "Porto",
                "country_code": "PT",
                "country_name": "Portugal",
                "is_hub": false
            },
            "slug": "bcn-opo"
        },
        "parameters": {
            "agencies": [
                "Biletix",
                "City.Travel",
                "Clickavia",
                "Farera",
                "Kiwi.com",
                "Kupi.com",
                "Trip.com",
                "Авиасейлс"
            ],
            "agencies_count": 8,
            "airlines": [
                "FR",
                "NI",
                "TP",
                "VY"
            ],
            "airlines_count": 4,
            "airports_arrival": 1,
            "airports_arrival_list": [
                "OPO"
            ],
            "airports_departure": 1,
            "airports_departure_list": [
                "BCN"
            ],
            "avg_duration_min": 127,
            "avg_price": 43.9054,
            "avg_transfers": 0.12,
            "cheapest_agency": "Clickavia",
            "cheapest_month": 11,
            "cheapest_weekday": 2,
            "departures_per_week": 4,
            "direct_airlines_list": [
                "FR",
                "VY"
            ],
            "direct_flights_count": 46,
            "direct_share": 88.46,
            "distance_km": 902,
            "eco_score": 9.3,
            "flight_time_min": 94,
            "flights_found": 52,
            "has_direct": true,
            "max_duration_min": 285,
            "max_price": 184,
            "min_duration_min": 110,
            "min_price": 19,
            "min_price_1stop": 54,
            "min_price_direct": 19,
            "months_with_flights": [
                10,
                11,
                12
            ],
            "popularity_score": 2.6,
            "seasonality": 1,
            "time_diff_hours": -1
        },
        "calendar": [
            {
                "date": "2026-11-14",
                "price_usd": 23,
                "transfers": 0,
                "airline": null,
                "gate": "Kiwi.com",
                "duration_min": 0
            },
            {
                "date": "2026-11-15",
                "price_usd": 23,
                "transfers": 0,
                "airline": "FR",
                "gate": "Kiwi.com",
                "duration_min": 120
            },
            {
                "date": "2026-11-16",
                "price_usd": 60,
                "transfers": 0,
                "airline": "VY",
                "gate": "Авиасейлс",
                "duration_min": 115
            },
            {
                "date": "2026-11-17",
                "price_usd": 43,
                "transfers": 0,
                "airline": "FR",
                "gate": "Авиасейлс",
                "duration_min": 120
            },
            {
                "date": "2026-11-18",
                "price_usd": 42,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-19",
                "price_usd": 42,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-20",
                "price_usd": 40,
                "transfers": 0,
                "airline": "FR",
                "gate": "City.Travel",
                "duration_min": 120
            },
            {
                "date": "2026-11-21",
                "price_usd": 42,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-22",
                "price_usd": 42,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-23",
                "price_usd": 44,
                "transfers": 0,
                "airline": "VY",
                "gate": "Авиасейлс",
                "duration_min": 110
            },
            {
                "date": "2026-11-24",
                "price_usd": 23,
                "transfers": 0,
                "airline": "VY",
                "gate": "Kiwi.com",
                "duration_min": 120
            },
            {
                "date": "2026-11-25",
                "price_usd": 22,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-26",
                "price_usd": 21,
                "transfers": 0,
                "airline": "VY",
                "gate": "Авиасейлс",
                "duration_min": 110
            },
            {
                "date": "2026-11-27",
                "price_usd": 30,
                "transfers": 0,
                "airline": "FR",
                "gate": "Clickavia",
                "duration_min": 120
            },
            {
                "date": "2026-11-28",
                "price_usd": 23,
                "transfers": 0,
                "airline": "VY",
                "gate": "Clickavia",
                "duration_min": 110
            },
            {
                "date": "2026-11-29",
                "price_usd": 24,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-30",
                "price_usd": 26,
                "transfers": 0,
                "airline": "FR",
                "gate": "Kiwi.com",
                "duration_min": 120
            },
            {
                "date": "2026-12-01",
                "price_usd": 51,
                "transfers": 0,
                "airline": "VY",
                "gate": "Farera",
                "duration_min": 120
            },
            {
                "date": "2026-12-02",
                "price_usd": 48,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-03",
                "price_usd": 48,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-04",
                "price_usd": 48,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-05",
                "price_usd": 48,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-06",
                "price_usd": 45,
                "transfers": 0,
                "airline": "FR",
                "gate": "Kiwi.com",
                "duration_min": 120
            },
            {
                "date": "2026-12-07",
                "price_usd": 31,
                "transfers": 0,
                "airline": "VY",
                "gate": "Farera",
                "duration_min": 120
            },
            {
                "date": "2026-12-08",
                "price_usd": 38,
                "transfers": 0,
                "airline": "VY",
                "gate": "Farera",
                "duration_min": 120
            },
            {
                "date": "2026-12-09",
                "price_usd": 34,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-10",
                "price_usd": 34,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-11",
                "price_usd": 34,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-12",
                "price_usd": 34,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-13",
                "price_usd": 34,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-14",
                "price_usd": 34,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-15",
                "price_usd": 30,
                "transfers": 0,
                "airline": "FR",
                "gate": "Clickavia",
                "duration_min": 120
            },
            {
                "date": "2026-12-16",
                "price_usd": 44,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-17",
                "price_usd": 44,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-18",
                "price_usd": 44,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-19",
                "price_usd": 44,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-20",
                "price_usd": 44,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-21",
                "price_usd": 44,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-22",
                "price_usd": 44,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-23",
                "price_usd": 59,
                "transfers": 1,
                "airline": "VY",
                "gate": "Clickavia",
                "duration_min": 160
            },
            {
                "date": "2026-12-24",
                "price_usd": 115,
                "transfers": 0,
                "airline": "FR",
                "gate": "Kiwi.com",
                "duration_min": 120
            },
            {
                "date": "2026-12-25",
                "price_usd": 89,
                "transfers": 0,
                "airline": "VY",
                "gate": "Kupi.com",
                "duration_min": 120
            },
            {
                "date": "2026-12-26",
                "price_usd": 62,
                "transfers": 0,
                "airline": "FR",
                "gate": "Kiwi.com",
                "duration_min": 120
            },
            {
                "date": "2026-12-27",
                "price_usd": 70,
                "transfers": 0,
                "airline": null,
                "gate": "City.Travel",
                "duration_min": 0
            },
            {
                "date": "2026-12-28",
                "price_usd": 45,
                "transfers": 0,
                "airline": "VY",
                "gate": "Trip.com",
                "duration_min": 110
            }
        ],
        "variants": [
            {
                "depart_date": "2026-11-26",
                "price_usd": 21,
                "airline": "VY",
                "flight_number": "1180",
                "departure_airport": "BCN",
                "arrival_airport": "OPO",
                "departure_time": "20:35:00",
                "arrival_time": "22:25:00",
                "duration_min": 110,
                "transfers": 0,
                "gate": "Авиасейлс",
                "ticket_id": "15c91c82812d7b1dff010fd6853a41d5"
            },
            {
                "depart_date": "2026-11-24",
                "price_usd": 23,
                "airline": "VY",
                "flight_number": "1170",
                "departure_airport": "BCN",
                "arrival_airport": "OPO",
                "departure_time": "09:10:00",
                "arrival_time": "11:10:00",
                "duration_min": 120,
                "transfers": 0,
                "gate": "Kiwi.com",
                "ticket_id": "95a67ede7ef4898173e288cfbb3c4437"
            },
            {
                "depart_date": "2026-11-28",
                "price_usd": 23,
                "airline": "VY",
                "flight_number": "1182",
                "departure_airport": "BCN",
                "arrival_airport": "OPO",
                "departure_time": "22:25:00",
                "arrival_time": "00:15:00",
                "duration_min": 110,
                "transfers": 0,
                "gate": "Clickavia",
                "ticket_id": "f6df6b89cd6d20ad70669949033f4621"
            },
            {
                "depart_date": "2026-11-15",
                "price_usd": 23,
                "airline": "FR",
                "flight_number": "4597",
                "departure_airport": "BCN",
                "arrival_airport": "OPO",
                "departure_time": "00:50:00",
                "arrival_time": "02:50:00",
                "duration_min": 120,
                "transfers": 0,
                "gate": "Kiwi.com",
                "ticket_id": "d4cda6eafd4de30d7222ca65a08c4d7c"
            },
            {
                "depart_date": "2026-11-15",
                "price_usd": 25,
                "airline": "FR",
                "flight_number": "4597",
                "departure_airport": "BCN",
                "arrival_airport": "OPO",
                "departure_time": "08:45:00",
                "arrival_time": "10:45:00",
                "duration_min": 120,
                "transfers": 0,
                "gate": "Clickavia",
                "ticket_id": "913b7f897866621f6a86f75feec2deee"
            },
            {
                "depart_date": "2026-11-30",
                "price_usd": 26,
                "airline": "FR",
                "flight_number": "4587",
                "departure_airport": "BCN",
                "arrival_airport": "OPO",
                "departure_time": "11:50:00",
                "arrival_time": "13:50:00",
                "duration_min": 120,
                "transfers": 0,
                "gate": "Kiwi.com",
                "ticket_id": "5986bd29e4291a48cc7e8b469c2ce551"
            },
            {
                "depart_date": "2026-11-27",
                "price_usd": 30,
                "airline": "FR",
                "flight_number": "4585",
                "departure_airport": "BCN",
                "arrival_airport": "OPO",
                "departure_time": "08:00:00",
                "arrival_time": "10:00:00",
                "duration_min": 120,
                "transfers": 0,
                "gate": "Clickavia",
                "ticket_id": "79a4d01f34197e60207287f4e6a65e5e"
            },
            {
                "depart_date": "2026-12-15",
                "price_usd": 30,
                "airline": "FR",
                "flight_number": "4585",
                "departure_airport": "BCN",
                "arrival_airport": "OPO",
                "departure_time": "21:30:00",
                "arrival_time": "23:30:00",
                "duration_min": 120,
                "transfers": 0,
                "gate": "Clickavia",
                "ticket_id": "2a7294cb7ab093357af66a3a3951cf02"
            },
            {
                "depart_date": "2026-12-07",
                "price_usd": 31,
                "airline": "VY",
                "flight_number": "1170",
                "departure_airport": "BCN",
                "arrival_airport": "OPO",
                "departure_time": "09:10:00",
                "arrival_time": "11:10:00",
                "duration_min": 120,
                "transfers": 0,
                "gate": "Farera",
                "ticket_id": "7a75f044037d212f73b8661ec19fc0de"
            },
            {
                "depart_date": "2026-12-08",
                "price_usd": 38,
                "airline": "VY",
                "flight_number": "1170",
                "departure_airport": "BCN",
                "arrival_airport": "OPO",
                "departure_time": "09:10:00",
                "arrival_time": "11:10:00",
                "duration_min": 120,
                "transfers": 0,
                "gate": "Farera",
                "ticket_id": "2862479e723dac4fcbb5b44773d89ad8"
            },
            {
                "depart_date": "2026-11-20",
                "price_usd": 40,
                "airline": "FR",
                "flight_number": "4587",
                "departure_airport": "BCN",
                "arrival_airport": "OPO",
                "departure_time": "23:45:00",
                "arrival_time": "01:45:00",
                "duration_min": 120,
                "transfers": 0,
                "gate": "City.Travel",
                "ticket_id": "ec4bd5a061bf42b4da8e4e5daef94a7f"
            },
            {
                "depart_date": "2026-11-17",
                "price_usd": 43,
                "airline": "FR",
                "flight_number": "4585",
                "departure_airport": "BCN",
                "arrival_airport": "OPO",
                "departure_time": "21:30:00",
                "arrival_time": "23:30:00",
                "duration_min": 120,
                "transfers": 0,
                "gate": "Авиасейлс",
                "ticket_id": "b1f04453a5b0b644e6699bec05cd1b53"
            },
            {
                "depart_date": "2026-11-23",
                "price_usd": 44,
                "airline": "VY",
                "flight_number": "1182",
                "departure_airport": "BCN",
                "arrival_airport": "OPO",
                "departure_time": "22:25:00",
                "arrival_time": "00:15:00",
                "duration_min": 110,
                "transfers": 0,
                "gate": "Авиасейлс",
                "ticket_id": "b35ec9b34f97befee31c945c3f705809"
            },
            {
                "depart_date": "2026-12-28",
                "price_usd": 45,
                "airline": "VY",
                "flight_number": "1182",
                "departure_airport": "BCN",
                "arrival_airport": "OPO",
                "departure_time": "22:25:00",
                "arrival_time": "00:15:00",
                "duration_min": 110,
                "transfers": 0,
                "gate": "Trip.com",
                "ticket_id": "507eaa1e875a83292799325eabdeb4d9"
            },
            {
                "depart_date": "2026-12-06",
                "price_usd": 45,
                "airline": "FR",
                "flight_number": "4585",
                "departure_airport": "BCN",
                "arrival_airport": "OPO",
                "departure_time": "11:35:00",
                "arrival_time": "13:35:00",
                "duration_min": 120,
                "transfers": 0,
                "gate": "Kiwi.com",
                "ticket_id": "76c864e2e95c4ea0fd5d1618753db698"
            },
            {
                "depart_date": "2026-12-01",
                "price_usd": 51,
                "airline": "VY",
                "flight_number": "1170",
                "departure_airport": "BCN",
                "arrival_airport": "OPO",
                "departure_time": "09:10:00",
                "arrival_time": "11:10:00",
                "duration_min": 120,
                "transfers": 0,
                "gate": "Farera",
                "ticket_id": "c56a65836b857f0910a3b8cc8d35c3d0"
            },
            {
                "depart_date": "2026-12-23",
                "price_usd": 59,
                "airline": "VY",
                "flight_number": "1460",
                "departure_airport": "BCN",
                "arrival_airport": "OPO",
                "departure_time": "09:00:00",
                "arrival_time": "11:40:00",
                "duration_min": 160,
                "transfers": 1,
                "gate": "Clickavia",
                "ticket_id": "18a812d9c67458a5d7dfe73c9397c924"
            },
            {
                "depart_date": "2026-11-16",
                "price_usd": 60,
                "airline": "VY",
                "flight_number": "1178",
                "departure_airport": "BCN",
                "arrival_airport": "OPO",
                "departure_time": "15:00:00",
                "arrival_time": "16:55:00",
                "duration_min": 115,
                "transfers": 0,
                "gate": "Авиасейлс",
                "ticket_id": "07a355a29c748427f5f6bfaa3d6ed92e"
            },
            {
                "depart_date": "2026-12-26",
                "price_usd": 62,
                "airline": "FR",
                "flight_number": "4585",
                "departure_airport": "BCN",
                "arrival_airport": "OPO",
                "departure_time": "08:55:00",
                "arrival_time": "10:55:00",
                "duration_min": 120,
                "transfers": 0,
                "gate": "Kiwi.com",
                "ticket_id": "276535bdca95a5182a70503c898e58b6"
            },
            {
                "depart_date": "2026-12-28",
                "price_usd": 70,
                "airline": "FR",
                "flight_number": "4587",
                "departure_airport": "BCN",
                "arrival_airport": "OPO",
                "departure_time": "00:55:00",
                "arrival_time": "02:55:00",
                "duration_min": 120,
                "transfers": 0,
                "gate": "City.Travel",
                "ticket_id": "9354b744b7be9a50ea33d0aaa52715f6"
            },
            {
                "depart_date": "2026-12-25",
                "price_usd": 89,
                "airline": "VY",
                "flight_number": "1174",
                "departure_airport": "BCN",
                "arrival_airport": "OPO",
                "departure_time": "10:35:00",
                "arrival_time": "12:35:00",
                "duration_min": 120,
                "transfers": 0,
                "gate": "Kupi.com",
                "ticket_id": "6758d95a633e757bd23d0e1d8aef3c00"
            },
            {
                "depart_date": "2026-12-24",
                "price_usd": 115,
                "airline": "FR",
                "flight_number": "4587",
                "departure_airport": "BCN",
                "arrival_airport": "OPO",
                "departure_time": "00:30:00",
                "arrival_time": "02:30:00",
                "duration_min": 120,
                "transfers": 0,
                "gate": "Kiwi.com",
                "ticket_id": "92b50f985c4da5742cfd359e19be7ecc"
            }
        ],
        "airlines": [
            {
                "iata": "FR",
                "name": "Ryanair",
                "logo_url": "https://img.wway.io/pics/root/FR@png?exar=1&rs=fit:80:80",
                "is_lowcost": true,
                "routes_count": 2466,
                "min_price_usd": 19
            },
            {
                "iata": "VY",
                "name": "Vueling",
                "logo_url": "https://img.wway.io/pics/root/VY@png?exar=1&rs=fit:80:80",
                "is_lowcost": true,
                "routes_count": 228,
                "min_price_usd": 21
            },
            {
                "iata": "TP",
                "name": "TAP Air Portugal",
                "logo_url": "https://img.wway.io/pics/root/TP@png?exar=1&rs=fit:80:80",
                "is_lowcost": false,
                "routes_count": 282,
                "min_price_usd": 62
            },
            {
                "iata": "NI",
                "name": "Portugalia Airlines",
                "logo_url": "https://img.wway.io/pics/root/NI@png?exar=1&rs=fit:80:80",
                "is_lowcost": false,
                "routes_count": 0,
                "min_price_usd": 63
            }
        ],
        "agencies": [
            {
                "name": "Clickavia",
                "min_price_usd": 19,
                "tickets_count": 16
            },
            {
                "name": "Авиасейлс",
                "min_price_usd": 21,
                "tickets_count": 5
            },
            {
                "name": "Kiwi.com",
                "min_price_usd": 23,
                "tickets_count": 13
            },
            {
                "name": "Biletix",
                "min_price_usd": 29,
                "tickets_count": 4
            },
            {
                "name": "Farera",
                "min_price_usd": 31,
                "tickets_count": 3
            },
            {
                "name": "City.Travel",
                "min_price_usd": 40,
                "tickets_count": 3
            },
            {
                "name": "Trip.com",
                "min_price_usd": 45,
                "tickets_count": 4
            },
            {
                "name": "Kupi.com",
                "min_price_usd": 88,
                "tickets_count": 4
            }
        ],
        "airports": {
            "departure": [
                {
                    "iata": "BCN",
                    "name": "Barcelona-El Prat Airport",
                    "iata_type": "airport",
                    "time_zone": "Europe/Madrid"
                }
            ],
            "arrival": [
                {
                    "iata": "OPO",
                    "name": "Porto Airport",
                    "iata_type": "airport",
                    "time_zone": "Europe/Lisbon"
                }
            ]
        },
        "html_url": "https://cityvator.com/en/bcn-opo/",
        "api_urls": {
            "self": "https://cityvator.com/api/routes/bcn-opo",
            "qa": "https://cityvator.com/api/qa/route/bcn-opo",
            "compare": "https://cityvator.com/api/compare/bcn-opo-vs-"
        },
        "updated_at": "2026-10-16 17:44:35"
    },
    "meta": {
        "lang": "en",
        "currency": "USD",
        "requested_at": "2026-11-14T04:15:23+03:00",
        "powered_by": "Cityvator",
        "source": "https://cityvator.com",
        "license": "CC-BY-4.0",
        "attribution": "Data source: Cityvator (https://cityvator.com)"
    }
}