{
    "success": true,
    "data": {
        "route": {
            "origin": {
                "iata": "OPO",
                "name": "Porto",
                "country_code": "PT",
                "country_name": "Portugal",
                "is_hub": false
            },
            "destination": {
                "iata": "BER",
                "name": "Berlin",
                "country_code": "DE",
                "country_name": "Germany",
                "is_hub": false
            },
            "slug": "opo-ber"
        },
        "parameters": {
            "agencies": [
                "Aviakassa",
                "Biletix",
                "City.Travel",
                "Clickavia",
                "E Bilet",
                "EasyJet",
                "Farera",
                "Flightnetwork",
                "Kiwi.com",
                "Lucky2Go",
                "Tickets",
                "Tickets.kz",
                "Trip.com",
                "Авиасейлс"
            ],
            "agencies_count": 14,
            "airlines": [
                "EC",
                "EW",
                "FR",
                "MW",
                "TP",
                "U2",
                "VY",
                "W4"
            ],
            "airlines_count": 8,
            "airports_arrival": 1,
            "airports_arrival_list": [
                "BER"
            ],
            "airports_departure": 1,
            "airports_departure_list": [
                "OPO"
            ],
            "avg_duration_min": 225,
            "avg_price": 103.525,
            "avg_transfers": 0.43,
            "cheapest_agency": "Авиасейлс",
            "cheapest_month": 12,
            "cheapest_weekday": 3,
            "departures_per_week": 5,
            "direct_airlines_list": [
                "EC",
                "EW",
                "FR",
                "U2"
            ],
            "direct_flights_count": 34,
            "direct_share": 58.62,
            "distance_km": 2085,
            "eco_score": 8.1,
            "flight_time_min": 177,
            "flights_found": 58,
            "has_direct": true,
            "max_duration_min": 465,
            "max_price": 285,
            "min_duration_min": 180,
            "min_price": 32,
            "min_price_1stop": 57,
            "min_price_direct": 32,
            "months_with_flights": [
                10,
                11,
                12
            ],
            "popularity_score": 2.9,
            "seasonality": 1,
            "time_diff_hours": 1
        },
        "calendar": [
            {
                "date": "2026-11-13",
                "price_usd": 97,
                "transfers": 0,
                "airline": "W4",
                "gate": "Kiwi.com",
                "duration_min": 250
            },
            {
                "date": "2026-11-14",
                "price_usd": 120,
                "transfers": 0,
                "airline": "U2",
                "gate": "Clickavia",
                "duration_min": 250
            },
            {
                "date": "2026-11-15",
                "price_usd": 128,
                "transfers": 0,
                "airline": "FR",
                "gate": "Kiwi.com",
                "duration_min": 190
            },
            {
                "date": "2026-11-16",
                "price_usd": 113,
                "transfers": 0,
                "airline": "U2",
                "gate": "Trip.com",
                "duration_min": 180
            },
            {
                "date": "2026-11-17",
                "price_usd": 70,
                "transfers": 0,
                "airline": "U2",
                "gate": "Tickets",
                "duration_min": 255
            },
            {
                "date": "2026-11-19",
                "price_usd": 93,
                "transfers": 0,
                "airline": "FR",
                "gate": "Kiwi.com",
                "duration_min": 190
            },
            {
                "date": "2026-11-21",
                "price_usd": 81,
                "transfers": 0,
                "airline": "FR",
                "gate": "Kiwi.com",
                "duration_min": 250
            },
            {
                "date": "2026-11-22",
                "price_usd": 113,
                "transfers": 0,
                "airline": "TP",
                "gate": "Kiwi.com",
                "duration_min": 280
            },
            {
                "date": "2026-11-23",
                "price_usd": 72,
                "transfers": 0,
                "airline": "W4",
                "gate": "Tickets.kz",
                "duration_min": 255
            },
            {
                "date": "2026-11-28",
                "price_usd": 90,
                "transfers": 0,
                "airline": "FR",
                "gate": "Kiwi.com",
                "duration_min": 255
            },
            {
                "date": "2026-11-29",
                "price_usd": 91,
                "transfers": 0,
                "airline": "FR",
                "gate": "E Bilet",
                "duration_min": 190
            },
            {
                "date": "2026-11-30",
                "price_usd": 80,
                "transfers": 0,
                "airline": "W4",
                "gate": "Trip.com",
                "duration_min": 255
            },
            {
                "date": "2026-12-01",
                "price_usd": 61,
                "transfers": 0,
                "airline": "U2",
                "gate": "Clickavia",
                "duration_min": 255
            },
            {
                "date": "2026-12-03",
                "price_usd": 66,
                "transfers": 0,
                "airline": "FR",
                "gate": "Biletix",
                "duration_min": 190
            },
            {
                "date": "2026-12-05",
                "price_usd": 88,
                "transfers": 0,
                "airline": "EW",
                "gate": "Авиасейлс",
                "duration_min": 185
            },
            {
                "date": "2026-12-06",
                "price_usd": 67,
                "transfers": 1,
                "airline": "FR",
                "gate": "Clickavia",
                "duration_min": 270
            },
            {
                "date": "2026-12-07",
                "price_usd": 74,
                "transfers": 0,
                "airline": "FR",
                "gate": "Clickavia",
                "duration_min": 260
            },
            {
                "date": "2026-12-13",
                "price_usd": 32,
                "transfers": 0,
                "airline": "FR",
                "gate": "Авиасейлс",
                "duration_min": 190
            },
            {
                "date": "2026-12-14",
                "price_usd": 36,
                "transfers": 0,
                "airline": "U2",
                "gate": "EasyJet",
                "duration_min": 180
            },
            {
                "date": "2026-12-16",
                "price_usd": 57,
                "transfers": 1,
                "airline": "MW",
                "gate": "Tickets.kz",
                "duration_min": 255
            },
            {
                "date": "2026-12-20",
                "price_usd": 40,
                "transfers": 0,
                "airline": "FR",
                "gate": "E Bilet",
                "duration_min": 190
            },
            {
                "date": "2026-12-21",
                "price_usd": 37,
                "transfers": 0,
                "airline": "U2",
                "gate": "EasyJet",
                "duration_min": 180
            },
            {
                "date": "2026-12-23",
                "price_usd": 38,
                "transfers": 0,
                "airline": "FR",
                "gate": "Clickavia",
                "duration_min": 190
            },
            {
                "date": "2026-12-24",
                "price_usd": 38,
                "transfers": 0,
                "airline": "FR",
                "gate": "Clickavia",
                "duration_min": 190
            },
            {
                "date": "2026-12-25",
                "price_usd": 60,
                "transfers": 0,
                "airline": "U2",
                "gate": "EasyJet",
                "duration_min": 185
            },
            {
                "date": "2026-12-28",
                "price_usd": 99,
                "transfers": 0,
                "airline": "FR",
                "gate": "Flightnetwork",
                "duration_min": 285
            }
        ],
        "variants": [
            {
                "depart_date": "2026-12-13",
                "price_usd": 32,
                "airline": "FR",
                "flight_number": "2945",
                "departure_airport": "OPO",
                "arrival_airport": "BER",
                "departure_time": "19:30:00",
                "arrival_time": "22:40:00",
                "duration_min": 190,
                "transfers": 0,
                "gate": "Авиасейлс",
                "ticket_id": "4ecc95321856c63eb79ea6c10de5bf30"
            },
            {
                "depart_date": "2026-12-14",
                "price_usd": 36,
                "airline": "U2",
                "flight_number": "5378",
                "departure_airport": "OPO",
                "arrival_airport": "BER",
                "departure_time": "13:35:00",
                "arrival_time": "16:35:00",
                "duration_min": 180,
                "transfers": 0,
                "gate": "EasyJet",
                "ticket_id": "221092de5c2cede4cadb133d2a862ba1"
            },
            {
                "depart_date": "2026-12-21",
                "price_usd": 37,
                "airline": "U2",
                "flight_number": "5378",
                "departure_airport": "OPO",
                "arrival_airport": "BER",
                "departure_time": "13:35:00",
                "arrival_time": "16:35:00",
                "duration_min": 180,
                "transfers": 0,
                "gate": "EasyJet",
                "ticket_id": "0c0d78236e2b4de11ff4b5d69ad3f53e"
            },
            {
                "depart_date": "2026-12-24",
                "price_usd": 38,
                "airline": "FR",
                "flight_number": "2945",
                "departure_airport": "OPO",
                "arrival_airport": "BER",
                "departure_time": "11:40:00",
                "arrival_time": "14:50:00",
                "duration_min": 190,
                "transfers": 0,
                "gate": "Clickavia",
                "ticket_id": "c8cc8e9755455ac1e78918d4c1e214cd"
            },
            {
                "depart_date": "2026-12-23",
                "price_usd": 38,
                "airline": "FR",
                "flight_number": "2945",
                "departure_airport": "OPO",
                "arrival_airport": "BER",
                "departure_time": "09:05:00",
                "arrival_time": "12:15:00",
                "duration_min": 190,
                "transfers": 0,
                "gate": "Clickavia",
                "ticket_id": "fa68227bb5922f6f658ac183cd4845be"
            },
            {
                "depart_date": "2026-12-20",
                "price_usd": 40,
                "airline": "FR",
                "flight_number": "2945",
                "departure_airport": "OPO",
                "arrival_airport": "BER",
                "departure_time": "19:30:00",
                "arrival_time": "22:40:00",
                "duration_min": 190,
                "transfers": 0,
                "gate": "E Bilet",
                "ticket_id": "adfc80ebfe43cb35cdd5b9c29b3b2029"
            },
            {
                "depart_date": "2026-12-16",
                "price_usd": 57,
                "airline": "MW",
                "flight_number": "4041",
                "departure_airport": "OPO",
                "arrival_airport": "BER",
                "departure_time": "23:35:00",
                "arrival_time": "03:50:00",
                "duration_min": 255,
                "transfers": 1,
                "gate": "Tickets.kz",
                "ticket_id": "fa9364b0bdaa59f390338f52678c14e9"
            },
            {
                "depart_date": "2026-12-25",
                "price_usd": 60,
                "airline": "U2",
                "flight_number": "5378",
                "departure_airport": "OPO",
                "arrival_airport": "BER",
                "departure_time": "19:40:00",
                "arrival_time": "22:45:00",
                "duration_min": 185,
                "transfers": 0,
                "gate": "EasyJet",
                "ticket_id": "19129f53cd1d93a193066973289f8448"
            },
            {
                "depart_date": "2026-12-01",
                "price_usd": 61,
                "airline": "U2",
                "flight_number": "3882",
                "departure_airport": "OPO",
                "arrival_airport": "BER",
                "departure_time": "22:30:00",
                "arrival_time": "02:45:00",
                "duration_min": 255,
                "transfers": 1,
                "gate": "Clickavia",
                "ticket_id": "d10d11ab6025784ac687512db18c28d5"
            },
            {
                "depart_date": "2026-12-03",
                "price_usd": 66,
                "airline": "FR",
                "flight_number": "2945",
                "departure_airport": "OPO",
                "arrival_airport": "BER",
                "departure_time": "11:40:00",
                "arrival_time": "14:50:00",
                "duration_min": 190,
                "transfers": 0,
                "gate": "Biletix",
                "ticket_id": "70c4be91beea9ea3a31f4397e980db6f"
            },
            {
                "depart_date": "2026-12-06",
                "price_usd": 67,
                "airline": "FR",
                "flight_number": "4546",
                "departure_airport": "OPO",
                "arrival_airport": "BER",
                "departure_time": "01:05:00",
                "arrival_time": "05:35:00",
                "duration_min": 270,
                "transfers": 1,
                "gate": "Clickavia",
                "ticket_id": "c94dfb339d2b2fbe9545fc5e0b00385f"
            },
            {
                "depart_date": "2026-11-17",
                "price_usd": 70,
                "airline": "U2",
                "flight_number": "3882",
                "departure_airport": "OPO",
                "arrival_airport": "BER",
                "departure_time": "22:30:00",
                "arrival_time": "02:45:00",
                "duration_min": 255,
                "transfers": 1,
                "gate": "Tickets",
                "ticket_id": "b1069b2372994703c2eb474256c4f77f"
            },
            {
                "depart_date": "2026-11-23",
                "price_usd": 72,
                "airline": "W4",
                "flight_number": "6336",
                "departure_airport": "OPO",
                "arrival_airport": "BER",
                "departure_time": "22:55:00",
                "arrival_time": "03:10:00",
                "duration_min": 255,
                "transfers": 1,
                "gate": "Tickets.kz",
                "ticket_id": "e12586b9eae8fecf4c988ea2c4551378"
            },
            {
                "depart_date": "2026-12-07",
                "price_usd": 74,
                "airline": "FR",
                "flight_number": "4586",
                "departure_airport": "OPO",
                "arrival_airport": "BER",
                "departure_time": "09:30:00",
                "arrival_time": "13:50:00",
                "duration_min": 260,
                "transfers": 1,
                "gate": "Clickavia",
                "ticket_id": "67a48ac06091aa83920d636160caf95c"
            },
            {
                "depart_date": "2026-11-30",
                "price_usd": 80,
                "airline": "W4",
                "flight_number": "6336",
                "departure_airport": "OPO",
                "arrival_airport": "BER",
                "departure_time": "22:55:00",
                "arrival_time": "03:10:00",
                "duration_min": 255,
                "transfers": 1,
                "gate": "Trip.com",
                "ticket_id": "bf372bc31807bf3e865a54d53f0c1dc8"
            },
            {
                "depart_date": "2026-12-01",
                "price_usd": 80,
                "airline": "EW",
                "flight_number": "8601",
                "departure_airport": "OPO",
                "arrival_airport": "BER",
                "departure_time": "13:15:00",
                "arrival_time": "16:20:00",
                "duration_min": 185,
                "transfers": 0,
                "gate": "Kiwi.com",
                "ticket_id": "013dddf2c3da96acd3157ad9972637ee"
            },
            {
                "depart_date": "2026-11-21",
                "price_usd": 81,
                "airline": "FR",
                "flight_number": "4017",
                "departure_airport": "OPO",
                "arrival_airport": "BER",
                "departure_time": "18:30:00",
                "arrival_time": "22:40:00",
                "duration_min": 250,
                "transfers": 1,
                "gate": "Kiwi.com",
                "ticket_id": "b1126f2df8f2f26943a2dade0908fd1e"
            },
            {
                "depart_date": "2026-12-05",
                "price_usd": 88,
                "airline": "EW",
                "flight_number": "8601",
                "departure_airport": "OPO",
                "arrival_airport": "BER",
                "departure_time": "21:30:00",
                "arrival_time": "00:35:00",
                "duration_min": 185,
                "transfers": 0,
                "gate": "Авиасейлс",
                "ticket_id": "972d42b8606caf56e8fa056fead4a051"
            },
            {
                "depart_date": "2026-11-28",
                "price_usd": 90,
                "airline": "FR",
                "flight_number": "4017",
                "departure_airport": "OPO",
                "arrival_airport": "BER",
                "departure_time": "18:30:00",
                "arrival_time": "22:45:00",
                "duration_min": 255,
                "transfers": 1,
                "gate": "Kiwi.com",
                "ticket_id": "5e12671291b83d841aaabcc08c5cdec0"
            },
            {
                "depart_date": "2026-11-29",
                "price_usd": 91,
                "airline": "FR",
                "flight_number": "2945",
                "departure_airport": "OPO",
                "arrival_airport": "BER",
                "departure_time": "19:30:00",
                "arrival_time": "22:40:00",
                "duration_min": 190,
                "transfers": 0,
                "gate": "E Bilet",
                "ticket_id": "db81e8607b47f477c978722962c718f4"
            },
            {
                "depart_date": "2026-11-21",
                "price_usd": 92,
                "airline": "EW",
                "flight_number": "8601",
                "departure_airport": "OPO",
                "arrival_airport": "BER",
                "departure_time": "21:30:00",
                "arrival_time": "00:35:00",
                "duration_min": 185,
                "transfers": 0,
                "gate": "E Bilet",
                "ticket_id": "3e9058c9284baf1834164cc49e1cc514"
            },
            {
                "depart_date": "2026-11-19",
                "price_usd": 93,
                "airline": "FR",
                "flight_number": "2945",
                "departure_airport": "OPO",
                "arrival_airport": "BER",
                "departure_time": "11:40:00",
                "arrival_time": "14:50:00",
                "duration_min": 190,
                "transfers": 0,
                "gate": "Kiwi.com",
                "ticket_id": "b0908f4f7373a5bd11eddce17c8a6d4d"
            },
            {
                "depart_date": "2026-11-17",
                "price_usd": 96,
                "airline": "EW",
                "flight_number": "8601",
                "departure_airport": "OPO",
                "arrival_airport": "BER",
                "departure_time": "13:15:00",
                "arrival_time": "16:20:00",
                "duration_min": 185,
                "transfers": 0,
                "gate": "Kiwi.com",
                "ticket_id": "cc1b8da5b3651c6af3cc652edda6cddb"
            },
            {
                "depart_date": "2026-11-13",
                "price_usd": 97,
                "airline": "W4",
                "flight_number": "6336",
                "departure_airport": "OPO",
                "arrival_airport": "BER",
                "departure_time": "22:40:00",
                "arrival_time": "02:50:00",
                "duration_min": 250,
                "transfers": 1,
                "gate": "Kiwi.com",
                "ticket_id": "bbc49abdce9db7672fb2a98cf48fe7a8"
            },
            {
                "depart_date": "2026-12-28",
                "price_usd": 99,
                "airline": "FR",
                "flight_number": "8275",
                "departure_airport": "OPO",
                "arrival_airport": "BER",
                "departure_time": "12:00:00",
                "arrival_time": "16:45:00",
                "duration_min": 285,
                "transfers": 1,
                "gate": "Flightnetwork",
                "ticket_id": "a35f7887ae227477bc903acf69ab20e8"
            },
            {
                "depart_date": "2026-11-17",
                "price_usd": 99,
                "airline": "FR",
                "flight_number": "7699",
                "departure_airport": "OPO",
                "arrival_airport": "BER",
                "departure_time": "01:25:00",
                "arrival_time": "05:45:00",
                "duration_min": 260,
                "transfers": 1,
                "gate": "Kiwi.com",
                "ticket_id": "5fb6e8620809b884c5bde870649f3958"
            },
            {
                "depart_date": "2026-11-23",
                "price_usd": 103,
                "airline": "EC",
                "flight_number": "5378",
                "departure_airport": "OPO",
                "arrival_airport": "BER",
                "departure_time": "13:30:00",
                "arrival_time": "16:30:00",
                "duration_min": 180,
                "transfers": 0,
                "gate": "EasyJet",
                "ticket_id": "b6a0d28639b5d1919f578b25efd25845"
            },
            {
                "depart_date": "2026-11-30",
                "price_usd": 106,
                "airline": "EC",
                "flight_number": "5378",
                "departure_airport": "OPO",
                "arrival_airport": "BER",
                "departure_time": "13:30:00",
                "arrival_time": "16:30:00",
                "duration_min": 180,
                "transfers": 0,
                "gate": "E Bilet",
                "ticket_id": "79588729c8caaab5b0148003788ef7eb"
            },
            {
                "depart_date": "2026-11-22",
                "price_usd": 113,
                "airline": "TP",
                "flight_number": "1937",
                "departure_airport": "OPO",
                "arrival_airport": "BER",
                "departure_time": "08:00:00",
                "arrival_time": "12:40:00",
                "duration_min": 280,
                "transfers": 1,
                "gate": "Kiwi.com",
                "ticket_id": "6577d0a0676c6a61c884fe8fbc72b3cb"
            },
            {
                "depart_date": "2026-11-16",
                "price_usd": 113,
                "airline": "U2",
                "flight_number": "5378",
                "departure_airport": "OPO",
                "arrival_airport": "BER",
                "departure_time": "13:30:00",
                "arrival_time": "16:30:00",
                "duration_min": 180,
                "transfers": 0,
                "gate": "Trip.com",
                "ticket_id": "e5a9498632178d203e8a764b53f73558"
            }
        ],
        "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": 32
            },
            {
                "iata": "U2",
                "name": "easyJet",
                "logo_url": "https://img.wway.io/pics/root/U2@png?exar=1&rs=fit:80:80",
                "is_lowcost": true,
                "routes_count": 996,
                "min_price_usd": 36
            },
            {
                "iata": "MW",
                "name": "Malta Air",
                "logo_url": "https://img.wway.io/pics/root/MW@png?exar=1&rs=fit:80:80",
                "is_lowcost": true,
                "routes_count": 14,
                "min_price_usd": 57
            },
            {
                "iata": "W4",
                "name": "Wizz Air Malta",
                "logo_url": "https://img.wway.io/pics/root/W4@png?exar=1&rs=fit:80:80",
                "is_lowcost": true,
                "routes_count": 14,
                "min_price_usd": 72
            },
            {
                "iata": "EW",
                "name": "Eurowings",
                "logo_url": "https://img.wway.io/pics/root/EW@png?exar=1&rs=fit:80:80",
                "is_lowcost": true,
                "routes_count": 0,
                "min_price_usd": 80
            },
            {
                "iata": "EC",
                "name": "easyJet",
                "logo_url": "https://img.wway.io/pics/root/EC@png?exar=1&rs=fit:80:80",
                "is_lowcost": true,
                "routes_count": 2,
                "min_price_usd": 103
            },
            {
                "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": 113
            },
            {
                "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": 142
            }
        ],
        "agencies": [
            {
                "name": "Авиасейлс",
                "min_price_usd": 32,
                "tickets_count": 7
            },
            {
                "name": "EasyJet",
                "min_price_usd": 36,
                "tickets_count": 5
            },
            {
                "name": "Clickavia",
                "min_price_usd": 38,
                "tickets_count": 11
            },
            {
                "name": "E Bilet",
                "min_price_usd": 40,
                "tickets_count": 6
            },
            {
                "name": "Tickets.kz",
                "min_price_usd": 57,
                "tickets_count": 2
            },
            {
                "name": "Biletix",
                "min_price_usd": 66,
                "tickets_count": 1
            },
            {
                "name": "Tickets",
                "min_price_usd": 70,
                "tickets_count": 1
            },
            {
                "name": "Kiwi.com",
                "min_price_usd": 80,
                "tickets_count": 15
            },
            {
                "name": "Trip.com",
                "min_price_usd": 80,
                "tickets_count": 3
            },
            {
                "name": "Flightnetwork",
                "min_price_usd": 99,
                "tickets_count": 1
            },
            {
                "name": "Aviakassa",
                "min_price_usd": 142,
                "tickets_count": 1
            },
            {
                "name": "City.Travel",
                "min_price_usd": 153,
                "tickets_count": 3
            },
            {
                "name": "Lucky2Go",
                "min_price_usd": 174,
                "tickets_count": 1
            },
            {
                "name": "Farera",
                "min_price_usd": 236,
                "tickets_count": 1
            }
        ],
        "airports": {
            "departure": [
                {
                    "iata": "OPO",
                    "name": "Porto Airport",
                    "iata_type": "airport",
                    "time_zone": "Europe/Lisbon"
                }
            ],
            "arrival": [
                {
                    "iata": "BER",
                    "name": "Brandenburg",
                    "iata_type": "airport",
                    "time_zone": "Europe/Berlin"
                }
            ]
        },
        "html_url": "https://cityvator.com/en/opo-ber/",
        "api_urls": {
            "self": "https://cityvator.com/api/routes/opo-ber",
            "qa": "https://cityvator.com/api/qa/route/opo-ber",
            "compare": "https://cityvator.com/api/compare/opo-ber-vs-"
        },
        "updated_at": "2026-10-20 06:34:56"
    },
    "meta": {
        "lang": "en",
        "currency": "USD",
        "requested_at": "2026-11-13T11:01:27+03:00",
        "powered_by": "Cityvator",
        "source": "https://cityvator.com",
        "license": "CC-BY-4.0",
        "attribution": "Data source: Cityvator (https://cityvator.com)"
    }
}