{
    "success": true,
    "data": {
        "route": {
            "origin": {
                "iata": "STR",
                "name": "Stuttgart",
                "country_code": "DE",
                "country_name": "Germany",
                "is_hub": false
            },
            "destination": {
                "iata": "OPO",
                "name": "Porto",
                "country_code": "PT",
                "country_name": "Portugal",
                "is_hub": false
            },
            "slug": "str-opo"
        },
        "parameters": {
            "agencies": [
                "Kiwi.com",
                "Kupi.com",
                "Lucky2Go",
                "Tickets",
                "Trip.com"
            ],
            "agencies_count": 5,
            "airlines": [
                "EW",
                "W4",
                "X3"
            ],
            "airlines_count": 3,
            "airports_arrival": 1,
            "airports_arrival_list": [
                "OPO"
            ],
            "airports_departure": 1,
            "airports_departure_list": [
                "STR"
            ],
            "avg_duration_min": 286,
            "avg_price": 148.125,
            "avg_transfers": 1.38,
            "cheapest_agency": "Kiwi.com",
            "cheapest_month": 10,
            "cheapest_weekday": 4,
            "departures_per_week": 1,
            "direct_airlines_list": [
                "EW"
            ],
            "direct_flights_count": 1,
            "direct_share": 12.5,
            "distance_km": 1631,
            "eco_score": 6.4,
            "flight_time_min": 145,
            "flights_found": 8,
            "has_direct": true,
            "max_duration_min": 425,
            "max_price": 257,
            "min_duration_min": 170,
            "min_price": 46,
            "min_price_1stop": 92,
            "min_price_direct": 46,
            "months_with_flights": [
                10,
                11,
                12
            ],
            "popularity_score": 0.4,
            "seasonality": 1,
            "time_diff_hours": -1
        },
        "calendar": [
            {
                "date": "2026-11-11",
                "price_usd": 92,
                "transfers": 1,
                "airline": "EW",
                "gate": "Kiwi.com",
                "duration_min": 255
            },
            {
                "date": "2026-12-04",
                "price_usd": 93,
                "transfers": 1,
                "airline": "EW",
                "gate": "Kupi.com",
                "duration_min": 205
            },
            {
                "date": "2026-12-07",
                "price_usd": 139,
                "transfers": 1,
                "airline": "EW",
                "gate": "Trip.com",
                "duration_min": 225
            },
            {
                "date": "2026-12-19",
                "price_usd": 182,
                "transfers": 2,
                "airline": "EW",
                "gate": "Tickets",
                "duration_min": 290
            },
            {
                "date": "2026-12-21",
                "price_usd": 159,
                "transfers": 2,
                "airline": "W4",
                "gate": "Tickets",
                "duration_min": 425
            },
            {
                "date": "2026-12-22",
                "price_usd": 217,
                "transfers": 1,
                "airline": "X3",
                "gate": "Lucky2Go",
                "duration_min": 380
            },
            {
                "date": "2026-12-23",
                "price_usd": 257,
                "transfers": 3,
                "airline": "EW",
                "gate": "Tickets",
                "duration_min": 340
            }
        ],
        "variants": [
            {
                "depart_date": "2026-11-11",
                "price_usd": 92,
                "airline": "EW",
                "flight_number": "2648",
                "departure_airport": "STR",
                "arrival_airport": "OPO",
                "departure_time": "08:55:00",
                "arrival_time": "13:10:00",
                "duration_min": 255,
                "transfers": 1,
                "gate": "Kiwi.com",
                "ticket_id": "8a8254121b5154ce2c74d4efc58ffc3c"
            },
            {
                "depart_date": "2026-12-04",
                "price_usd": 93,
                "airline": "EW",
                "flight_number": "2516",
                "departure_airport": "STR",
                "arrival_airport": "OPO",
                "departure_time": "20:05:00",
                "arrival_time": "23:30:00",
                "duration_min": 205,
                "transfers": 1,
                "gate": "Kupi.com",
                "ticket_id": "fc357862018bf6a73e3547bbaef93bf6"
            },
            {
                "depart_date": "2026-12-07",
                "price_usd": 139,
                "airline": "EW",
                "flight_number": "2520",
                "departure_airport": "STR",
                "arrival_airport": "OPO",
                "departure_time": "08:45:00",
                "arrival_time": "12:30:00",
                "duration_min": 225,
                "transfers": 1,
                "gate": "Trip.com",
                "ticket_id": "39810e1d1758c5a0964d3b7624653157"
            },
            {
                "depart_date": "2026-12-21",
                "price_usd": 159,
                "airline": "W4",
                "flight_number": "5120",
                "departure_airport": "STR",
                "arrival_airport": "OPO",
                "departure_time": "19:50:00",
                "arrival_time": "02:55:00",
                "duration_min": 425,
                "transfers": 2,
                "gate": "Tickets",
                "ticket_id": "0572d7cb0c5b0a9ea3a65c04f9252cfa"
            },
            {
                "depart_date": "2026-12-19",
                "price_usd": 182,
                "airline": "EW",
                "flight_number": "6587",
                "departure_airport": "STR",
                "arrival_airport": "OPO",
                "departure_time": "20:10:00",
                "arrival_time": "01:00:00",
                "duration_min": 290,
                "transfers": 2,
                "gate": "Tickets",
                "ticket_id": "140d448954a40fc54f664b023cd1c606"
            },
            {
                "depart_date": "2026-12-22",
                "price_usd": 217,
                "airline": "X3",
                "flight_number": "2810",
                "departure_airport": "STR",
                "arrival_airport": "OPO",
                "departure_time": "10:00:00",
                "arrival_time": "16:20:00",
                "duration_min": 380,
                "transfers": 1,
                "gate": "Lucky2Go",
                "ticket_id": "2a4914b840b7cdedcf60ea5226be214a"
            },
            {
                "depart_date": "2026-12-23",
                "price_usd": 257,
                "airline": "EW",
                "flight_number": "2844",
                "departure_airport": "STR",
                "arrival_airport": "OPO",
                "departure_time": "22:15:00",
                "arrival_time": "03:55:00",
                "duration_min": 340,
                "transfers": 3,
                "gate": "Tickets",
                "ticket_id": "b397b92d7d7a49c28f829d90b058d2c5"
            }
        ],
        "airlines": [
            {
                "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": 46
            },
            {
                "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": 159
            },
            {
                "iata": "X3",
                "name": "TUI fly Deutschland",
                "logo_url": "https://img.wway.io/pics/root/X3@png?exar=1&rs=fit:80:80",
                "is_lowcost": false,
                "routes_count": 276,
                "min_price_usd": 217
            }
        ],
        "agencies": [
            {
                "name": "Kiwi.com",
                "min_price_usd": 46,
                "tickets_count": 2
            },
            {
                "name": "Kupi.com",
                "min_price_usd": 93,
                "tickets_count": 1
            },
            {
                "name": "Trip.com",
                "min_price_usd": 139,
                "tickets_count": 1
            },
            {
                "name": "Tickets",
                "min_price_usd": 159,
                "tickets_count": 3
            },
            {
                "name": "Lucky2Go",
                "min_price_usd": 217,
                "tickets_count": 1
            }
        ],
        "airports": {
            "departure": [
                {
                    "iata": "STR",
                    "name": "Stuttgart Airport",
                    "iata_type": "airport",
                    "time_zone": "Europe/Berlin"
                }
            ],
            "arrival": [
                {
                    "iata": "OPO",
                    "name": "Porto Airport",
                    "iata_type": "airport",
                    "time_zone": "Europe/Lisbon"
                }
            ]
        },
        "html_url": "https://cityvator.com/en/str-opo/",
        "api_urls": {
            "self": "https://cityvator.com/api/routes/str-opo",
            "qa": "https://cityvator.com/api/qa/route/str-opo",
            "compare": "https://cityvator.com/api/compare/str-opo-vs-"
        },
        "updated_at": "2026-10-24 09:37:00"
    },
    "meta": {
        "lang": "en",
        "currency": "USD",
        "requested_at": "2026-11-11T18:18:19+03:00",
        "powered_by": "Cityvator",
        "source": "https://cityvator.com",
        "license": "CC-BY-4.0",
        "attribution": "Data source: Cityvator (https://cityvator.com)"
    }
}