{
    "success": true,
    "data": {
        "route": {
            "origin": {
                "iata": "OPO",
                "name": "Porto",
                "country_code": "PT",
                "country_name": "Portugal",
                "is_hub": false
            },
            "destination": {
                "iata": "DUS",
                "name": "Dusseldorf",
                "country_code": "DE",
                "country_name": "Germany",
                "is_hub": true
            },
            "slug": "opo-dus"
        },
        "parameters": {
            "agencies": [
                "Biletix",
                "City.Travel",
                "Clickavia",
                "Farera",
                "Kiwi.com",
                "Mytrip.com",
                "Trip.com",
                "Авиасейлс"
            ],
            "agencies_count": 8,
            "airlines": [
                "EW",
                "FR",
                "MW",
                "U2"
            ],
            "airlines_count": 4,
            "airports_arrival": 2,
            "airports_arrival_list": [
                "DUS",
                "NRN"
            ],
            "airports_departure": 1,
            "airports_departure_list": [
                "OPO"
            ],
            "avg_duration_min": 177,
            "avg_price": 119.5435,
            "avg_transfers": 0.19,
            "cheapest_agency": "Biletix",
            "cheapest_month": 12,
            "cheapest_weekday": 2,
            "departures_per_week": 2,
            "direct_airlines_list": [
                "EW",
                "FR",
                "MW"
            ],
            "direct_flights_count": 22,
            "direct_share": 81.48,
            "distance_km": 1625,
            "eco_score": 8.8,
            "flight_time_min": 145,
            "flights_found": 27,
            "has_direct": true,
            "max_duration_min": 340,
            "max_price": 408,
            "min_duration_min": 150,
            "min_price": 20,
            "min_price_1stop": 66,
            "min_price_direct": 20,
            "months_with_flights": [
                10,
                11,
                12
            ],
            "popularity_score": 1.4,
            "seasonality": 1,
            "time_diff_hours": 1
        },
        "calendar": [
            {
                "date": "2026-11-14",
                "price_usd": 71,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-15",
                "price_usd": 71,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-16",
                "price_usd": 71,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-18",
                "price_usd": 71,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-19",
                "price_usd": 53,
                "transfers": 0,
                "airline": "EW",
                "gate": "Farera",
                "duration_min": 150
            },
            {
                "date": "2026-11-21",
                "price_usd": 76,
                "transfers": 1,
                "airline": "FR",
                "gate": "Mytrip.com",
                "duration_min": 340
            },
            {
                "date": "2026-11-22",
                "price_usd": 56,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-23",
                "price_usd": 36,
                "transfers": 0,
                "airline": "FR",
                "gate": "Kiwi.com",
                "duration_min": 160
            },
            {
                "date": "2026-11-24",
                "price_usd": 43,
                "transfers": 0,
                "airline": "FR",
                "gate": "Kiwi.com",
                "duration_min": 160
            },
            {
                "date": "2026-11-25",
                "price_usd": 69,
                "transfers": 1,
                "airline": "U2",
                "gate": "Trip.com",
                "duration_min": 250
            },
            {
                "date": "2026-11-26",
                "price_usd": 66,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-27",
                "price_usd": 62,
                "transfers": 0,
                "airline": "FR",
                "gate": "Kiwi.com",
                "duration_min": 160
            },
            {
                "date": "2026-11-28",
                "price_usd": 46,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-29",
                "price_usd": 30,
                "transfers": 0,
                "airline": "FR",
                "gate": "Kiwi.com",
                "duration_min": 160
            },
            {
                "date": "2026-11-30",
                "price_usd": 39,
                "transfers": 0,
                "airline": "FR",
                "gate": "Biletix",
                "duration_min": 160
            },
            {
                "date": "2026-12-14",
                "price_usd": 20,
                "transfers": 0,
                "airline": "FR",
                "gate": "Biletix",
                "duration_min": 160
            },
            {
                "date": "2026-12-16",
                "price_usd": 66,
                "transfers": 1,
                "airline": "U2",
                "gate": "Clickavia",
                "duration_min": 250
            },
            {
                "date": "2026-12-17",
                "price_usd": 48,
                "transfers": 0,
                "airline": "EW",
                "gate": "Kiwi.com",
                "duration_min": 150
            },
            {
                "date": "2026-12-18",
                "price_usd": 33,
                "transfers": 0,
                "airline": "FR",
                "gate": "Kiwi.com",
                "duration_min": 160
            },
            {
                "date": "2026-12-19",
                "price_usd": 41,
                "transfers": 0,
                "airline": "FR",
                "gate": "Kiwi.com",
                "duration_min": 160
            },
            {
                "date": "2026-12-20",
                "price_usd": 34,
                "transfers": 0,
                "airline": "FR",
                "gate": "Kiwi.com",
                "duration_min": 160
            }
        ],
        "variants": [
            {
                "depart_date": "2026-12-14",
                "price_usd": 20,
                "airline": "FR",
                "flight_number": "5488",
                "departure_airport": "OPO",
                "arrival_airport": "NRN",
                "departure_time": "11:25:00",
                "arrival_time": "14:05:00",
                "duration_min": 160,
                "transfers": 0,
                "gate": "Biletix",
                "ticket_id": "cfa94a9d629d7f98f275347234df3719"
            },
            {
                "depart_date": "2026-11-29",
                "price_usd": 30,
                "airline": "FR",
                "flight_number": "5488",
                "departure_airport": "OPO",
                "arrival_airport": "NRN",
                "departure_time": "12:20:00",
                "arrival_time": "15:00:00",
                "duration_min": 160,
                "transfers": 0,
                "gate": "Kiwi.com",
                "ticket_id": "dbcbde0821028db222a96e63d92449fc"
            },
            {
                "depart_date": "2026-12-18",
                "price_usd": 33,
                "airline": "FR",
                "flight_number": "5488",
                "departure_airport": "OPO",
                "arrival_airport": "NRN",
                "departure_time": "11:10:00",
                "arrival_time": "13:50:00",
                "duration_min": 160,
                "transfers": 0,
                "gate": "Kiwi.com",
                "ticket_id": "d2694865817160ce2f638327c401db0e"
            },
            {
                "depart_date": "2026-12-20",
                "price_usd": 34,
                "airline": "FR",
                "flight_number": "5488",
                "departure_airport": "OPO",
                "arrival_airport": "NRN",
                "departure_time": "12:20:00",
                "arrival_time": "15:00:00",
                "duration_min": 160,
                "transfers": 0,
                "gate": "Kiwi.com",
                "ticket_id": "f45483ff036a0858b9292e59e5ac4343"
            },
            {
                "depart_date": "2026-11-23",
                "price_usd": 36,
                "airline": "FR",
                "flight_number": "5488",
                "departure_airport": "OPO",
                "arrival_airport": "NRN",
                "departure_time": "11:25:00",
                "arrival_time": "14:05:00",
                "duration_min": 160,
                "transfers": 0,
                "gate": "Kiwi.com",
                "ticket_id": "9a0fffc6e01f3b32dcdc34cc40e9c085"
            },
            {
                "depart_date": "2026-11-30",
                "price_usd": 39,
                "airline": "FR",
                "flight_number": "5488",
                "departure_airport": "OPO",
                "arrival_airport": "NRN",
                "departure_time": "11:25:00",
                "arrival_time": "14:05:00",
                "duration_min": 160,
                "transfers": 0,
                "gate": "Biletix",
                "ticket_id": "dd65d374a664974008b445a4aa3a8434"
            },
            {
                "depart_date": "2026-12-19",
                "price_usd": 41,
                "airline": "FR",
                "flight_number": "5488",
                "departure_airport": "OPO",
                "arrival_airport": "NRN",
                "departure_time": "11:05:00",
                "arrival_time": "13:45:00",
                "duration_min": 160,
                "transfers": 0,
                "gate": "Kiwi.com",
                "ticket_id": "7648cdd4c5f563b4d3f02940fb766973"
            },
            {
                "depart_date": "2026-11-24",
                "price_usd": 43,
                "airline": "FR",
                "flight_number": "5488",
                "departure_airport": "OPO",
                "arrival_airport": "NRN",
                "departure_time": "12:45:00",
                "arrival_time": "15:25:00",
                "duration_min": 160,
                "transfers": 0,
                "gate": "Kiwi.com",
                "ticket_id": "dc00b483ada57d85c537ddb747819175"
            },
            {
                "depart_date": "2026-12-17",
                "price_usd": 48,
                "airline": "EW",
                "flight_number": "9641",
                "departure_airport": "OPO",
                "arrival_airport": "DUS",
                "departure_time": "17:40:00",
                "arrival_time": "20:10:00",
                "duration_min": 150,
                "transfers": 0,
                "gate": "Kiwi.com",
                "ticket_id": "a5ef16b8a6c6ee943bb09485d3fabdca"
            },
            {
                "depart_date": "2026-11-19",
                "price_usd": 53,
                "airline": "EW",
                "flight_number": "9641",
                "departure_airport": "OPO",
                "arrival_airport": "DUS",
                "departure_time": "17:40:00",
                "arrival_time": "20:10:00",
                "duration_min": 150,
                "transfers": 0,
                "gate": "Farera",
                "ticket_id": "616ce3fc66be8ffc9fffd1da72a967ce"
            },
            {
                "depart_date": "2026-11-27",
                "price_usd": 62,
                "airline": "FR",
                "flight_number": "5488",
                "departure_airport": "OPO",
                "arrival_airport": "NRN",
                "departure_time": "11:10:00",
                "arrival_time": "13:50:00",
                "duration_min": 160,
                "transfers": 0,
                "gate": "Kiwi.com",
                "ticket_id": "44feecdf9bc2ac270f682dfcd2fa5e96"
            },
            {
                "depart_date": "2026-12-16",
                "price_usd": 66,
                "airline": "U2",
                "flight_number": "5448",
                "departure_airport": "OPO",
                "arrival_airport": "DUS",
                "departure_time": "16:50:00",
                "arrival_time": "21:00:00",
                "duration_min": 250,
                "transfers": 1,
                "gate": "Clickavia",
                "ticket_id": "17a86c3fe5f2e26f2a4f6f9249e66f28"
            },
            {
                "depart_date": "2026-11-25",
                "price_usd": 69,
                "airline": "U2",
                "flight_number": "5448",
                "departure_airport": "OPO",
                "arrival_airport": "DUS",
                "departure_time": "16:50:00",
                "arrival_time": "21:00:00",
                "duration_min": 250,
                "transfers": 1,
                "gate": "Trip.com",
                "ticket_id": "0ec91b0af3d34c499d0e640ef7cd0d2e"
            },
            {
                "depart_date": "2026-11-21",
                "price_usd": 76,
                "airline": "FR",
                "flight_number": "5465",
                "departure_airport": "OPO",
                "arrival_airport": "NRN",
                "departure_time": "17:30:00",
                "arrival_time": "23:10:00",
                "duration_min": 340,
                "transfers": 1,
                "gate": "Mytrip.com",
                "ticket_id": "d7e13cd262a75802be78eb7b661a25be"
            }
        ],
        "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": 20
            },
            {
                "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": 48
            },
            {
                "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": 66
            },
            {
                "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": 302
            }
        ],
        "agencies": [
            {
                "name": "Biletix",
                "min_price_usd": 20,
                "tickets_count": 3
            },
            {
                "name": "Kiwi.com",
                "min_price_usd": 30,
                "tickets_count": 11
            },
            {
                "name": "Farera",
                "min_price_usd": 53,
                "tickets_count": 1
            },
            {
                "name": "Clickavia",
                "min_price_usd": 66,
                "tickets_count": 6
            },
            {
                "name": "Trip.com",
                "min_price_usd": 69,
                "tickets_count": 1
            },
            {
                "name": "Mytrip.com",
                "min_price_usd": 76,
                "tickets_count": 1
            },
            {
                "name": "City.Travel",
                "min_price_usd": 89,
                "tickets_count": 3
            },
            {
                "name": "Авиасейлс",
                "min_price_usd": 196,
                "tickets_count": 1
            }
        ],
        "airports": {
            "departure": [
                {
                    "iata": "OPO",
                    "name": "Porto Airport",
                    "iata_type": "airport",
                    "time_zone": "Europe/Lisbon"
                }
            ],
            "arrival": [
                {
                    "iata": "DUS",
                    "name": "Dusseldorf International Airport",
                    "iata_type": "airport",
                    "time_zone": "Europe/Berlin"
                },
                {
                    "iata": "NRN",
                    "name": "Weeze Airport",
                    "iata_type": "airport",
                    "time_zone": "Europe/Berlin"
                }
            ]
        },
        "html_url": "https://cityvator.com/en/opo-dus/",
        "api_urls": {
            "self": "https://cityvator.com/api/routes/opo-dus",
            "qa": "https://cityvator.com/api/qa/route/opo-dus",
            "compare": "https://cityvator.com/api/compare/opo-dus-vs-"
        },
        "updated_at": "2026-10-15 22:40:02"
    },
    "meta": {
        "lang": "en",
        "currency": "USD",
        "requested_at": "2026-11-13T08:24:29+03:00",
        "powered_by": "Cityvator",
        "source": "https://cityvator.com",
        "license": "CC-BY-4.0",
        "attribution": "Data source: Cityvator (https://cityvator.com)"
    }
}