{
    "success": true,
    "data": {
        "route": {
            "origin": {
                "iata": "OPO",
                "name": "Porto",
                "country_code": "PT",
                "country_name": "Portugal",
                "is_hub": false
            },
            "destination": {
                "iata": "CPH",
                "name": "Copenhagen",
                "country_code": "DK",
                "country_name": "Denmark",
                "is_hub": true
            },
            "slug": "opo-cph"
        },
        "parameters": {
            "agencies": [
                "City.Travel",
                "Clickavia",
                "Kupi.com",
                "Авиасейлс"
            ],
            "agencies_count": 4,
            "airlines": [
                "FR",
                "SK",
                "SZS",
                "U2",
                "W6"
            ],
            "airlines_count": 5,
            "airports_arrival": 1,
            "airports_arrival_list": [
                "CPH"
            ],
            "airports_departure": 1,
            "airports_departure_list": [
                "OPO"
            ],
            "avg_duration_min": 242,
            "avg_price": 125,
            "avg_transfers": 0.5,
            "cheapest_agency": "Clickavia",
            "cheapest_month": 12,
            "cheapest_weekday": 4,
            "departures_per_week": 1,
            "direct_airlines_list": [
                "FR",
                "SK",
                "SZS"
            ],
            "direct_flights_count": 6,
            "direct_share": 60,
            "distance_km": 2230,
            "eco_score": 7.9,
            "flight_time_min": 187,
            "flights_found": 10,
            "has_direct": true,
            "max_duration_min": 370,
            "max_price": 235,
            "min_duration_min": 200,
            "min_price": 36,
            "min_price_1stop": 55,
            "min_price_direct": 36,
            "months_with_flights": [
                1,
                11,
                12
            ],
            "popularity_score": 0.5,
            "seasonality": 1,
            "time_diff_hours": 1
        },
        "calendar": [
            {
                "date": "2026-11-14",
                "price_usd": 159,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-15",
                "price_usd": 159,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-18",
                "price_usd": 159,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-19",
                "price_usd": 159,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-21",
                "price_usd": 159,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-22",
                "price_usd": 159,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-25",
                "price_usd": 159,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-26",
                "price_usd": 159,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-28",
                "price_usd": 159,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-29",
                "price_usd": 159,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-30",
                "price_usd": 83,
                "transfers": 0,
                "airline": "FR",
                "gate": "City.Travel",
                "duration_min": 200
            },
            {
                "date": "2026-12-11",
                "price_usd": 73,
                "transfers": 0,
                "airline": "FR",
                "gate": "Clickavia",
                "duration_min": 310
            },
            {
                "date": "2026-12-12",
                "price_usd": 54,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-13",
                "price_usd": 54,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-14",
                "price_usd": 36,
                "transfers": 0,
                "airline": "FR",
                "gate": "Clickavia",
                "duration_min": 200
            },
            {
                "date": "2026-12-16",
                "price_usd": 55,
                "transfers": 1,
                "airline": "FR",
                "gate": "Clickavia",
                "duration_min": 285
            },
            {
                "date": "2026-12-17",
                "price_usd": 42,
                "transfers": 0,
                "airline": "FR",
                "gate": "Clickavia",
                "duration_min": 200
            },
            {
                "date": "2027-01-08",
                "price_usd": 85,
                "transfers": 0,
                "airline": "U2",
                "gate": "Clickavia",
                "duration_min": 250
            }
        ],
        "variants": [
            {
                "depart_date": "2026-12-14",
                "price_usd": 36,
                "airline": "FR",
                "flight_number": "8898",
                "departure_airport": "OPO",
                "arrival_airport": "CPH",
                "departure_time": "22:55:00",
                "arrival_time": "02:15:00",
                "duration_min": 200,
                "transfers": 0,
                "gate": "Clickavia",
                "ticket_id": "b3d7af4119658d012e40059dd854dd14"
            },
            {
                "depart_date": "2026-12-17",
                "price_usd": 42,
                "airline": "FR",
                "flight_number": "8898",
                "departure_airport": "OPO",
                "arrival_airport": "CPH",
                "departure_time": "12:00:00",
                "arrival_time": "15:20:00",
                "duration_min": 200,
                "transfers": 0,
                "gate": "Clickavia",
                "ticket_id": "c783fa078b27d52efd40026c771ac7dd"
            },
            {
                "depart_date": "2026-12-16",
                "price_usd": 55,
                "airline": "FR",
                "flight_number": "4041",
                "departure_airport": "OPO",
                "arrival_airport": "CPH",
                "departure_time": "23:35:00",
                "arrival_time": "04:20:00",
                "duration_min": 285,
                "transfers": 1,
                "gate": "Clickavia",
                "ticket_id": "f4bf17c4f21c737d00f6ea448bc62d11"
            },
            {
                "depart_date": "2026-12-11",
                "price_usd": 73,
                "airline": "FR",
                "flight_number": "5047",
                "departure_airport": "OPO",
                "arrival_airport": "CPH",
                "departure_time": "16:25:00",
                "arrival_time": "21:35:00",
                "duration_min": 310,
                "transfers": 1,
                "gate": "Clickavia",
                "ticket_id": "6ecfba37058d3af3dc66e29bf775c215"
            },
            {
                "depart_date": "2026-11-30",
                "price_usd": 83,
                "airline": "FR",
                "flight_number": "8898",
                "departure_airport": "OPO",
                "arrival_airport": "CPH",
                "departure_time": "22:55:00",
                "arrival_time": "02:15:00",
                "duration_min": 200,
                "transfers": 0,
                "gate": "City.Travel",
                "ticket_id": "079fad18832308775dafde0c4aa641fb"
            },
            {
                "depart_date": "2027-01-08",
                "price_usd": 85,
                "airline": "U2",
                "flight_number": "2458",
                "departure_airport": "OPO",
                "arrival_airport": "CPH",
                "departure_time": "23:30:00",
                "arrival_time": "03:40:00",
                "duration_min": 250,
                "transfers": 1,
                "gate": "Clickavia",
                "ticket_id": "3b166ba6b03de55eba816fcc858b9922"
            },
            {
                "depart_date": "2026-12-11",
                "price_usd": 92,
                "airline": "SK",
                "flight_number": "2774",
                "departure_airport": "OPO",
                "arrival_airport": "CPH",
                "departure_time": "20:45:00",
                "arrival_time": "00:05:00",
                "duration_min": 200,
                "transfers": 0,
                "gate": "Clickavia",
                "ticket_id": "35365721119d7c773eea8361c10a4185"
            },
            {
                "depart_date": "2027-01-08",
                "price_usd": 147,
                "airline": "SZS",
                "flight_number": "2774",
                "departure_airport": "OPO",
                "arrival_airport": "CPH",
                "departure_time": "20:45:00",
                "arrival_time": "00:05:00",
                "duration_min": 200,
                "transfers": 0,
                "gate": "Clickavia",
                "ticket_id": "49a366498aab08361b1e8f7c37635bbf"
            }
        ],
        "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": 36
            },
            {
                "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": 85
            },
            {
                "iata": "SK",
                "name": "SAS Scandinavian",
                "logo_url": "https://img.wway.io/pics/root/SK@png?exar=1&rs=fit:80:80",
                "is_lowcost": false,
                "routes_count": 493,
                "min_price_usd": 92
            },
            {
                "iata": "W6",
                "name": "Wizz Air",
                "logo_url": "https://img.wway.io/pics/root/W6@png?exar=1&rs=fit:80:80",
                "is_lowcost": true,
                "routes_count": 386,
                "min_price_usd": 235
            }
        ],
        "agencies": [
            {
                "name": "Clickavia",
                "min_price_usd": 36,
                "tickets_count": 7
            },
            {
                "name": "City.Travel",
                "min_price_usd": 83,
                "tickets_count": 1
            },
            {
                "name": "Kupi.com",
                "min_price_usd": 235,
                "tickets_count": 1
            },
            {
                "name": "Авиасейлс",
                "min_price_usd": 380,
                "tickets_count": 1
            }
        ],
        "airports": {
            "departure": [
                {
                    "iata": "OPO",
                    "name": "Porto Airport",
                    "iata_type": "airport",
                    "time_zone": "Europe/Lisbon"
                }
            ],
            "arrival": [
                {
                    "iata": "CPH",
                    "name": "Copenhagen Airport",
                    "iata_type": "airport",
                    "time_zone": "Europe/Copenhagen"
                }
            ]
        },
        "html_url": "https://cityvator.com/en/opo-cph/",
        "api_urls": {
            "self": "https://cityvator.com/api/routes/opo-cph",
            "qa": "https://cityvator.com/api/qa/route/opo-cph",
            "compare": "https://cityvator.com/api/compare/opo-cph-vs-"
        },
        "updated_at": "2026-11-09 08:04:10"
    },
    "meta": {
        "lang": "en",
        "currency": "USD",
        "requested_at": "2026-11-13T01:00:42+03:00",
        "powered_by": "Cityvator",
        "source": "https://cityvator.com",
        "license": "CC-BY-4.0",
        "attribution": "Data source: Cityvator (https://cityvator.com)"
    }
}