{
    "success": true,
    "data": {
        "route": {
            "origin": {
                "iata": "MAD",
                "name": "Madrid",
                "country_code": "ES",
                "country_name": "Spain",
                "is_hub": true
            },
            "destination": {
                "iata": "JNB",
                "name": "Johannesburg",
                "country_code": "ZA",
                "country_name": "South Africa",
                "is_hub": false
            },
            "slug": "mad-jnb"
        },
        "parameters": {
            "agencies": [
                "Farera",
                "Flightnetwork",
                "Gotogate",
                "Kupi.com",
                "Tickets",
                "Trip.com"
            ],
            "agencies_count": 6,
            "airlines": [
                "AH",
                "FR",
                "PC",
                "UX",
                "W4"
            ],
            "airlines_count": 5,
            "airports_arrival": 2,
            "airports_arrival_list": [
                "JNB"
            ],
            "airports_departure": 1,
            "airports_departure_list": [
                "MAD"
            ],
            "avg_duration_min": 837,
            "avg_price": 488.4,
            "avg_transfers": 1.33,
            "cheapest_agency": "Gotogate",
            "cheapest_month": 11,
            "cheapest_weekday": 1,
            "departures_per_week": 1,
            "direct_airlines_list": [
                "UX"
            ],
            "direct_flights_count": 3,
            "direct_share": 33.33,
            "distance_km": 8102,
            "eco_score": 3.3,
            "flight_time_min": 602,
            "flights_found": 9,
            "has_direct": true,
            "max_duration_min": 1035,
            "max_price": 526,
            "min_duration_min": 605,
            "min_price": 429,
            "min_price_1stop": 475,
            "min_price_direct": 484,
            "months_with_flights": [
                11,
                12
            ],
            "popularity_score": 0.5,
            "seasonality": 1,
            "time_diff_hours": 1
        },
        "calendar": [
            {
                "date": "2026-11-15",
                "price_usd": 446,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-17",
                "price_usd": 464,
                "transfers": 2,
                "airline": "W4",
                "gate": "Kupi.com",
                "duration_min": 995
            },
            {
                "date": "2026-12-03",
                "price_usd": 469,
                "transfers": 2,
                "airline": "FR",
                "gate": "Flightnetwork",
                "duration_min": 995
            },
            {
                "date": "2026-12-06",
                "price_usd": 498,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-08",
                "price_usd": 498,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-10",
                "price_usd": 498,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-13",
                "price_usd": 498,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-15",
                "price_usd": 498,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-17",
                "price_usd": 498,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-20",
                "price_usd": 498,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-22",
                "price_usd": 498,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-24",
                "price_usd": 498,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-27",
                "price_usd": 498,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-29",
                "price_usd": 498,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-30",
                "price_usd": 526,
                "transfers": 0,
                "airline": null,
                "gate": "Trip.com",
                "duration_min": 0
            },
            {
                "date": "2026-12-31",
                "price_usd": 526,
                "transfers": 0,
                "airline": "UX",
                "gate": "Trip.com",
                "duration_min": 605
            }
        ],
        "variants": [
            {
                "depart_date": "2026-11-17",
                "price_usd": 464,
                "airline": "W4",
                "flight_number": "6460",
                "departure_airport": "MAD",
                "arrival_airport": "JNB",
                "departure_time": "15:00:00",
                "arrival_time": "07:35:00",
                "duration_min": 995,
                "transfers": 2,
                "gate": "Kupi.com",
                "ticket_id": "e94687f512f1c1ffe22f49ff34261745"
            },
            {
                "depart_date": "2026-12-03",
                "price_usd": 469,
                "airline": "FR",
                "flight_number": "3009",
                "departure_airport": "MAD",
                "arrival_airport": "JNB",
                "departure_time": "08:45:00",
                "arrival_time": "01:20:00",
                "duration_min": 995,
                "transfers": 2,
                "gate": "Flightnetwork",
                "ticket_id": "1b07c7fccb7f16772d49e36f383d888c"
            },
            {
                "depart_date": "2026-12-31",
                "price_usd": 526,
                "airline": "UX",
                "flight_number": "157",
                "departure_airport": "MAD",
                "arrival_airport": "JNB",
                "departure_time": "01:35:00",
                "arrival_time": "11:40:00",
                "duration_min": 605,
                "transfers": 0,
                "gate": "Trip.com",
                "ticket_id": "1eb1eba0494d9a13cbaa4250e3c4e15c"
            }
        ],
        "airlines": [
            {
                "iata": "PC",
                "name": "Pegasus Airlines",
                "logo_url": "https://img.wway.io/pics/root/PC@png?exar=1&rs=fit:80:80",
                "is_lowcost": true,
                "routes_count": 209,
                "min_price_usd": 429
            },
            {
                "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": 464
            },
            {
                "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": 469
            },
            {
                "iata": "AH",
                "name": "Air Algerie",
                "logo_url": "https://img.wway.io/pics/root/AH@png?exar=1&rs=fit:80:80",
                "is_lowcost": false,
                "routes_count": 167,
                "min_price_usd": 475
            },
            {
                "iata": "UX",
                "name": "Air Europa",
                "logo_url": "https://img.wway.io/pics/root/UX@png?exar=1&rs=fit:80:80",
                "is_lowcost": false,
                "routes_count": 128,
                "min_price_usd": 484
            }
        ],
        "agencies": [
            {
                "name": "Gotogate",
                "min_price_usd": 429,
                "tickets_count": 1
            },
            {
                "name": "Kupi.com",
                "min_price_usd": 464,
                "tickets_count": 3
            },
            {
                "name": "Flightnetwork",
                "min_price_usd": 469,
                "tickets_count": 1
            },
            {
                "name": "Farera",
                "min_price_usd": 475,
                "tickets_count": 2
            },
            {
                "name": "Tickets",
                "min_price_usd": 495,
                "tickets_count": 1
            },
            {
                "name": "Trip.com",
                "min_price_usd": 526,
                "tickets_count": 1
            }
        ],
        "airports": {
            "departure": [
                {
                    "iata": "MAD",
                    "name": "Adolfo Suarez Madrid-Barajas Airport",
                    "iata_type": "airport",
                    "time_zone": "Europe/Madrid"
                }
            ],
            "arrival": [
                {
                    "iata": "JNB",
                    "name": "O.R. Tambo International Airport",
                    "iata_type": "airport",
                    "time_zone": "Africa/Johannesburg"
                }
            ]
        },
        "html_url": "https://cityvator.com/en/mad-jnb/",
        "api_urls": {
            "self": "https://cityvator.com/api/routes/mad-jnb",
            "qa": "https://cityvator.com/api/qa/route/mad-jnb",
            "compare": "https://cityvator.com/api/compare/mad-jnb-vs-"
        },
        "updated_at": "2026-11-07 11:56:14"
    },
    "meta": {
        "lang": "en",
        "currency": "USD",
        "requested_at": "2026-11-14T11:46:53+03:00",
        "powered_by": "Cityvator",
        "source": "https://cityvator.com",
        "license": "CC-BY-4.0",
        "attribution": "Data source: Cityvator (https://cityvator.com)"
    }
}