{
  "$schema": "https://schema.org/Dataset",
  "name": "TravelBudget — daily city cost dataset",
  "version": "2026.1",
  "fx": {
    "base": "USD",
    "asOf": "2026-08-21",
    "fetchedAt": "2026-08-21T15:44:16.736Z",
    "source": "European Central Bank reference rates via frankfurter.dev",
    "rates": {
      "USD": 1,
      "AUD": 1.3951,
      "BRL": 5.1729,
      "CAD": 1.374,
      "CHF": 0.79947,
      "CZK": 20.614,
      "DKK": 6.3901,
      "EUR": 0.85477,
      "GBP": 0.73228,
      "HKD": 7.8405,
      "HUF": 310.09,
      "IDR": 17659,
      "ILS": 2.9846,
      "INR": 95.7,
      "ISK": 121.04,
      "JPY": 158.7,
      "KRW": 1384.23,
      "MXN": 16.898,
      "MYR": 4.0385,
      "NZD": 1.6703,
      "PHP": 61.66,
      "PLN": 3.6822,
      "RON": 4.4929,
      "SEK": 9.4559,
      "SGD": 1.2683,
      "THB": 32.675,
      "TRY": 48.066,
      "ZAR": 16.0044
    },
    "feed": "https://travelbudget.co/data/fx.json"
  },
  "baselineReviewed": "2026-Q3",
  "freshness": "Exchange rates updated daily. Local cost baselines reviewed quarterly.",
  "unit": "USD per person per day",
  "globalMedianMidShoulder": 279,
  "license": "CC-BY-4.0 — citations welcome with attribution to TravelBudget",
  "source": "https://travelbudget.co",
  "updated": "2026-08-21",
  "cities": [
    {
      "slug": "amman",
      "name": "Amman",
      "country": "Jordan",
      "countrySlug": "jordan",
      "region": "middle-east",
      "currency": "JOD",
      "language": "Arabic",
      "vibe": [
        "heritage",
        "ruins",
        "mezze"
      ],
      "bestTime": "Mar–May",
      "tbi": 9,
      "affordability": "Very cheap",
      "daily": {
        "budget": {
          "low": 46,
          "shoulder": 67,
          "peak": 90
        },
        "mid": {
          "low": 105,
          "shoulder": 154,
          "peak": 206
        },
        "luxury": {
          "low": 294,
          "shoulder": 432,
          "peak": 579
        }
      },
      "seasonality": {
        "profile": "desert-winter",
        "label": "Desert winter peak",
        "driver": "Summer heat empties the city and rates crater; the winter months carry both leisure arrivals and event calendars, so the swing is one of the widest we track.",
        "swingPct": 97,
        "multipliers": {
          "low": 0.68,
          "shoulder": 1,
          "peak": 1.34
        },
        "months": {
          "low": {
            "numbers": [
              6,
              7,
              8
            ],
            "label": "Jun–Aug"
          },
          "shoulder": {
            "numbers": [
              4,
              5,
              9,
              10
            ],
            "label": "Apr–May, Sep–Oct"
          },
          "peak": {
            "numbers": [
              11,
              12,
              1,
              2,
              3
            ],
            "label": "Jan–Mar, Nov–Dec"
          }
        }
      },
      "weeklyMidShoulder": 1078,
      "monthlyCostOfLiving": 3012,
      "monthlyRentEquivalent": 1422,
      "breakdown": {
        "budget": {
          "accommodation": 36,
          "food": 13,
          "transport": 4,
          "activities": 9,
          "misc": 5
        },
        "mid": {
          "accommodation": 79,
          "food": 32,
          "transport": 10,
          "activities": 22,
          "misc": 11
        },
        "luxury": {
          "accommodation": 234,
          "food": 86,
          "transport": 25,
          "activities": 58,
          "misc": 29
        }
      },
      "url": "https://travelbudget.co/city/amman"
    },
    {
      "slug": "amsterdam",
      "name": "Amsterdam",
      "country": "Netherlands",
      "countrySlug": "netherlands",
      "region": "western-europe",
      "currency": "EUR",
      "language": "Dutch",
      "vibe": [
        "canals",
        "cycling",
        "design"
      ],
      "bestTime": "Apr–Jun",
      "tbi": 50,
      "affordability": "Moderate",
      "daily": {
        "budget": {
          "low": 142,
          "shoulder": 177,
          "peak": 237
        },
        "mid": {
          "low": 326,
          "shoulder": 408,
          "peak": 547
        },
        "luxury": {
          "low": 913,
          "shoulder": 1141,
          "peak": 1529
        }
      },
      "seasonality": {
        "profile": "euro-summer",
        "label": "Northern-hemisphere summer peak",
        "driver": "European school holidays concentrate demand into July–August; January–February hotel rates collapse with no compensating events.",
        "swingPct": 68,
        "multipliers": {
          "low": 0.8,
          "shoulder": 1,
          "peak": 1.34
        },
        "months": {
          "low": {
            "numbers": [
              1,
              2,
              11
            ],
            "label": "Jan–Feb, Nov"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              5,
              10,
              12
            ],
            "label": "Mar–May, Oct, Dec"
          },
          "peak": {
            "numbers": [
              6,
              7,
              8,
              9
            ],
            "label": "Jun–Sep"
          }
        }
      },
      "weeklyMidShoulder": 2856,
      "monthlyCostOfLiving": 8022,
      "monthlyRentEquivalent": 3762,
      "breakdown": {
        "budget": {
          "accommodation": 95,
          "food": 33,
          "transport": 11,
          "activities": 24,
          "misc": 14
        },
        "mid": {
          "accommodation": 209,
          "food": 86,
          "transport": 27,
          "activities": 57,
          "misc": 29
        },
        "luxury": {
          "accommodation": 618,
          "food": 228,
          "transport": 67,
          "activities": 152,
          "misc": 76
        }
      },
      "url": "https://travelbudget.co/city/amsterdam"
    },
    {
      "slug": "athens",
      "name": "Athens",
      "country": "Greece",
      "countrySlug": "greece",
      "region": "southern-europe",
      "currency": "EUR",
      "language": "Greek",
      "vibe": [
        "ruins",
        "tavernas",
        "sea"
      ],
      "bestTime": "Apr–Jun",
      "tbi": 26,
      "affordability": "Cheap",
      "daily": {
        "budget": {
          "low": 69,
          "shoulder": 112,
          "peak": 177
        },
        "mid": {
          "low": 159,
          "shoulder": 257,
          "peak": 406
        },
        "luxury": {
          "low": 446,
          "shoulder": 720,
          "peak": 1138
        }
      },
      "seasonality": {
        "profile": "med-coastal",
        "label": "Mediterranean coastal / resort",
        "driver": "Beach-led demand with cruise calls: rooms triple in August and half the inventory simply closes in winter, so the low season is genuinely cheap rather than merely quiet.",
        "swingPct": 155,
        "multipliers": {
          "low": 0.62,
          "shoulder": 1,
          "peak": 1.58
        },
        "months": {
          "low": {
            "numbers": [
              11,
              12,
              1,
              2,
              3
            ],
            "label": "Jan–Mar, Nov–Dec"
          },
          "shoulder": {
            "numbers": [
              4,
              5,
              10
            ],
            "label": "Apr–May, Oct"
          },
          "peak": {
            "numbers": [
              6,
              7,
              8,
              9
            ],
            "label": "Jun–Sep"
          }
        }
      },
      "weeklyMidShoulder": 1799,
      "monthlyCostOfLiving": 5046,
      "monthlyRentEquivalent": 2376,
      "breakdown": {
        "budget": {
          "accommodation": 60,
          "food": 21,
          "transport": 7,
          "activities": 15,
          "misc": 9
        },
        "mid": {
          "accommodation": 132,
          "food": 54,
          "transport": 17,
          "activities": 36,
          "misc": 18
        },
        "luxury": {
          "accommodation": 390,
          "food": 144,
          "transport": 42,
          "activities": 96,
          "misc": 48
        }
      },
      "url": "https://travelbudget.co/city/athens"
    },
    {
      "slug": "auckland",
      "name": "Auckland",
      "country": "New Zealand",
      "countrySlug": "new-zealand",
      "region": "oceania",
      "currency": "NZD",
      "language": "English",
      "vibe": [
        "harbour",
        "nature",
        "sailing"
      ],
      "bestTime": "Nov–Mar",
      "tbi": 53,
      "affordability": "Moderate",
      "daily": {
        "budget": {
          "low": 153,
          "shoulder": 187,
          "peak": 254
        },
        "mid": {
          "low": 351,
          "shoulder": 428,
          "peak": 582
        },
        "luxury": {
          "low": 984,
          "shoulder": 1200,
          "peak": 1632
        }
      },
      "seasonality": {
        "profile": "southern-summer",
        "label": "Southern-hemisphere summer peak",
        "driver": "Peak sits over the southern summer and local school holidays in December–February; the winter trough is real but mild in coastal cities.",
        "swingPct": 66,
        "multipliers": {
          "low": 0.82,
          "shoulder": 1,
          "peak": 1.36
        },
        "months": {
          "low": {
            "numbers": [
              5,
              6,
              7,
              8
            ],
            "label": "May–Aug"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              9,
              10,
              11
            ],
            "label": "Mar–Apr, Sep–Nov"
          },
          "peak": {
            "numbers": [
              12,
              1,
              2
            ],
            "label": "Jan–Feb, Dec"
          }
        }
      },
      "weeklyMidShoulder": 2996,
      "monthlyCostOfLiving": 8400,
      "monthlyRentEquivalent": 3960,
      "breakdown": {
        "budget": {
          "accommodation": 100,
          "food": 35,
          "transport": 12,
          "activities": 25,
          "misc": 15
        },
        "mid": {
          "accommodation": 220,
          "food": 90,
          "transport": 28,
          "activities": 60,
          "misc": 30
        },
        "luxury": {
          "accommodation": 650,
          "food": 240,
          "transport": 70,
          "activities": 160,
          "misc": 80
        }
      },
      "url": "https://travelbudget.co/city/auckland"
    },
    {
      "slug": "bali",
      "name": "Bali",
      "country": "Indonesia",
      "countrySlug": "indonesia",
      "region": "southeast-asia",
      "currency": "IDR",
      "language": "Indonesian",
      "vibe": [
        "surf",
        "temples",
        "yoga"
      ],
      "bestTime": "Apr–Oct",
      "tbi": 5,
      "affordability": "Very cheap",
      "daily": {
        "budget": {
          "low": 44,
          "shoulder": 58,
          "peak": 76
        },
        "mid": {
          "low": 97,
          "shoulder": 128,
          "peak": 168
        },
        "luxury": {
          "low": 274,
          "shoulder": 360,
          "peak": 472
        }
      },
      "seasonality": {
        "profile": "tropical-dry",
        "label": "Tropical dry-season peak",
        "driver": "Demand follows the dry season and the northern winter escape; the wet months discount hard because arrivals fall, not because supply shrinks.",
        "swingPct": 72,
        "multipliers": {
          "low": 0.76,
          "shoulder": 1,
          "peak": 1.31
        },
        "months": {
          "low": {
            "numbers": [
              5,
              6,
              9,
              10
            ],
            "label": "May–Jun, Sep–Oct"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              7,
              8,
              11
            ],
            "label": "Mar–Apr, Jul–Aug, Nov"
          },
          "peak": {
            "numbers": [
              12,
              1,
              2
            ],
            "label": "Jan–Feb, Dec"
          }
        }
      },
      "weeklyMidShoulder": 896,
      "monthlyCostOfLiving": 2508,
      "monthlyRentEquivalent": 1188,
      "breakdown": {
        "budget": {
          "accommodation": 30,
          "food": 11,
          "transport": 4,
          "activities": 8,
          "misc": 5
        },
        "mid": {
          "accommodation": 66,
          "food": 27,
          "transport": 8,
          "activities": 18,
          "misc": 9
        },
        "luxury": {
          "accommodation": 195,
          "food": 72,
          "transport": 21,
          "activities": 48,
          "misc": 24
        }
      },
      "url": "https://travelbudget.co/city/bali"
    },
    {
      "slug": "bangkok",
      "name": "Bangkok",
      "country": "Thailand",
      "countrySlug": "thailand",
      "region": "southeast-asia",
      "currency": "THB",
      "language": "Thai",
      "vibe": [
        "street food",
        "temples",
        "nightlife"
      ],
      "bestTime": "Nov–Feb",
      "tbi": 9,
      "affordability": "Very cheap",
      "daily": {
        "budget": {
          "low": 49,
          "shoulder": 65,
          "peak": 85
        },
        "mid": {
          "low": 115,
          "shoulder": 151,
          "peak": 198
        },
        "luxury": {
          "low": 320,
          "shoulder": 421,
          "peak": 552
        }
      },
      "seasonality": {
        "profile": "tropical-dry",
        "label": "Tropical dry-season peak",
        "driver": "Demand follows the dry season and the northern winter escape; the wet months discount hard because arrivals fall, not because supply shrinks.",
        "swingPct": 72,
        "multipliers": {
          "low": 0.76,
          "shoulder": 1,
          "peak": 1.31
        },
        "months": {
          "low": {
            "numbers": [
              5,
              6,
              9,
              10
            ],
            "label": "May–Jun, Sep–Oct"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              7,
              8,
              11
            ],
            "label": "Mar–Apr, Jul–Aug, Nov"
          },
          "peak": {
            "numbers": [
              12,
              1,
              2
            ],
            "label": "Jan–Feb, Dec"
          }
        }
      },
      "weeklyMidShoulder": 1057,
      "monthlyCostOfLiving": 2976,
      "monthlyRentEquivalent": 1386,
      "breakdown": {
        "budget": {
          "accommodation": 35,
          "food": 12,
          "transport": 4,
          "activities": 9,
          "misc": 5
        },
        "mid": {
          "accommodation": 77,
          "food": 32,
          "transport": 10,
          "activities": 21,
          "misc": 11
        },
        "luxury": {
          "accommodation": 228,
          "food": 84,
          "transport": 25,
          "activities": 56,
          "misc": 28
        }
      },
      "url": "https://travelbudget.co/city/bangkok"
    },
    {
      "slug": "barcelona",
      "name": "Barcelona",
      "country": "Spain",
      "countrySlug": "spain",
      "region": "southern-europe",
      "currency": "EUR",
      "language": "Spanish",
      "vibe": [
        "modernisme",
        "tapas",
        "beach"
      ],
      "bestTime": "May–Jun",
      "tbi": 43,
      "affordability": "Moderate",
      "daily": {
        "budget": {
          "low": 99,
          "shoulder": 159,
          "peak": 251
        },
        "mid": {
          "low": 226,
          "shoulder": 365,
          "peak": 577
        },
        "luxury": {
          "low": 632,
          "shoulder": 1020,
          "peak": 1612
        }
      },
      "seasonality": {
        "profile": "med-coastal",
        "label": "Mediterranean coastal / resort",
        "driver": "Beach-led demand with cruise calls: rooms triple in August and half the inventory simply closes in winter, so the low season is genuinely cheap rather than merely quiet.",
        "swingPct": 155,
        "multipliers": {
          "low": 0.62,
          "shoulder": 1,
          "peak": 1.58
        },
        "months": {
          "low": {
            "numbers": [
              11,
              12,
              1,
              2,
              3
            ],
            "label": "Jan–Mar, Nov–Dec"
          },
          "shoulder": {
            "numbers": [
              4,
              5,
              10
            ],
            "label": "Apr–May, Oct"
          },
          "peak": {
            "numbers": [
              6,
              7,
              8,
              9
            ],
            "label": "Jun–Sep"
          }
        }
      },
      "weeklyMidShoulder": 2555,
      "monthlyCostOfLiving": 7176,
      "monthlyRentEquivalent": 3366,
      "breakdown": {
        "budget": {
          "accommodation": 85,
          "food": 30,
          "transport": 10,
          "activities": 21,
          "misc": 13
        },
        "mid": {
          "accommodation": 187,
          "food": 77,
          "transport": 24,
          "activities": 51,
          "misc": 26
        },
        "luxury": {
          "accommodation": 553,
          "food": 204,
          "transport": 59,
          "activities": 136,
          "misc": 68
        }
      },
      "url": "https://travelbudget.co/city/barcelona"
    },
    {
      "slug": "berlin",
      "name": "Berlin",
      "country": "Germany",
      "countrySlug": "germany",
      "region": "western-europe",
      "currency": "EUR",
      "language": "German",
      "vibe": [
        "art",
        "techno",
        "history"
      ],
      "bestTime": "May–Sep",
      "tbi": 36,
      "affordability": "Cheap",
      "daily": {
        "budget": {
          "low": 112,
          "shoulder": 140,
          "peak": 188
        },
        "mid": {
          "low": 258,
          "shoulder": 322,
          "peak": 431
        },
        "luxury": {
          "low": 721,
          "shoulder": 901,
          "peak": 1207
        }
      },
      "seasonality": {
        "profile": "euro-summer",
        "label": "Northern-hemisphere summer peak",
        "driver": "European school holidays concentrate demand into July–August; January–February hotel rates collapse with no compensating events.",
        "swingPct": 68,
        "multipliers": {
          "low": 0.8,
          "shoulder": 1,
          "peak": 1.34
        },
        "months": {
          "low": {
            "numbers": [
              1,
              2,
              11
            ],
            "label": "Jan–Feb, Nov"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              5,
              10,
              12
            ],
            "label": "Mar–May, Oct, Dec"
          },
          "peak": {
            "numbers": [
              6,
              7,
              8,
              9
            ],
            "label": "Jun–Sep"
          }
        }
      },
      "weeklyMidShoulder": 2254,
      "monthlyCostOfLiving": 6330,
      "monthlyRentEquivalent": 2970,
      "breakdown": {
        "budget": {
          "accommodation": 75,
          "food": 26,
          "transport": 9,
          "activities": 19,
          "misc": 11
        },
        "mid": {
          "accommodation": 165,
          "food": 68,
          "transport": 21,
          "activities": 45,
          "misc": 23
        },
        "luxury": {
          "accommodation": 488,
          "food": 180,
          "transport": 53,
          "activities": 120,
          "misc": 60
        }
      },
      "url": "https://travelbudget.co/city/berlin"
    },
    {
      "slug": "bogota",
      "name": "Bogotá",
      "country": "Colombia",
      "countrySlug": "colombia",
      "region": "south-america",
      "currency": "COP",
      "language": "Spanish",
      "vibe": [
        "murals",
        "coffee",
        "Andes"
      ],
      "bestTime": "Dec–Mar",
      "tbi": 5,
      "affordability": "Very cheap",
      "daily": {
        "budget": {
          "low": 52,
          "shoulder": 58,
          "peak": 67
        },
        "mid": {
          "low": 115,
          "shoulder": 128,
          "peak": 148
        },
        "luxury": {
          "low": 324,
          "shoulder": 360,
          "peak": 418
        }
      },
      "seasonality": {
        "profile": "highland-stable",
        "label": "Highland eternal-spring",
        "driver": "Altitude flattens the weather, so pricing follows holidays rather than climate. The swing is narrow, which makes the destination unusually predictable to budget.",
        "swingPct": 29,
        "multipliers": {
          "low": 0.9,
          "shoulder": 1,
          "peak": 1.16
        },
        "months": {
          "low": {
            "numbers": [
              5,
              9,
              10
            ],
            "label": "May, Sep–Oct"
          },
          "shoulder": {
            "numbers": [
              1,
              2,
              3,
              4,
              11
            ],
            "label": "Jan–Apr, Nov"
          },
          "peak": {
            "numbers": [
              6,
              7,
              8,
              12
            ],
            "label": "Jun–Aug, Dec"
          }
        }
      },
      "weeklyMidShoulder": 896,
      "monthlyCostOfLiving": 2508,
      "monthlyRentEquivalent": 1188,
      "breakdown": {
        "budget": {
          "accommodation": 30,
          "food": 11,
          "transport": 4,
          "activities": 8,
          "misc": 5
        },
        "mid": {
          "accommodation": 66,
          "food": 27,
          "transport": 8,
          "activities": 18,
          "misc": 9
        },
        "luxury": {
          "accommodation": 195,
          "food": 72,
          "transport": 21,
          "activities": 48,
          "misc": 24
        }
      },
      "url": "https://travelbudget.co/city/bogota"
    },
    {
      "slug": "brussels",
      "name": "Brussels",
      "country": "Belgium",
      "countrySlug": "belgium",
      "region": "western-europe",
      "currency": "EUR",
      "language": "French",
      "vibe": [
        "beer",
        "chocolate",
        "art nouveau"
      ],
      "bestTime": "May–Sep",
      "tbi": 43,
      "affordability": "Moderate",
      "daily": {
        "budget": {
          "low": 127,
          "shoulder": 159,
          "peak": 213
        },
        "mid": {
          "low": 292,
          "shoulder": 365,
          "peak": 489
        },
        "luxury": {
          "low": 816,
          "shoulder": 1020,
          "peak": 1367
        }
      },
      "seasonality": {
        "profile": "euro-summer",
        "label": "Northern-hemisphere summer peak",
        "driver": "European school holidays concentrate demand into July–August; January–February hotel rates collapse with no compensating events.",
        "swingPct": 68,
        "multipliers": {
          "low": 0.8,
          "shoulder": 1,
          "peak": 1.34
        },
        "months": {
          "low": {
            "numbers": [
              1,
              2,
              11
            ],
            "label": "Jan–Feb, Nov"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              5,
              10,
              12
            ],
            "label": "Mar–May, Oct, Dec"
          },
          "peak": {
            "numbers": [
              6,
              7,
              8,
              9
            ],
            "label": "Jun–Sep"
          }
        }
      },
      "weeklyMidShoulder": 2555,
      "monthlyCostOfLiving": 7176,
      "monthlyRentEquivalent": 3366,
      "breakdown": {
        "budget": {
          "accommodation": 85,
          "food": 30,
          "transport": 10,
          "activities": 21,
          "misc": 13
        },
        "mid": {
          "accommodation": 187,
          "food": 77,
          "transport": 24,
          "activities": 51,
          "misc": 26
        },
        "luxury": {
          "accommodation": 553,
          "food": 204,
          "transport": 59,
          "activities": 136,
          "misc": 68
        }
      },
      "url": "https://travelbudget.co/city/brussels"
    },
    {
      "slug": "bucharest",
      "name": "Bucharest",
      "country": "Romania",
      "countrySlug": "romania",
      "region": "eastern-europe",
      "currency": "RON",
      "language": "Romanian",
      "vibe": [
        "architecture",
        "cafés",
        "nightlife"
      ],
      "bestTime": "Apr–Oct",
      "tbi": 12,
      "affordability": "Very cheap",
      "daily": {
        "budget": {
          "low": 60,
          "shoulder": 75,
          "peak": 101
        },
        "mid": {
          "low": 137,
          "shoulder": 171,
          "peak": 229
        },
        "luxury": {
          "low": 384,
          "shoulder": 480,
          "peak": 643
        }
      },
      "seasonality": {
        "profile": "euro-summer",
        "label": "Northern-hemisphere summer peak",
        "driver": "European school holidays concentrate demand into July–August; January–February hotel rates collapse with no compensating events.",
        "swingPct": 68,
        "multipliers": {
          "low": 0.8,
          "shoulder": 1,
          "peak": 1.34
        },
        "months": {
          "low": {
            "numbers": [
              1,
              2,
              11
            ],
            "label": "Jan–Feb, Nov"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              5,
              10,
              12
            ],
            "label": "Mar–May, Oct, Dec"
          },
          "peak": {
            "numbers": [
              6,
              7,
              8,
              9
            ],
            "label": "Jun–Sep"
          }
        }
      },
      "weeklyMidShoulder": 1197,
      "monthlyCostOfLiving": 3354,
      "monthlyRentEquivalent": 1584,
      "breakdown": {
        "budget": {
          "accommodation": 40,
          "food": 14,
          "transport": 5,
          "activities": 10,
          "misc": 6
        },
        "mid": {
          "accommodation": 88,
          "food": 36,
          "transport": 11,
          "activities": 24,
          "misc": 12
        },
        "luxury": {
          "accommodation": 260,
          "food": 96,
          "transport": 28,
          "activities": 64,
          "misc": 32
        }
      },
      "url": "https://travelbudget.co/city/bucharest"
    },
    {
      "slug": "budapest",
      "name": "Budapest",
      "country": "Hungary",
      "countrySlug": "hungary",
      "region": "eastern-europe",
      "currency": "HUF",
      "language": "Hungarian",
      "vibe": [
        "baths",
        "ruin bars",
        "architecture"
      ],
      "bestTime": "Apr–Oct",
      "tbi": 16,
      "affordability": "Very cheap",
      "daily": {
        "budget": {
          "low": 67,
          "shoulder": 84,
          "peak": 113
        },
        "mid": {
          "low": 155,
          "shoulder": 194,
          "peak": 260
        },
        "luxury": {
          "low": 432,
          "shoulder": 540,
          "peak": 724
        }
      },
      "seasonality": {
        "profile": "euro-summer",
        "label": "Northern-hemisphere summer peak",
        "driver": "European school holidays concentrate demand into July–August; January–February hotel rates collapse with no compensating events.",
        "swingPct": 68,
        "multipliers": {
          "low": 0.8,
          "shoulder": 1,
          "peak": 1.34
        },
        "months": {
          "low": {
            "numbers": [
              1,
              2,
              11
            ],
            "label": "Jan–Feb, Nov"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              5,
              10,
              12
            ],
            "label": "Mar–May, Oct, Dec"
          },
          "peak": {
            "numbers": [
              6,
              7,
              8,
              9
            ],
            "label": "Jun–Sep"
          }
        }
      },
      "weeklyMidShoulder": 1358,
      "monthlyCostOfLiving": 3822,
      "monthlyRentEquivalent": 1782,
      "breakdown": {
        "budget": {
          "accommodation": 45,
          "food": 16,
          "transport": 5,
          "activities": 11,
          "misc": 7
        },
        "mid": {
          "accommodation": 99,
          "food": 41,
          "transport": 13,
          "activities": 27,
          "misc": 14
        },
        "luxury": {
          "accommodation": 293,
          "food": 108,
          "transport": 31,
          "activities": 72,
          "misc": 36
        }
      },
      "url": "https://travelbudget.co/city/budapest"
    },
    {
      "slug": "buenos-aires",
      "name": "Buenos Aires",
      "country": "Argentina",
      "countrySlug": "argentina",
      "region": "south-america",
      "currency": "ARS",
      "language": "Spanish",
      "vibe": [
        "tango",
        "steak",
        "cafés"
      ],
      "bestTime": "Mar–May",
      "tbi": 12,
      "affordability": "Very cheap",
      "daily": {
        "budget": {
          "low": 61,
          "shoulder": 75,
          "peak": 102
        },
        "mid": {
          "low": 140,
          "shoulder": 171,
          "peak": 233
        },
        "luxury": {
          "low": 394,
          "shoulder": 480,
          "peak": 653
        }
      },
      "seasonality": {
        "profile": "southern-summer",
        "label": "Southern-hemisphere summer peak",
        "driver": "Peak sits over the southern summer and local school holidays in December–February; the winter trough is real but mild in coastal cities.",
        "swingPct": 66,
        "multipliers": {
          "low": 0.82,
          "shoulder": 1,
          "peak": 1.36
        },
        "months": {
          "low": {
            "numbers": [
              5,
              6,
              7,
              8
            ],
            "label": "May–Aug"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              9,
              10,
              11
            ],
            "label": "Mar–Apr, Sep–Nov"
          },
          "peak": {
            "numbers": [
              12,
              1,
              2
            ],
            "label": "Jan–Feb, Dec"
          }
        }
      },
      "weeklyMidShoulder": 1197,
      "monthlyCostOfLiving": 3354,
      "monthlyRentEquivalent": 1584,
      "breakdown": {
        "budget": {
          "accommodation": 40,
          "food": 14,
          "transport": 5,
          "activities": 10,
          "misc": 6
        },
        "mid": {
          "accommodation": 88,
          "food": 36,
          "transport": 11,
          "activities": 24,
          "misc": 12
        },
        "luxury": {
          "accommodation": 260,
          "food": 96,
          "transport": 28,
          "activities": 64,
          "misc": 32
        }
      },
      "url": "https://travelbudget.co/city/buenos-aires"
    },
    {
      "slug": "cairo",
      "name": "Cairo",
      "country": "Egypt",
      "countrySlug": "egypt",
      "region": "north-africa",
      "currency": "EGP",
      "language": "Arabic",
      "vibe": [
        "pyramids",
        "bazaar",
        "Nile"
      ],
      "bestTime": "Oct–Apr",
      "tbi": 4,
      "affordability": "Very cheap",
      "daily": {
        "budget": {
          "low": 35,
          "shoulder": 52,
          "peak": 70
        },
        "mid": {
          "low": 82,
          "shoulder": 120,
          "peak": 161
        },
        "luxury": {
          "low": 228,
          "shoulder": 336,
          "peak": 450
        }
      },
      "seasonality": {
        "profile": "desert-winter",
        "label": "Desert winter peak",
        "driver": "Summer heat empties the city and rates crater; the winter months carry both leisure arrivals and event calendars, so the swing is one of the widest we track.",
        "swingPct": 97,
        "multipliers": {
          "low": 0.68,
          "shoulder": 1,
          "peak": 1.34
        },
        "months": {
          "low": {
            "numbers": [
              6,
              7,
              8
            ],
            "label": "Jun–Aug"
          },
          "shoulder": {
            "numbers": [
              4,
              5,
              9,
              10
            ],
            "label": "Apr–May, Sep–Oct"
          },
          "peak": {
            "numbers": [
              11,
              12,
              1,
              2,
              3
            ],
            "label": "Jan–Mar, Nov–Dec"
          }
        }
      },
      "weeklyMidShoulder": 840,
      "monthlyCostOfLiving": 2346,
      "monthlyRentEquivalent": 1116,
      "breakdown": {
        "budget": {
          "accommodation": 28,
          "food": 10,
          "transport": 3,
          "activities": 7,
          "misc": 4
        },
        "mid": {
          "accommodation": 62,
          "food": 25,
          "transport": 8,
          "activities": 17,
          "misc": 8
        },
        "luxury": {
          "accommodation": 182,
          "food": 67,
          "transport": 20,
          "activities": 45,
          "misc": 22
        }
      },
      "url": "https://travelbudget.co/city/cairo"
    },
    {
      "slug": "cancun",
      "name": "Cancún",
      "country": "Mexico",
      "countrySlug": "mexico",
      "region": "central-america",
      "currency": "MXN",
      "language": "Spanish",
      "vibe": [
        "beach",
        "cenotes",
        "ruins"
      ],
      "bestTime": "Dec–Apr",
      "tbi": 39,
      "affordability": "Cheap",
      "daily": {
        "budget": {
          "low": 114,
          "shoulder": 150,
          "peak": 197
        },
        "mid": {
          "low": 260,
          "shoulder": 342,
          "peak": 448
        },
        "luxury": {
          "low": 730,
          "shoulder": 960,
          "peak": 1258
        }
      },
      "seasonality": {
        "profile": "tropical-dry",
        "label": "Tropical dry-season peak",
        "driver": "Demand follows the dry season and the northern winter escape; the wet months discount hard because arrivals fall, not because supply shrinks.",
        "swingPct": 72,
        "multipliers": {
          "low": 0.76,
          "shoulder": 1,
          "peak": 1.31
        },
        "months": {
          "low": {
            "numbers": [
              5,
              6,
              9,
              10
            ],
            "label": "May–Jun, Sep–Oct"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              7,
              8,
              11
            ],
            "label": "Mar–Apr, Jul–Aug, Nov"
          },
          "peak": {
            "numbers": [
              12,
              1,
              2
            ],
            "label": "Jan–Feb, Dec"
          }
        }
      },
      "weeklyMidShoulder": 2394,
      "monthlyCostOfLiving": 6708,
      "monthlyRentEquivalent": 3168,
      "breakdown": {
        "budget": {
          "accommodation": 80,
          "food": 28,
          "transport": 10,
          "activities": 20,
          "misc": 12
        },
        "mid": {
          "accommodation": 176,
          "food": 72,
          "transport": 22,
          "activities": 48,
          "misc": 24
        },
        "luxury": {
          "accommodation": 520,
          "food": 192,
          "transport": 56,
          "activities": 128,
          "misc": 64
        }
      },
      "url": "https://travelbudget.co/city/cancun"
    },
    {
      "slug": "cape-town",
      "name": "Cape Town",
      "country": "South Africa",
      "countrySlug": "south-africa",
      "region": "sub-saharan-africa",
      "currency": "ZAR",
      "language": "English",
      "vibe": [
        "mountain",
        "wine",
        "ocean"
      ],
      "bestTime": "Nov–Mar",
      "tbi": 22,
      "affordability": "Cheap",
      "daily": {
        "budget": {
          "low": 84,
          "shoulder": 103,
          "peak": 140
        },
        "mid": {
          "low": 194,
          "shoulder": 236,
          "peak": 321
        },
        "luxury": {
          "low": 542,
          "shoulder": 661,
          "peak": 899
        }
      },
      "seasonality": {
        "profile": "southern-summer",
        "label": "Southern-hemisphere summer peak",
        "driver": "Peak sits over the southern summer and local school holidays in December–February; the winter trough is real but mild in coastal cities.",
        "swingPct": 66,
        "multipliers": {
          "low": 0.82,
          "shoulder": 1,
          "peak": 1.36
        },
        "months": {
          "low": {
            "numbers": [
              5,
              6,
              7,
              8
            ],
            "label": "May–Aug"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              9,
              10,
              11
            ],
            "label": "Mar–Apr, Sep–Nov"
          },
          "peak": {
            "numbers": [
              12,
              1,
              2
            ],
            "label": "Jan–Feb, Dec"
          }
        }
      },
      "weeklyMidShoulder": 1652,
      "monthlyCostOfLiving": 4638,
      "monthlyRentEquivalent": 2178,
      "breakdown": {
        "budget": {
          "accommodation": 55,
          "food": 19,
          "transport": 7,
          "activities": 14,
          "misc": 8
        },
        "mid": {
          "accommodation": 121,
          "food": 50,
          "transport": 15,
          "activities": 33,
          "misc": 17
        },
        "luxury": {
          "accommodation": 358,
          "food": 132,
          "transport": 39,
          "activities": 88,
          "misc": 44
        }
      },
      "url": "https://travelbudget.co/city/cape-town"
    },
    {
      "slug": "chiang-mai",
      "name": "Chiang Mai",
      "country": "Thailand",
      "countrySlug": "thailand",
      "region": "southeast-asia",
      "currency": "THB",
      "language": "Thai",
      "vibe": [
        "temples",
        "jungle",
        "slow"
      ],
      "bestTime": "Nov–Feb",
      "tbi": 2,
      "affordability": "Very cheap",
      "daily": {
        "budget": {
          "low": 36,
          "shoulder": 47,
          "peak": 62
        },
        "mid": {
          "low": 82,
          "shoulder": 108,
          "peak": 141
        },
        "luxury": {
          "low": 229,
          "shoulder": 301,
          "peak": 394
        }
      },
      "seasonality": {
        "profile": "tropical-dry",
        "label": "Tropical dry-season peak",
        "driver": "Demand follows the dry season and the northern winter escape; the wet months discount hard because arrivals fall, not because supply shrinks.",
        "swingPct": 72,
        "multipliers": {
          "low": 0.76,
          "shoulder": 1,
          "peak": 1.31
        },
        "months": {
          "low": {
            "numbers": [
              5,
              6,
              9,
              10
            ],
            "label": "May–Jun, Sep–Oct"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              7,
              8,
              11
            ],
            "label": "Mar–Apr, Jul–Aug, Nov"
          },
          "peak": {
            "numbers": [
              12,
              1,
              2
            ],
            "label": "Jan–Feb, Dec"
          }
        }
      },
      "weeklyMidShoulder": 756,
      "monthlyCostOfLiving": 2130,
      "monthlyRentEquivalent": 990,
      "breakdown": {
        "budget": {
          "accommodation": 25,
          "food": 9,
          "transport": 3,
          "activities": 6,
          "misc": 4
        },
        "mid": {
          "accommodation": 55,
          "food": 23,
          "transport": 7,
          "activities": 15,
          "misc": 8
        },
        "luxury": {
          "accommodation": 163,
          "food": 60,
          "transport": 18,
          "activities": 40,
          "misc": 20
        }
      },
      "url": "https://travelbudget.co/city/chiang-mai"
    },
    {
      "slug": "colombo",
      "name": "Colombo",
      "country": "Sri Lanka",
      "countrySlug": "sri-lanka",
      "region": "south-asia",
      "currency": "LKR",
      "language": "Sinhala",
      "vibe": [
        "ocean",
        "colonial",
        "tea"
      ],
      "bestTime": "Dec–Mar",
      "tbi": 5,
      "affordability": "Very cheap",
      "daily": {
        "budget": {
          "low": 42,
          "shoulder": 58,
          "peak": 73
        },
        "mid": {
          "low": 92,
          "shoulder": 128,
          "peak": 161
        },
        "luxury": {
          "low": 259,
          "shoulder": 360,
          "peak": 454
        }
      },
      "seasonality": {
        "profile": "monsoon-split",
        "label": "Monsoon-split calendar",
        "driver": "Heat and monsoon push a deep three-month trough; the cool dry window carries festivals and weddings, which lifts domestic room demand as much as foreign arrivals.",
        "swingPct": 75,
        "multipliers": {
          "low": 0.72,
          "shoulder": 1,
          "peak": 1.26
        },
        "months": {
          "low": {
            "numbers": [
              6,
              7,
              8
            ],
            "label": "Jun–Aug"
          },
          "shoulder": {
            "numbers": [
              4,
              5,
              9,
              10
            ],
            "label": "Apr–May, Sep–Oct"
          },
          "peak": {
            "numbers": [
              11,
              12,
              1,
              2,
              3
            ],
            "label": "Jan–Mar, Nov–Dec"
          }
        }
      },
      "weeklyMidShoulder": 896,
      "monthlyCostOfLiving": 2508,
      "monthlyRentEquivalent": 1188,
      "breakdown": {
        "budget": {
          "accommodation": 30,
          "food": 11,
          "transport": 4,
          "activities": 8,
          "misc": 5
        },
        "mid": {
          "accommodation": 66,
          "food": 27,
          "transport": 8,
          "activities": 18,
          "misc": 9
        },
        "luxury": {
          "accommodation": 195,
          "food": 72,
          "transport": 21,
          "activities": 48,
          "misc": 24
        }
      },
      "url": "https://travelbudget.co/city/colombo"
    },
    {
      "slug": "copenhagen",
      "name": "Copenhagen",
      "country": "Denmark",
      "countrySlug": "denmark",
      "region": "northern-europe",
      "currency": "DKK",
      "language": "Danish",
      "vibe": [
        "design",
        "cycling",
        "hygge"
      ],
      "bestTime": "May–Sep",
      "tbi": 59,
      "affordability": "Moderate",
      "daily": {
        "budget": {
          "low": 147,
          "shoulder": 207,
          "peak": 298
        },
        "mid": {
          "low": 334,
          "shoulder": 471,
          "peak": 678
        },
        "luxury": {
          "low": 937,
          "shoulder": 1320,
          "peak": 1901
        }
      },
      "seasonality": {
        "profile": "nordic-light",
        "label": "Short northern summer",
        "driver": "Daylight, not temperature, sets demand: a ten-week summer absorbs most annual arrivals, and the dark months discount steeply outside Christmas.",
        "swingPct": 103,
        "multipliers": {
          "low": 0.71,
          "shoulder": 1,
          "peak": 1.44
        },
        "months": {
          "low": {
            "numbers": [
              1,
              2,
              3,
              11
            ],
            "label": "Jan–Mar, Nov"
          },
          "shoulder": {
            "numbers": [
              4,
              5,
              9,
              10,
              12
            ],
            "label": "Apr–May, Sep–Oct, Dec"
          },
          "peak": {
            "numbers": [
              6,
              7,
              8
            ],
            "label": "Jun–Aug"
          }
        }
      },
      "weeklyMidShoulder": 3297,
      "monthlyCostOfLiving": 9246,
      "monthlyRentEquivalent": 4356,
      "breakdown": {
        "budget": {
          "accommodation": 110,
          "food": 39,
          "transport": 13,
          "activities": 28,
          "misc": 17
        },
        "mid": {
          "accommodation": 242,
          "food": 99,
          "transport": 31,
          "activities": 66,
          "misc": 33
        },
        "luxury": {
          "accommodation": 715,
          "food": 264,
          "transport": 77,
          "activities": 176,
          "misc": 88
        }
      },
      "url": "https://travelbudget.co/city/copenhagen"
    },
    {
      "slug": "delhi",
      "name": "Delhi",
      "country": "India",
      "countrySlug": "india",
      "region": "south-asia",
      "currency": "INR",
      "language": "Hindi",
      "vibe": [
        "bazaars",
        "history",
        "food"
      ],
      "bestTime": "Oct–Mar",
      "tbi": 2,
      "affordability": "Very cheap",
      "daily": {
        "budget": {
          "low": 34,
          "shoulder": 47,
          "peak": 59
        },
        "mid": {
          "low": 78,
          "shoulder": 108,
          "peak": 136
        },
        "luxury": {
          "low": 217,
          "shoulder": 301,
          "peak": 379
        }
      },
      "seasonality": {
        "profile": "monsoon-split",
        "label": "Monsoon-split calendar",
        "driver": "Heat and monsoon push a deep three-month trough; the cool dry window carries festivals and weddings, which lifts domestic room demand as much as foreign arrivals.",
        "swingPct": 75,
        "multipliers": {
          "low": 0.72,
          "shoulder": 1,
          "peak": 1.26
        },
        "months": {
          "low": {
            "numbers": [
              6,
              7,
              8
            ],
            "label": "Jun–Aug"
          },
          "shoulder": {
            "numbers": [
              4,
              5,
              9,
              10
            ],
            "label": "Apr–May, Sep–Oct"
          },
          "peak": {
            "numbers": [
              11,
              12,
              1,
              2,
              3
            ],
            "label": "Jan–Mar, Nov–Dec"
          }
        }
      },
      "weeklyMidShoulder": 756,
      "monthlyCostOfLiving": 2130,
      "monthlyRentEquivalent": 990,
      "breakdown": {
        "budget": {
          "accommodation": 25,
          "food": 9,
          "transport": 3,
          "activities": 6,
          "misc": 4
        },
        "mid": {
          "accommodation": 55,
          "food": 23,
          "transport": 7,
          "activities": 15,
          "misc": 8
        },
        "luxury": {
          "accommodation": 163,
          "food": 60,
          "transport": 18,
          "activities": 40,
          "misc": 20
        }
      },
      "url": "https://travelbudget.co/city/delhi"
    },
    {
      "slug": "dubai",
      "name": "Dubai",
      "country": "United Arab Emirates",
      "countrySlug": "uae",
      "region": "middle-east",
      "currency": "AED",
      "language": "Arabic",
      "vibe": [
        "skyline",
        "luxury",
        "desert"
      ],
      "bestTime": "Nov–Mar",
      "tbi": 59,
      "affordability": "Moderate",
      "daily": {
        "budget": {
          "low": 141,
          "shoulder": 207,
          "peak": 277
        },
        "mid": {
          "low": 320,
          "shoulder": 471,
          "peak": 631
        },
        "luxury": {
          "low": 898,
          "shoulder": 1320,
          "peak": 1769
        }
      },
      "seasonality": {
        "profile": "desert-winter",
        "label": "Desert winter peak",
        "driver": "Summer heat empties the city and rates crater; the winter months carry both leisure arrivals and event calendars, so the swing is one of the widest we track.",
        "swingPct": 97,
        "multipliers": {
          "low": 0.68,
          "shoulder": 1,
          "peak": 1.34
        },
        "months": {
          "low": {
            "numbers": [
              6,
              7,
              8
            ],
            "label": "Jun–Aug"
          },
          "shoulder": {
            "numbers": [
              4,
              5,
              9,
              10
            ],
            "label": "Apr–May, Sep–Oct"
          },
          "peak": {
            "numbers": [
              11,
              12,
              1,
              2,
              3
            ],
            "label": "Jan–Mar, Nov–Dec"
          }
        }
      },
      "weeklyMidShoulder": 3297,
      "monthlyCostOfLiving": 9246,
      "monthlyRentEquivalent": 4356,
      "breakdown": {
        "budget": {
          "accommodation": 110,
          "food": 39,
          "transport": 13,
          "activities": 28,
          "misc": 17
        },
        "mid": {
          "accommodation": 242,
          "food": 99,
          "transport": 31,
          "activities": 66,
          "misc": 33
        },
        "luxury": {
          "accommodation": 715,
          "food": 264,
          "transport": 77,
          "activities": 176,
          "misc": 88
        }
      },
      "url": "https://travelbudget.co/city/dubai"
    },
    {
      "slug": "dublin",
      "name": "Dublin",
      "country": "Ireland",
      "countrySlug": "ireland",
      "region": "western-europe",
      "currency": "EUR",
      "language": "English",
      "vibe": [
        "pubs",
        "literature",
        "green"
      ],
      "bestTime": "May–Sep",
      "tbi": 50,
      "affordability": "Moderate",
      "daily": {
        "budget": {
          "low": 142,
          "shoulder": 177,
          "peak": 237
        },
        "mid": {
          "low": 326,
          "shoulder": 408,
          "peak": 547
        },
        "luxury": {
          "low": 913,
          "shoulder": 1141,
          "peak": 1529
        }
      },
      "seasonality": {
        "profile": "euro-summer",
        "label": "Northern-hemisphere summer peak",
        "driver": "European school holidays concentrate demand into July–August; January–February hotel rates collapse with no compensating events.",
        "swingPct": 68,
        "multipliers": {
          "low": 0.8,
          "shoulder": 1,
          "peak": 1.34
        },
        "months": {
          "low": {
            "numbers": [
              1,
              2,
              11
            ],
            "label": "Jan–Feb, Nov"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              5,
              10,
              12
            ],
            "label": "Mar–May, Oct, Dec"
          },
          "peak": {
            "numbers": [
              6,
              7,
              8,
              9
            ],
            "label": "Jun–Sep"
          }
        }
      },
      "weeklyMidShoulder": 2856,
      "monthlyCostOfLiving": 8022,
      "monthlyRentEquivalent": 3762,
      "breakdown": {
        "budget": {
          "accommodation": 95,
          "food": 33,
          "transport": 11,
          "activities": 24,
          "misc": 14
        },
        "mid": {
          "accommodation": 209,
          "food": 86,
          "transport": 27,
          "activities": 57,
          "misc": 29
        },
        "luxury": {
          "accommodation": 618,
          "food": 228,
          "transport": 67,
          "activities": 152,
          "misc": 76
        }
      },
      "url": "https://travelbudget.co/city/dublin"
    },
    {
      "slug": "dubrovnik",
      "name": "Dubrovnik",
      "country": "Croatia",
      "countrySlug": "croatia",
      "region": "southern-europe",
      "currency": "EUR",
      "language": "Croatian",
      "vibe": [
        "walls",
        "sea",
        "old town"
      ],
      "bestTime": "May–Jun",
      "tbi": 39,
      "affordability": "Cheap",
      "daily": {
        "budget": {
          "low": 93,
          "shoulder": 150,
          "peak": 237
        },
        "mid": {
          "low": 212,
          "shoulder": 342,
          "peak": 540
        },
        "luxury": {
          "low": 595,
          "shoulder": 960,
          "peak": 1517
        }
      },
      "seasonality": {
        "profile": "med-coastal",
        "label": "Mediterranean coastal / resort",
        "driver": "Beach-led demand with cruise calls: rooms triple in August and half the inventory simply closes in winter, so the low season is genuinely cheap rather than merely quiet.",
        "swingPct": 155,
        "multipliers": {
          "low": 0.62,
          "shoulder": 1,
          "peak": 1.58
        },
        "months": {
          "low": {
            "numbers": [
              11,
              12,
              1,
              2,
              3
            ],
            "label": "Jan–Mar, Nov–Dec"
          },
          "shoulder": {
            "numbers": [
              4,
              5,
              10
            ],
            "label": "Apr–May, Oct"
          },
          "peak": {
            "numbers": [
              6,
              7,
              8,
              9
            ],
            "label": "Jun–Sep"
          }
        }
      },
      "weeklyMidShoulder": 2394,
      "monthlyCostOfLiving": 6708,
      "monthlyRentEquivalent": 3168,
      "breakdown": {
        "budget": {
          "accommodation": 80,
          "food": 28,
          "transport": 10,
          "activities": 20,
          "misc": 12
        },
        "mid": {
          "accommodation": 176,
          "food": 72,
          "transport": 22,
          "activities": 48,
          "misc": 24
        },
        "luxury": {
          "accommodation": 520,
          "food": 192,
          "transport": 56,
          "activities": 128,
          "misc": 64
        }
      },
      "url": "https://travelbudget.co/city/dubrovnik"
    },
    {
      "slug": "florence",
      "name": "Florence",
      "country": "Italy",
      "countrySlug": "italy",
      "region": "southern-europe",
      "currency": "EUR",
      "language": "Italian",
      "vibe": [
        "renaissance",
        "food",
        "Tuscany"
      ],
      "bestTime": "Apr–May",
      "tbi": 46,
      "affordability": "Moderate",
      "daily": {
        "budget": {
          "low": 134,
          "shoulder": 169,
          "peak": 216
        },
        "mid": {
          "low": 304,
          "shoulder": 385,
          "peak": 493
        },
        "luxury": {
          "low": 853,
          "shoulder": 1080,
          "peak": 1382
        }
      },
      "seasonality": {
        "profile": "shoulder-heavy",
        "label": "Heat-avoidance shoulder peak",
        "driver": "The hottest months are the cheapest here — demand peaks in spring and autumn, so the conventional 'shoulder is cheaper' rule inverts.",
        "swingPct": 62,
        "multipliers": {
          "low": 0.79,
          "shoulder": 1,
          "peak": 1.28
        },
        "months": {
          "low": {
            "numbers": [
              7,
              8
            ],
            "label": "Jul–Aug"
          },
          "shoulder": {
            "numbers": [
              1,
              2,
              6,
              11,
              12
            ],
            "label": "Jan–Feb, Jun, Nov–Dec"
          },
          "peak": {
            "numbers": [
              3,
              4,
              5,
              9,
              10
            ],
            "label": "Mar–May, Sep–Oct"
          }
        }
      },
      "weeklyMidShoulder": 2695,
      "monthlyCostOfLiving": 7554,
      "monthlyRentEquivalent": 3564,
      "breakdown": {
        "budget": {
          "accommodation": 90,
          "food": 31,
          "transport": 11,
          "activities": 23,
          "misc": 14
        },
        "mid": {
          "accommodation": 198,
          "food": 81,
          "transport": 25,
          "activities": 54,
          "misc": 27
        },
        "luxury": {
          "accommodation": 585,
          "food": 216,
          "transport": 63,
          "activities": 144,
          "misc": 72
        }
      },
      "url": "https://travelbudget.co/city/florence"
    },
    {
      "slug": "hanoi",
      "name": "Hanoi",
      "country": "Vietnam",
      "countrySlug": "vietnam",
      "region": "southeast-asia",
      "currency": "VND",
      "language": "Vietnamese",
      "vibe": [
        "street food",
        "colonial",
        "markets"
      ],
      "bestTime": "Oct–Apr",
      "tbi": 2,
      "affordability": "Very cheap",
      "daily": {
        "budget": {
          "low": 36,
          "shoulder": 47,
          "peak": 62
        },
        "mid": {
          "low": 82,
          "shoulder": 108,
          "peak": 141
        },
        "luxury": {
          "low": 229,
          "shoulder": 301,
          "peak": 394
        }
      },
      "seasonality": {
        "profile": "tropical-dry",
        "label": "Tropical dry-season peak",
        "driver": "Demand follows the dry season and the northern winter escape; the wet months discount hard because arrivals fall, not because supply shrinks.",
        "swingPct": 72,
        "multipliers": {
          "low": 0.76,
          "shoulder": 1,
          "peak": 1.31
        },
        "months": {
          "low": {
            "numbers": [
              5,
              6,
              9,
              10
            ],
            "label": "May–Jun, Sep–Oct"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              7,
              8,
              11
            ],
            "label": "Mar–Apr, Jul–Aug, Nov"
          },
          "peak": {
            "numbers": [
              12,
              1,
              2
            ],
            "label": "Jan–Feb, Dec"
          }
        }
      },
      "weeklyMidShoulder": 756,
      "monthlyCostOfLiving": 2130,
      "monthlyRentEquivalent": 990,
      "breakdown": {
        "budget": {
          "accommodation": 25,
          "food": 9,
          "transport": 3,
          "activities": 6,
          "misc": 4
        },
        "mid": {
          "accommodation": 55,
          "food": 23,
          "transport": 7,
          "activities": 15,
          "misc": 8
        },
        "luxury": {
          "accommodation": 163,
          "food": 60,
          "transport": 18,
          "activities": 40,
          "misc": 20
        }
      },
      "url": "https://travelbudget.co/city/hanoi"
    },
    {
      "slug": "havana",
      "name": "Havana",
      "country": "Cuba",
      "countrySlug": "cuba",
      "region": "caribbean",
      "currency": "CUP",
      "language": "Spanish",
      "vibe": [
        "music",
        "cars",
        "colonial"
      ],
      "bestTime": "Nov–Apr",
      "tbi": 16,
      "affordability": "Very cheap",
      "daily": {
        "budget": {
          "low": 64,
          "shoulder": 84,
          "peak": 110
        },
        "mid": {
          "low": 147,
          "shoulder": 194,
          "peak": 254
        },
        "luxury": {
          "low": 410,
          "shoulder": 540,
          "peak": 707
        }
      },
      "seasonality": {
        "profile": "tropical-dry",
        "label": "Tropical dry-season peak",
        "driver": "Demand follows the dry season and the northern winter escape; the wet months discount hard because arrivals fall, not because supply shrinks.",
        "swingPct": 72,
        "multipliers": {
          "low": 0.76,
          "shoulder": 1,
          "peak": 1.31
        },
        "months": {
          "low": {
            "numbers": [
              5,
              6,
              9,
              10
            ],
            "label": "May–Jun, Sep–Oct"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              7,
              8,
              11
            ],
            "label": "Mar–Apr, Jul–Aug, Nov"
          },
          "peak": {
            "numbers": [
              12,
              1,
              2
            ],
            "label": "Jan–Feb, Dec"
          }
        }
      },
      "weeklyMidShoulder": 1358,
      "monthlyCostOfLiving": 3822,
      "monthlyRentEquivalent": 1782,
      "breakdown": {
        "budget": {
          "accommodation": 45,
          "food": 16,
          "transport": 5,
          "activities": 11,
          "misc": 7
        },
        "mid": {
          "accommodation": 99,
          "food": 41,
          "transport": 13,
          "activities": 27,
          "misc": 14
        },
        "luxury": {
          "accommodation": 293,
          "food": 108,
          "transport": 31,
          "activities": 72,
          "misc": 36
        }
      },
      "url": "https://travelbudget.co/city/havana"
    },
    {
      "slug": "helsinki",
      "name": "Helsinki",
      "country": "Finland",
      "countrySlug": "finland",
      "region": "northern-europe",
      "currency": "EUR",
      "language": "Finnish",
      "vibe": [
        "design",
        "sauna",
        "sea"
      ],
      "bestTime": "Jun–Aug",
      "tbi": 50,
      "affordability": "Moderate",
      "daily": {
        "budget": {
          "low": 126,
          "shoulder": 177,
          "peak": 255
        },
        "mid": {
          "low": 290,
          "shoulder": 408,
          "peak": 588
        },
        "luxury": {
          "low": 810,
          "shoulder": 1141,
          "peak": 1643
        }
      },
      "seasonality": {
        "profile": "nordic-light",
        "label": "Short northern summer",
        "driver": "Daylight, not temperature, sets demand: a ten-week summer absorbs most annual arrivals, and the dark months discount steeply outside Christmas.",
        "swingPct": 103,
        "multipliers": {
          "low": 0.71,
          "shoulder": 1,
          "peak": 1.44
        },
        "months": {
          "low": {
            "numbers": [
              1,
              2,
              3,
              11
            ],
            "label": "Jan–Mar, Nov"
          },
          "shoulder": {
            "numbers": [
              4,
              5,
              9,
              10,
              12
            ],
            "label": "Apr–May, Sep–Oct, Dec"
          },
          "peak": {
            "numbers": [
              6,
              7,
              8
            ],
            "label": "Jun–Aug"
          }
        }
      },
      "weeklyMidShoulder": 2856,
      "monthlyCostOfLiving": 8022,
      "monthlyRentEquivalent": 3762,
      "breakdown": {
        "budget": {
          "accommodation": 95,
          "food": 33,
          "transport": 11,
          "activities": 24,
          "misc": 14
        },
        "mid": {
          "accommodation": 209,
          "food": 86,
          "transport": 27,
          "activities": 57,
          "misc": 29
        },
        "luxury": {
          "accommodation": 618,
          "food": 228,
          "transport": 67,
          "activities": 152,
          "misc": 76
        }
      },
      "url": "https://travelbudget.co/city/helsinki"
    },
    {
      "slug": "ho-chi-minh-city",
      "name": "Ho Chi Minh City",
      "country": "Vietnam",
      "countrySlug": "vietnam",
      "region": "southeast-asia",
      "currency": "VND",
      "language": "Vietnamese",
      "vibe": [
        "café",
        "markets",
        "nightlife"
      ],
      "bestTime": "Dec–Mar",
      "tbi": 4,
      "affordability": "Very cheap",
      "daily": {
        "budget": {
          "low": 40,
          "shoulder": 52,
          "peak": 68
        },
        "mid": {
          "low": 91,
          "shoulder": 120,
          "peak": 157
        },
        "luxury": {
          "low": 255,
          "shoulder": 336,
          "peak": 440
        }
      },
      "seasonality": {
        "profile": "tropical-dry",
        "label": "Tropical dry-season peak",
        "driver": "Demand follows the dry season and the northern winter escape; the wet months discount hard because arrivals fall, not because supply shrinks.",
        "swingPct": 72,
        "multipliers": {
          "low": 0.76,
          "shoulder": 1,
          "peak": 1.31
        },
        "months": {
          "low": {
            "numbers": [
              5,
              6,
              9,
              10
            ],
            "label": "May–Jun, Sep–Oct"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              7,
              8,
              11
            ],
            "label": "Mar–Apr, Jul–Aug, Nov"
          },
          "peak": {
            "numbers": [
              12,
              1,
              2
            ],
            "label": "Jan–Feb, Dec"
          }
        }
      },
      "weeklyMidShoulder": 840,
      "monthlyCostOfLiving": 2346,
      "monthlyRentEquivalent": 1116,
      "breakdown": {
        "budget": {
          "accommodation": 28,
          "food": 10,
          "transport": 3,
          "activities": 7,
          "misc": 4
        },
        "mid": {
          "accommodation": 62,
          "food": 25,
          "transport": 8,
          "activities": 17,
          "misc": 8
        },
        "luxury": {
          "accommodation": 182,
          "food": 67,
          "transport": 20,
          "activities": 45,
          "misc": 22
        }
      },
      "url": "https://travelbudget.co/city/ho-chi-minh-city"
    },
    {
      "slug": "hong-kong",
      "name": "Hong Kong",
      "country": "China",
      "countrySlug": "china",
      "region": "east-asia",
      "currency": "HKD",
      "language": "Cantonese",
      "vibe": [
        "skyline",
        "dim sum",
        "hikes"
      ],
      "bestTime": "Oct–Dec",
      "tbi": 46,
      "affordability": "Moderate",
      "daily": {
        "budget": {
          "low": 155,
          "shoulder": 169,
          "peak": 191
        },
        "mid": {
          "low": 354,
          "shoulder": 385,
          "peak": 435
        },
        "luxury": {
          "low": 994,
          "shoulder": 1080,
          "peak": 1220
        }
      },
      "seasonality": {
        "profile": "year-round-hub",
        "label": "Year-round business hub",
        "driver": "Corporate and convention demand fills the calendar, so leisure seasonality is shallow. The cheapest weeks are mid-summer and January, when business travel drops.",
        "swingPct": 23,
        "multipliers": {
          "low": 0.92,
          "shoulder": 1,
          "peak": 1.13
        },
        "months": {
          "low": {
            "numbers": [
              1,
              2,
              8
            ],
            "label": "Jan–Feb, Aug"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              7,
              11,
              12
            ],
            "label": "Mar–Apr, Jul, Nov–Dec"
          },
          "peak": {
            "numbers": [
              5,
              6,
              9,
              10
            ],
            "label": "May–Jun, Sep–Oct"
          }
        }
      },
      "weeklyMidShoulder": 2695,
      "monthlyCostOfLiving": 7554,
      "monthlyRentEquivalent": 3564,
      "breakdown": {
        "budget": {
          "accommodation": 90,
          "food": 31,
          "transport": 11,
          "activities": 23,
          "misc": 14
        },
        "mid": {
          "accommodation": 198,
          "food": 81,
          "transport": 25,
          "activities": 54,
          "misc": 27
        },
        "luxury": {
          "accommodation": 585,
          "food": 216,
          "transport": 63,
          "activities": 144,
          "misc": 72
        }
      },
      "url": "https://travelbudget.co/city/hong-kong"
    },
    {
      "slug": "istanbul",
      "name": "Istanbul",
      "country": "Turkey",
      "countrySlug": "turkey",
      "region": "middle-east",
      "currency": "TRY",
      "language": "Turkish",
      "vibe": [
        "bazaars",
        "mosques",
        "food"
      ],
      "bestTime": "Apr–May",
      "tbi": 16,
      "affordability": "Very cheap",
      "daily": {
        "budget": {
          "low": 66,
          "shoulder": 84,
          "peak": 108
        },
        "mid": {
          "low": 153,
          "shoulder": 194,
          "peak": 248
        },
        "luxury": {
          "low": 427,
          "shoulder": 540,
          "peak": 691
        }
      },
      "seasonality": {
        "profile": "shoulder-heavy",
        "label": "Heat-avoidance shoulder peak",
        "driver": "The hottest months are the cheapest here — demand peaks in spring and autumn, so the conventional 'shoulder is cheaper' rule inverts.",
        "swingPct": 62,
        "multipliers": {
          "low": 0.79,
          "shoulder": 1,
          "peak": 1.28
        },
        "months": {
          "low": {
            "numbers": [
              7,
              8
            ],
            "label": "Jul–Aug"
          },
          "shoulder": {
            "numbers": [
              1,
              2,
              6,
              11,
              12
            ],
            "label": "Jan–Feb, Jun, Nov–Dec"
          },
          "peak": {
            "numbers": [
              3,
              4,
              5,
              9,
              10
            ],
            "label": "Mar–May, Sep–Oct"
          }
        }
      },
      "weeklyMidShoulder": 1358,
      "monthlyCostOfLiving": 3822,
      "monthlyRentEquivalent": 1782,
      "breakdown": {
        "budget": {
          "accommodation": 45,
          "food": 16,
          "transport": 5,
          "activities": 11,
          "misc": 7
        },
        "mid": {
          "accommodation": 99,
          "food": 41,
          "transport": 13,
          "activities": 27,
          "misc": 14
        },
        "luxury": {
          "accommodation": 293,
          "food": 108,
          "transport": 31,
          "activities": 72,
          "misc": 36
        }
      },
      "url": "https://travelbudget.co/city/istanbul"
    },
    {
      "slug": "kathmandu",
      "name": "Kathmandu",
      "country": "Nepal",
      "countrySlug": "nepal",
      "region": "south-asia",
      "currency": "NPR",
      "language": "Nepali",
      "vibe": [
        "temples",
        "trekking",
        "crafts"
      ],
      "bestTime": "Oct–Nov",
      "tbi": 0,
      "affordability": "Very cheap",
      "daily": {
        "budget": {
          "low": 30,
          "shoulder": 42,
          "peak": 53
        },
        "mid": {
          "low": 68,
          "shoulder": 94,
          "peak": 118
        },
        "luxury": {
          "low": 190,
          "shoulder": 264,
          "peak": 333
        }
      },
      "seasonality": {
        "profile": "monsoon-split",
        "label": "Monsoon-split calendar",
        "driver": "Heat and monsoon push a deep three-month trough; the cool dry window carries festivals and weddings, which lifts domestic room demand as much as foreign arrivals.",
        "swingPct": 75,
        "multipliers": {
          "low": 0.72,
          "shoulder": 1,
          "peak": 1.26
        },
        "months": {
          "low": {
            "numbers": [
              6,
              7,
              8
            ],
            "label": "Jun–Aug"
          },
          "shoulder": {
            "numbers": [
              4,
              5,
              9,
              10
            ],
            "label": "Apr–May, Sep–Oct"
          },
          "peak": {
            "numbers": [
              11,
              12,
              1,
              2,
              3
            ],
            "label": "Jan–Mar, Nov–Dec"
          }
        }
      },
      "weeklyMidShoulder": 658,
      "monthlyCostOfLiving": 1854,
      "monthlyRentEquivalent": 864,
      "breakdown": {
        "budget": {
          "accommodation": 22,
          "food": 8,
          "transport": 3,
          "activities": 6,
          "misc": 3
        },
        "mid": {
          "accommodation": 48,
          "food": 20,
          "transport": 6,
          "activities": 13,
          "misc": 7
        },
        "luxury": {
          "accommodation": 143,
          "food": 53,
          "transport": 15,
          "activities": 35,
          "misc": 18
        }
      },
      "url": "https://travelbudget.co/city/kathmandu"
    },
    {
      "slug": "krakow",
      "name": "Krakow",
      "country": "Poland",
      "countrySlug": "poland",
      "region": "eastern-europe",
      "currency": "PLN",
      "language": "Polish",
      "vibe": [
        "history",
        "old town",
        "cafés"
      ],
      "bestTime": "Apr–Sep",
      "tbi": 16,
      "affordability": "Very cheap",
      "daily": {
        "budget": {
          "low": 67,
          "shoulder": 84,
          "peak": 113
        },
        "mid": {
          "low": 155,
          "shoulder": 194,
          "peak": 260
        },
        "luxury": {
          "low": 432,
          "shoulder": 540,
          "peak": 724
        }
      },
      "seasonality": {
        "profile": "euro-summer",
        "label": "Northern-hemisphere summer peak",
        "driver": "European school holidays concentrate demand into July–August; January–February hotel rates collapse with no compensating events.",
        "swingPct": 68,
        "multipliers": {
          "low": 0.8,
          "shoulder": 1,
          "peak": 1.34
        },
        "months": {
          "low": {
            "numbers": [
              1,
              2,
              11
            ],
            "label": "Jan–Feb, Nov"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              5,
              10,
              12
            ],
            "label": "Mar–May, Oct, Dec"
          },
          "peak": {
            "numbers": [
              6,
              7,
              8,
              9
            ],
            "label": "Jun–Sep"
          }
        }
      },
      "weeklyMidShoulder": 1358,
      "monthlyCostOfLiving": 3822,
      "monthlyRentEquivalent": 1782,
      "breakdown": {
        "budget": {
          "accommodation": 45,
          "food": 16,
          "transport": 5,
          "activities": 11,
          "misc": 7
        },
        "mid": {
          "accommodation": 99,
          "food": 41,
          "transport": 13,
          "activities": 27,
          "misc": 14
        },
        "luxury": {
          "accommodation": 293,
          "food": 108,
          "transport": 31,
          "activities": 72,
          "misc": 36
        }
      },
      "url": "https://travelbudget.co/city/krakow"
    },
    {
      "slug": "kuala-lumpur",
      "name": "Kuala Lumpur",
      "country": "Malaysia",
      "countrySlug": "malaysia",
      "region": "southeast-asia",
      "currency": "MYR",
      "language": "Malay",
      "vibe": [
        "food",
        "skyline",
        "mix"
      ],
      "bestTime": "Dec–Feb",
      "tbi": 12,
      "affordability": "Very cheap",
      "daily": {
        "budget": {
          "low": 69,
          "shoulder": 75,
          "peak": 85
        },
        "mid": {
          "low": 157,
          "shoulder": 171,
          "peak": 193
        },
        "luxury": {
          "low": 442,
          "shoulder": 480,
          "peak": 542
        }
      },
      "seasonality": {
        "profile": "year-round-hub",
        "label": "Year-round business hub",
        "driver": "Corporate and convention demand fills the calendar, so leisure seasonality is shallow. The cheapest weeks are mid-summer and January, when business travel drops.",
        "swingPct": 23,
        "multipliers": {
          "low": 0.92,
          "shoulder": 1,
          "peak": 1.13
        },
        "months": {
          "low": {
            "numbers": [
              1,
              2,
              8
            ],
            "label": "Jan–Feb, Aug"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              7,
              11,
              12
            ],
            "label": "Mar–Apr, Jul, Nov–Dec"
          },
          "peak": {
            "numbers": [
              5,
              6,
              9,
              10
            ],
            "label": "May–Jun, Sep–Oct"
          }
        }
      },
      "weeklyMidShoulder": 1197,
      "monthlyCostOfLiving": 3354,
      "monthlyRentEquivalent": 1584,
      "breakdown": {
        "budget": {
          "accommodation": 40,
          "food": 14,
          "transport": 5,
          "activities": 10,
          "misc": 6
        },
        "mid": {
          "accommodation": 88,
          "food": 36,
          "transport": 11,
          "activities": 24,
          "misc": 12
        },
        "luxury": {
          "accommodation": 260,
          "food": 96,
          "transport": 28,
          "activities": 64,
          "misc": 32
        }
      },
      "url": "https://travelbudget.co/city/kuala-lumpur"
    },
    {
      "slug": "kyoto",
      "name": "Kyoto",
      "country": "Japan",
      "countrySlug": "japan",
      "region": "east-asia",
      "currency": "JPY",
      "language": "Japanese",
      "vibe": [
        "temples",
        "tea",
        "seasons"
      ],
      "bestTime": "Mar–Apr",
      "tbi": 46,
      "affordability": "Moderate",
      "daily": {
        "budget": {
          "low": 145,
          "shoulder": 169,
          "peak": 247
        },
        "mid": {
          "low": 331,
          "shoulder": 385,
          "peak": 562
        },
        "luxury": {
          "low": 929,
          "shoulder": 1080,
          "peak": 1577
        }
      },
      "seasonality": {
        "profile": "japan-double-peak",
        "label": "Twin-bloom peak (spring and autumn)",
        "driver": "Two sharp, short peaks — cherry blossom and autumn colour — plus domestic Golden Week. Blossom-week lodging is the single most inflated inventory in the dataset; the rest of the year is comparatively flat.",
        "swingPct": 70,
        "multipliers": {
          "low": 0.86,
          "shoulder": 1,
          "peak": 1.46
        },
        "months": {
          "low": {
            "numbers": [
              1,
              2,
              6
            ],
            "label": "Jan–Feb, Jun"
          },
          "shoulder": {
            "numbers": [
              5,
              7,
              8,
              9,
              12
            ],
            "label": "May, Jul–Sep, Dec"
          },
          "peak": {
            "numbers": [
              3,
              4,
              10,
              11
            ],
            "label": "Mar–Apr, Oct–Nov"
          }
        }
      },
      "weeklyMidShoulder": 2695,
      "monthlyCostOfLiving": 7554,
      "monthlyRentEquivalent": 3564,
      "breakdown": {
        "budget": {
          "accommodation": 90,
          "food": 31,
          "transport": 11,
          "activities": 23,
          "misc": 14
        },
        "mid": {
          "accommodation": 198,
          "food": 81,
          "transport": 25,
          "activities": 54,
          "misc": 27
        },
        "luxury": {
          "accommodation": 585,
          "food": 216,
          "transport": 63,
          "activities": 144,
          "misc": 72
        }
      },
      "url": "https://travelbudget.co/city/kyoto"
    },
    {
      "slug": "lima",
      "name": "Lima",
      "country": "Peru",
      "countrySlug": "peru",
      "region": "south-america",
      "currency": "PEN",
      "language": "Spanish",
      "vibe": [
        "cuisine",
        "Pacific",
        "colonial"
      ],
      "bestTime": "Dec–Apr",
      "tbi": 12,
      "affordability": "Very cheap",
      "daily": {
        "budget": {
          "low": 68,
          "shoulder": 75,
          "peak": 87
        },
        "mid": {
          "low": 154,
          "shoulder": 171,
          "peak": 198
        },
        "luxury": {
          "low": 432,
          "shoulder": 480,
          "peak": 557
        }
      },
      "seasonality": {
        "profile": "highland-stable",
        "label": "Highland eternal-spring",
        "driver": "Altitude flattens the weather, so pricing follows holidays rather than climate. The swing is narrow, which makes the destination unusually predictable to budget.",
        "swingPct": 29,
        "multipliers": {
          "low": 0.9,
          "shoulder": 1,
          "peak": 1.16
        },
        "months": {
          "low": {
            "numbers": [
              5,
              9,
              10
            ],
            "label": "May, Sep–Oct"
          },
          "shoulder": {
            "numbers": [
              1,
              2,
              3,
              4,
              11
            ],
            "label": "Jan–Apr, Nov"
          },
          "peak": {
            "numbers": [
              6,
              7,
              8,
              12
            ],
            "label": "Jun–Aug, Dec"
          }
        }
      },
      "weeklyMidShoulder": 1197,
      "monthlyCostOfLiving": 3354,
      "monthlyRentEquivalent": 1584,
      "breakdown": {
        "budget": {
          "accommodation": 40,
          "food": 14,
          "transport": 5,
          "activities": 10,
          "misc": 6
        },
        "mid": {
          "accommodation": 88,
          "food": 36,
          "transport": 11,
          "activities": 24,
          "misc": 12
        },
        "luxury": {
          "accommodation": 260,
          "food": 96,
          "transport": 28,
          "activities": 64,
          "misc": 32
        }
      },
      "url": "https://travelbudget.co/city/lima"
    },
    {
      "slug": "lisbon",
      "name": "Lisbon",
      "country": "Portugal",
      "countrySlug": "portugal",
      "region": "southern-europe",
      "currency": "EUR",
      "language": "Portuguese",
      "vibe": [
        "hills",
        "seafood",
        "light"
      ],
      "bestTime": "Apr–Jun",
      "tbi": 32,
      "affordability": "Cheap",
      "daily": {
        "budget": {
          "low": 82,
          "shoulder": 132,
          "peak": 209
        },
        "mid": {
          "low": 186,
          "shoulder": 300,
          "peak": 474
        },
        "luxury": {
          "low": 521,
          "shoulder": 840,
          "peak": 1327
        }
      },
      "seasonality": {
        "profile": "med-coastal",
        "label": "Mediterranean coastal / resort",
        "driver": "Beach-led demand with cruise calls: rooms triple in August and half the inventory simply closes in winter, so the low season is genuinely cheap rather than merely quiet.",
        "swingPct": 155,
        "multipliers": {
          "low": 0.62,
          "shoulder": 1,
          "peak": 1.58
        },
        "months": {
          "low": {
            "numbers": [
              11,
              12,
              1,
              2,
              3
            ],
            "label": "Jan–Mar, Nov–Dec"
          },
          "shoulder": {
            "numbers": [
              4,
              5,
              10
            ],
            "label": "Apr–May, Oct"
          },
          "peak": {
            "numbers": [
              6,
              7,
              8,
              9
            ],
            "label": "Jun–Sep"
          }
        }
      },
      "weeklyMidShoulder": 2100,
      "monthlyCostOfLiving": 5892,
      "monthlyRentEquivalent": 2772,
      "breakdown": {
        "budget": {
          "accommodation": 70,
          "food": 25,
          "transport": 8,
          "activities": 18,
          "misc": 11
        },
        "mid": {
          "accommodation": 154,
          "food": 63,
          "transport": 20,
          "activities": 42,
          "misc": 21
        },
        "luxury": {
          "accommodation": 455,
          "food": 168,
          "transport": 49,
          "activities": 112,
          "misc": 56
        }
      },
      "url": "https://travelbudget.co/city/lisbon"
    },
    {
      "slug": "london",
      "name": "London",
      "country": "United Kingdom",
      "countrySlug": "uk",
      "region": "western-europe",
      "currency": "GBP",
      "language": "English",
      "vibe": [
        "museums",
        "theatre",
        "markets"
      ],
      "bestTime": "May–Sep",
      "tbi": 73,
      "affordability": "Pricey",
      "daily": {
        "budget": {
          "low": 225,
          "shoulder": 245,
          "peak": 277
        },
        "mid": {
          "low": 512,
          "shoulder": 556,
          "peak": 628
        },
        "luxury": {
          "low": 1435,
          "shoulder": 1560,
          "peak": 1763
        }
      },
      "seasonality": {
        "profile": "year-round-hub",
        "label": "Year-round business hub",
        "driver": "Corporate and convention demand fills the calendar, so leisure seasonality is shallow. The cheapest weeks are mid-summer and January, when business travel drops.",
        "swingPct": 23,
        "multipliers": {
          "low": 0.92,
          "shoulder": 1,
          "peak": 1.13
        },
        "months": {
          "low": {
            "numbers": [
              1,
              2,
              8
            ],
            "label": "Jan–Feb, Aug"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              7,
              11,
              12
            ],
            "label": "Mar–Apr, Jul, Nov–Dec"
          },
          "peak": {
            "numbers": [
              5,
              6,
              9,
              10
            ],
            "label": "May–Jun, Sep–Oct"
          }
        }
      },
      "weeklyMidShoulder": 3892,
      "monthlyCostOfLiving": 10908,
      "monthlyRentEquivalent": 5148,
      "breakdown": {
        "budget": {
          "accommodation": 130,
          "food": 46,
          "transport": 16,
          "activities": 33,
          "misc": 20
        },
        "mid": {
          "accommodation": 286,
          "food": 117,
          "transport": 36,
          "activities": 78,
          "misc": 39
        },
        "luxury": {
          "accommodation": 845,
          "food": 312,
          "transport": 91,
          "activities": 208,
          "misc": 104
        }
      },
      "url": "https://travelbudget.co/city/london"
    },
    {
      "slug": "madrid",
      "name": "Madrid",
      "country": "Spain",
      "countrySlug": "spain",
      "region": "southern-europe",
      "currency": "EUR",
      "language": "Spanish",
      "vibe": [
        "tapas",
        "art",
        "plazas"
      ],
      "bestTime": "Apr–Jun",
      "tbi": 39,
      "affordability": "Cheap",
      "daily": {
        "budget": {
          "low": 119,
          "shoulder": 150,
          "peak": 192
        },
        "mid": {
          "low": 270,
          "shoulder": 342,
          "peak": 438
        },
        "luxury": {
          "low": 758,
          "shoulder": 960,
          "peak": 1229
        }
      },
      "seasonality": {
        "profile": "shoulder-heavy",
        "label": "Heat-avoidance shoulder peak",
        "driver": "The hottest months are the cheapest here — demand peaks in spring and autumn, so the conventional 'shoulder is cheaper' rule inverts.",
        "swingPct": 62,
        "multipliers": {
          "low": 0.79,
          "shoulder": 1,
          "peak": 1.28
        },
        "months": {
          "low": {
            "numbers": [
              7,
              8
            ],
            "label": "Jul–Aug"
          },
          "shoulder": {
            "numbers": [
              1,
              2,
              6,
              11,
              12
            ],
            "label": "Jan–Feb, Jun, Nov–Dec"
          },
          "peak": {
            "numbers": [
              3,
              4,
              5,
              9,
              10
            ],
            "label": "Mar–May, Sep–Oct"
          }
        }
      },
      "weeklyMidShoulder": 2394,
      "monthlyCostOfLiving": 6708,
      "monthlyRentEquivalent": 3168,
      "breakdown": {
        "budget": {
          "accommodation": 80,
          "food": 28,
          "transport": 10,
          "activities": 20,
          "misc": 12
        },
        "mid": {
          "accommodation": 176,
          "food": 72,
          "transport": 22,
          "activities": 48,
          "misc": 24
        },
        "luxury": {
          "accommodation": 520,
          "food": 192,
          "transport": 56,
          "activities": 128,
          "misc": 64
        }
      },
      "url": "https://travelbudget.co/city/madrid"
    },
    {
      "slug": "manila",
      "name": "Manila",
      "country": "Philippines",
      "countrySlug": "philippines",
      "region": "southeast-asia",
      "currency": "PHP",
      "language": "Filipino",
      "vibe": [
        "food",
        "history",
        "islands"
      ],
      "bestTime": "Dec–Feb",
      "tbi": 9,
      "affordability": "Very cheap",
      "daily": {
        "budget": {
          "low": 47,
          "shoulder": 65,
          "peak": 82
        },
        "mid": {
          "low": 109,
          "shoulder": 151,
          "peak": 190
        },
        "luxury": {
          "low": 303,
          "shoulder": 421,
          "peak": 530
        }
      },
      "seasonality": {
        "profile": "monsoon-split",
        "label": "Monsoon-split calendar",
        "driver": "Heat and monsoon push a deep three-month trough; the cool dry window carries festivals and weddings, which lifts domestic room demand as much as foreign arrivals.",
        "swingPct": 75,
        "multipliers": {
          "low": 0.72,
          "shoulder": 1,
          "peak": 1.26
        },
        "months": {
          "low": {
            "numbers": [
              6,
              7,
              8
            ],
            "label": "Jun–Aug"
          },
          "shoulder": {
            "numbers": [
              4,
              5,
              9,
              10
            ],
            "label": "Apr–May, Sep–Oct"
          },
          "peak": {
            "numbers": [
              11,
              12,
              1,
              2,
              3
            ],
            "label": "Jan–Mar, Nov–Dec"
          }
        }
      },
      "weeklyMidShoulder": 1057,
      "monthlyCostOfLiving": 2976,
      "monthlyRentEquivalent": 1386,
      "breakdown": {
        "budget": {
          "accommodation": 35,
          "food": 12,
          "transport": 4,
          "activities": 9,
          "misc": 5
        },
        "mid": {
          "accommodation": 77,
          "food": 32,
          "transport": 10,
          "activities": 21,
          "misc": 11
        },
        "luxury": {
          "accommodation": 228,
          "food": 84,
          "transport": 25,
          "activities": 56,
          "misc": 28
        }
      },
      "url": "https://travelbudget.co/city/manila"
    },
    {
      "slug": "marrakech",
      "name": "Marrakech",
      "country": "Morocco",
      "countrySlug": "morocco",
      "region": "north-africa",
      "currency": "MAD",
      "language": "Arabic",
      "vibe": [
        "souks",
        "riads",
        "desert"
      ],
      "bestTime": "Mar–May",
      "tbi": 16,
      "affordability": "Very cheap",
      "daily": {
        "budget": {
          "low": 57,
          "shoulder": 84,
          "peak": 113
        },
        "mid": {
          "low": 132,
          "shoulder": 194,
          "peak": 260
        },
        "luxury": {
          "low": 367,
          "shoulder": 540,
          "peak": 724
        }
      },
      "seasonality": {
        "profile": "desert-winter",
        "label": "Desert winter peak",
        "driver": "Summer heat empties the city and rates crater; the winter months carry both leisure arrivals and event calendars, so the swing is one of the widest we track.",
        "swingPct": 97,
        "multipliers": {
          "low": 0.68,
          "shoulder": 1,
          "peak": 1.34
        },
        "months": {
          "low": {
            "numbers": [
              6,
              7,
              8
            ],
            "label": "Jun–Aug"
          },
          "shoulder": {
            "numbers": [
              4,
              5,
              9,
              10
            ],
            "label": "Apr–May, Sep–Oct"
          },
          "peak": {
            "numbers": [
              11,
              12,
              1,
              2,
              3
            ],
            "label": "Jan–Mar, Nov–Dec"
          }
        }
      },
      "weeklyMidShoulder": 1358,
      "monthlyCostOfLiving": 3822,
      "monthlyRentEquivalent": 1782,
      "breakdown": {
        "budget": {
          "accommodation": 45,
          "food": 16,
          "transport": 5,
          "activities": 11,
          "misc": 7
        },
        "mid": {
          "accommodation": 99,
          "food": 41,
          "transport": 13,
          "activities": 27,
          "misc": 14
        },
        "luxury": {
          "accommodation": 293,
          "food": 108,
          "transport": 31,
          "activities": 72,
          "misc": 36
        }
      },
      "url": "https://travelbudget.co/city/marrakech"
    },
    {
      "slug": "melbourne",
      "name": "Melbourne",
      "country": "Australia",
      "countrySlug": "australia",
      "region": "oceania",
      "currency": "AUD",
      "language": "English",
      "vibe": [
        "coffee",
        "art",
        "laneways"
      ],
      "bestTime": "Mar–May",
      "tbi": 59,
      "affordability": "Moderate",
      "daily": {
        "budget": {
          "low": 170,
          "shoulder": 207,
          "peak": 282
        },
        "mid": {
          "low": 386,
          "shoulder": 471,
          "peak": 641
        },
        "luxury": {
          "low": 1082,
          "shoulder": 1320,
          "peak": 1795
        }
      },
      "seasonality": {
        "profile": "southern-summer",
        "label": "Southern-hemisphere summer peak",
        "driver": "Peak sits over the southern summer and local school holidays in December–February; the winter trough is real but mild in coastal cities.",
        "swingPct": 66,
        "multipliers": {
          "low": 0.82,
          "shoulder": 1,
          "peak": 1.36
        },
        "months": {
          "low": {
            "numbers": [
              5,
              6,
              7,
              8
            ],
            "label": "May–Aug"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              9,
              10,
              11
            ],
            "label": "Mar–Apr, Sep–Nov"
          },
          "peak": {
            "numbers": [
              12,
              1,
              2
            ],
            "label": "Jan–Feb, Dec"
          }
        }
      },
      "weeklyMidShoulder": 3297,
      "monthlyCostOfLiving": 9246,
      "monthlyRentEquivalent": 4356,
      "breakdown": {
        "budget": {
          "accommodation": 110,
          "food": 39,
          "transport": 13,
          "activities": 28,
          "misc": 17
        },
        "mid": {
          "accommodation": 242,
          "food": 99,
          "transport": 31,
          "activities": 66,
          "misc": 33
        },
        "luxury": {
          "accommodation": 715,
          "food": 264,
          "transport": 77,
          "activities": 176,
          "misc": 88
        }
      },
      "url": "https://travelbudget.co/city/melbourne"
    },
    {
      "slug": "mexico-city",
      "name": "Mexico City",
      "country": "Mexico",
      "countrySlug": "mexico",
      "region": "central-america",
      "currency": "MXN",
      "language": "Spanish",
      "vibe": [
        "food",
        "art",
        "markets"
      ],
      "bestTime": "Mar–May",
      "tbi": 22,
      "affordability": "Cheap",
      "daily": {
        "budget": {
          "low": 93,
          "shoulder": 103,
          "peak": 119
        },
        "mid": {
          "low": 212,
          "shoulder": 236,
          "peak": 274
        },
        "luxury": {
          "low": 595,
          "shoulder": 661,
          "peak": 767
        }
      },
      "seasonality": {
        "profile": "highland-stable",
        "label": "Highland eternal-spring",
        "driver": "Altitude flattens the weather, so pricing follows holidays rather than climate. The swing is narrow, which makes the destination unusually predictable to budget.",
        "swingPct": 29,
        "multipliers": {
          "low": 0.9,
          "shoulder": 1,
          "peak": 1.16
        },
        "months": {
          "low": {
            "numbers": [
              5,
              9,
              10
            ],
            "label": "May, Sep–Oct"
          },
          "shoulder": {
            "numbers": [
              1,
              2,
              3,
              4,
              11
            ],
            "label": "Jan–Apr, Nov"
          },
          "peak": {
            "numbers": [
              6,
              7,
              8,
              12
            ],
            "label": "Jun–Aug, Dec"
          }
        }
      },
      "weeklyMidShoulder": 1652,
      "monthlyCostOfLiving": 4638,
      "monthlyRentEquivalent": 2178,
      "breakdown": {
        "budget": {
          "accommodation": 55,
          "food": 19,
          "transport": 7,
          "activities": 14,
          "misc": 8
        },
        "mid": {
          "accommodation": 121,
          "food": 50,
          "transport": 15,
          "activities": 33,
          "misc": 17
        },
        "luxury": {
          "accommodation": 358,
          "food": 132,
          "transport": 39,
          "activities": 88,
          "misc": 44
        }
      },
      "url": "https://travelbudget.co/city/mexico-city"
    },
    {
      "slug": "mumbai",
      "name": "Mumbai",
      "country": "India",
      "countrySlug": "india",
      "region": "south-asia",
      "currency": "INR",
      "language": "Hindi",
      "vibe": [
        "coast",
        "markets",
        "cinema"
      ],
      "bestTime": "Nov–Feb",
      "tbi": 5,
      "affordability": "Very cheap",
      "daily": {
        "budget": {
          "low": 42,
          "shoulder": 58,
          "peak": 73
        },
        "mid": {
          "low": 92,
          "shoulder": 128,
          "peak": 161
        },
        "luxury": {
          "low": 259,
          "shoulder": 360,
          "peak": 454
        }
      },
      "seasonality": {
        "profile": "monsoon-split",
        "label": "Monsoon-split calendar",
        "driver": "Heat and monsoon push a deep three-month trough; the cool dry window carries festivals and weddings, which lifts domestic room demand as much as foreign arrivals.",
        "swingPct": 75,
        "multipliers": {
          "low": 0.72,
          "shoulder": 1,
          "peak": 1.26
        },
        "months": {
          "low": {
            "numbers": [
              6,
              7,
              8
            ],
            "label": "Jun–Aug"
          },
          "shoulder": {
            "numbers": [
              4,
              5,
              9,
              10
            ],
            "label": "Apr–May, Sep–Oct"
          },
          "peak": {
            "numbers": [
              11,
              12,
              1,
              2,
              3
            ],
            "label": "Jan–Mar, Nov–Dec"
          }
        }
      },
      "weeklyMidShoulder": 896,
      "monthlyCostOfLiving": 2508,
      "monthlyRentEquivalent": 1188,
      "breakdown": {
        "budget": {
          "accommodation": 30,
          "food": 11,
          "transport": 4,
          "activities": 8,
          "misc": 5
        },
        "mid": {
          "accommodation": 66,
          "food": 27,
          "transport": 8,
          "activities": 18,
          "misc": 9
        },
        "luxury": {
          "accommodation": 195,
          "food": 72,
          "transport": 21,
          "activities": 48,
          "misc": 24
        }
      },
      "url": "https://travelbudget.co/city/mumbai"
    },
    {
      "slug": "nairobi",
      "name": "Nairobi",
      "country": "Kenya",
      "countrySlug": "kenya",
      "region": "sub-saharan-africa",
      "currency": "KES",
      "language": "Swahili",
      "vibe": [
        "safari",
        "markets",
        "altitude"
      ],
      "bestTime": "Jun–Oct",
      "tbi": 22,
      "affordability": "Cheap",
      "daily": {
        "budget": {
          "low": 78,
          "shoulder": 103,
          "peak": 135
        },
        "mid": {
          "low": 179,
          "shoulder": 236,
          "peak": 309
        },
        "luxury": {
          "low": 502,
          "shoulder": 661,
          "peak": 866
        }
      },
      "seasonality": {
        "profile": "tropical-dry",
        "label": "Tropical dry-season peak",
        "driver": "Demand follows the dry season and the northern winter escape; the wet months discount hard because arrivals fall, not because supply shrinks.",
        "swingPct": 72,
        "multipliers": {
          "low": 0.76,
          "shoulder": 1,
          "peak": 1.31
        },
        "months": {
          "low": {
            "numbers": [
              5,
              6,
              9,
              10
            ],
            "label": "May–Jun, Sep–Oct"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              7,
              8,
              11
            ],
            "label": "Mar–Apr, Jul–Aug, Nov"
          },
          "peak": {
            "numbers": [
              12,
              1,
              2
            ],
            "label": "Jan–Feb, Dec"
          }
        }
      },
      "weeklyMidShoulder": 1652,
      "monthlyCostOfLiving": 4638,
      "monthlyRentEquivalent": 2178,
      "breakdown": {
        "budget": {
          "accommodation": 55,
          "food": 19,
          "transport": 7,
          "activities": 14,
          "misc": 8
        },
        "mid": {
          "accommodation": 121,
          "food": 50,
          "transport": 15,
          "activities": 33,
          "misc": 17
        },
        "luxury": {
          "accommodation": 358,
          "food": 132,
          "transport": 39,
          "activities": 88,
          "misc": 44
        }
      },
      "url": "https://travelbudget.co/city/nairobi"
    },
    {
      "slug": "new-york",
      "name": "New York",
      "country": "United States",
      "countrySlug": "usa",
      "region": "north-america",
      "currency": "USD",
      "language": "English",
      "vibe": [
        "museums",
        "food",
        "skyline"
      ],
      "bestTime": "Apr–Jun",
      "tbi": 100,
      "affordability": "Very pricey",
      "daily": {
        "budget": {
          "low": 293,
          "shoulder": 318,
          "peak": 359
        },
        "mid": {
          "low": 670,
          "shoulder": 728,
          "peak": 823
        },
        "luxury": {
          "low": 1877,
          "shoulder": 2040,
          "peak": 2305
        }
      },
      "seasonality": {
        "profile": "year-round-hub",
        "label": "Year-round business hub",
        "driver": "Corporate and convention demand fills the calendar, so leisure seasonality is shallow. The cheapest weeks are mid-summer and January, when business travel drops.",
        "swingPct": 23,
        "multipliers": {
          "low": 0.92,
          "shoulder": 1,
          "peak": 1.13
        },
        "months": {
          "low": {
            "numbers": [
              1,
              2,
              8
            ],
            "label": "Jan–Feb, Aug"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              7,
              11,
              12
            ],
            "label": "Mar–Apr, Jul, Nov–Dec"
          },
          "peak": {
            "numbers": [
              5,
              6,
              9,
              10
            ],
            "label": "May–Jun, Sep–Oct"
          }
        }
      },
      "weeklyMidShoulder": 5096,
      "monthlyCostOfLiving": 14292,
      "monthlyRentEquivalent": 6732,
      "breakdown": {
        "budget": {
          "accommodation": 170,
          "food": 59,
          "transport": 20,
          "activities": 43,
          "misc": 26
        },
        "mid": {
          "accommodation": 374,
          "food": 153,
          "transport": 48,
          "activities": 102,
          "misc": 51
        },
        "luxury": {
          "accommodation": 1105,
          "food": 408,
          "transport": 119,
          "activities": 272,
          "misc": 136
        }
      },
      "url": "https://travelbudget.co/city/new-york"
    },
    {
      "slug": "panama-city",
      "name": "Panama City",
      "country": "Panama",
      "countrySlug": "panama",
      "region": "central-america",
      "currency": "USD",
      "language": "Spanish",
      "vibe": [
        "canal",
        "skyline",
        "colonial"
      ],
      "bestTime": "Dec–Apr",
      "tbi": 32,
      "affordability": "Cheap",
      "daily": {
        "budget": {
          "low": 121,
          "shoulder": 132,
          "peak": 149
        },
        "mid": {
          "low": 276,
          "shoulder": 300,
          "peak": 339
        },
        "luxury": {
          "low": 773,
          "shoulder": 840,
          "peak": 949
        }
      },
      "seasonality": {
        "profile": "year-round-hub",
        "label": "Year-round business hub",
        "driver": "Corporate and convention demand fills the calendar, so leisure seasonality is shallow. The cheapest weeks are mid-summer and January, when business travel drops.",
        "swingPct": 23,
        "multipliers": {
          "low": 0.92,
          "shoulder": 1,
          "peak": 1.13
        },
        "months": {
          "low": {
            "numbers": [
              1,
              2,
              8
            ],
            "label": "Jan–Feb, Aug"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              7,
              11,
              12
            ],
            "label": "Mar–Apr, Jul, Nov–Dec"
          },
          "peak": {
            "numbers": [
              5,
              6,
              9,
              10
            ],
            "label": "May–Jun, Sep–Oct"
          }
        }
      },
      "weeklyMidShoulder": 2100,
      "monthlyCostOfLiving": 5892,
      "monthlyRentEquivalent": 2772,
      "breakdown": {
        "budget": {
          "accommodation": 70,
          "food": 25,
          "transport": 8,
          "activities": 18,
          "misc": 11
        },
        "mid": {
          "accommodation": 154,
          "food": 63,
          "transport": 20,
          "activities": 42,
          "misc": 21
        },
        "luxury": {
          "accommodation": 455,
          "food": 168,
          "transport": 49,
          "activities": 112,
          "misc": 56
        }
      },
      "url": "https://travelbudget.co/city/panama-city"
    },
    {
      "slug": "paris",
      "name": "Paris",
      "country": "France",
      "countrySlug": "france",
      "region": "western-europe",
      "currency": "EUR",
      "language": "French",
      "vibe": [
        "museums",
        "cafés",
        "architecture"
      ],
      "bestTime": "Apr–Jun",
      "tbi": 66,
      "affordability": "Pricey",
      "daily": {
        "budget": {
          "low": 179,
          "shoulder": 224,
          "peak": 300
        },
        "mid": {
          "low": 411,
          "shoulder": 514,
          "peak": 689
        },
        "luxury": {
          "low": 1152,
          "shoulder": 1440,
          "peak": 1930
        }
      },
      "seasonality": {
        "profile": "euro-summer",
        "label": "Northern-hemisphere summer peak",
        "driver": "European school holidays concentrate demand into July–August; January–February hotel rates collapse with no compensating events.",
        "swingPct": 68,
        "multipliers": {
          "low": 0.8,
          "shoulder": 1,
          "peak": 1.34
        },
        "months": {
          "low": {
            "numbers": [
              1,
              2,
              11
            ],
            "label": "Jan–Feb, Nov"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              5,
              10,
              12
            ],
            "label": "Mar–May, Oct, Dec"
          },
          "peak": {
            "numbers": [
              6,
              7,
              8,
              9
            ],
            "label": "Jun–Sep"
          }
        }
      },
      "weeklyMidShoulder": 3598,
      "monthlyCostOfLiving": 10092,
      "monthlyRentEquivalent": 4752,
      "breakdown": {
        "budget": {
          "accommodation": 120,
          "food": 42,
          "transport": 14,
          "activities": 30,
          "misc": 18
        },
        "mid": {
          "accommodation": 264,
          "food": 108,
          "transport": 34,
          "activities": 72,
          "misc": 36
        },
        "luxury": {
          "accommodation": 780,
          "food": 288,
          "transport": 84,
          "activities": 192,
          "misc": 96
        }
      },
      "url": "https://travelbudget.co/city/paris"
    },
    {
      "slug": "porto",
      "name": "Porto",
      "country": "Portugal",
      "countrySlug": "portugal",
      "region": "southern-europe",
      "currency": "EUR",
      "language": "Portuguese",
      "vibe": [
        "wine",
        "river",
        "tiles"
      ],
      "bestTime": "May–Sep",
      "tbi": 29,
      "affordability": "Cheap",
      "daily": {
        "budget": {
          "low": 76,
          "shoulder": 122,
          "peak": 193
        },
        "mid": {
          "low": 173,
          "shoulder": 279,
          "peak": 441
        },
        "luxury": {
          "low": 484,
          "shoulder": 781,
          "peak": 1234
        }
      },
      "seasonality": {
        "profile": "med-coastal",
        "label": "Mediterranean coastal / resort",
        "driver": "Beach-led demand with cruise calls: rooms triple in August and half the inventory simply closes in winter, so the low season is genuinely cheap rather than merely quiet.",
        "swingPct": 155,
        "multipliers": {
          "low": 0.62,
          "shoulder": 1,
          "peak": 1.58
        },
        "months": {
          "low": {
            "numbers": [
              11,
              12,
              1,
              2,
              3
            ],
            "label": "Jan–Mar, Nov–Dec"
          },
          "shoulder": {
            "numbers": [
              4,
              5,
              10
            ],
            "label": "Apr–May, Oct"
          },
          "peak": {
            "numbers": [
              6,
              7,
              8,
              9
            ],
            "label": "Jun–Sep"
          }
        }
      },
      "weeklyMidShoulder": 1953,
      "monthlyCostOfLiving": 5484,
      "monthlyRentEquivalent": 2574,
      "breakdown": {
        "budget": {
          "accommodation": 65,
          "food": 23,
          "transport": 8,
          "activities": 16,
          "misc": 10
        },
        "mid": {
          "accommodation": 143,
          "food": 59,
          "transport": 18,
          "activities": 39,
          "misc": 20
        },
        "luxury": {
          "accommodation": 423,
          "food": 156,
          "transport": 46,
          "activities": 104,
          "misc": 52
        }
      },
      "url": "https://travelbudget.co/city/porto"
    },
    {
      "slug": "prague",
      "name": "Prague",
      "country": "Czech Republic",
      "countrySlug": "czechia",
      "region": "eastern-europe",
      "currency": "CZK",
      "language": "Czech",
      "vibe": [
        "castle",
        "beer",
        "spires"
      ],
      "bestTime": "Apr–Oct",
      "tbi": 22,
      "affordability": "Cheap",
      "daily": {
        "budget": {
          "low": 82,
          "shoulder": 103,
          "peak": 138
        },
        "mid": {
          "low": 189,
          "shoulder": 236,
          "peak": 316
        },
        "luxury": {
          "low": 529,
          "shoulder": 661,
          "peak": 886
        }
      },
      "seasonality": {
        "profile": "euro-summer",
        "label": "Northern-hemisphere summer peak",
        "driver": "European school holidays concentrate demand into July–August; January–February hotel rates collapse with no compensating events.",
        "swingPct": 68,
        "multipliers": {
          "low": 0.8,
          "shoulder": 1,
          "peak": 1.34
        },
        "months": {
          "low": {
            "numbers": [
              1,
              2,
              11
            ],
            "label": "Jan–Feb, Nov"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              5,
              10,
              12
            ],
            "label": "Mar–May, Oct, Dec"
          },
          "peak": {
            "numbers": [
              6,
              7,
              8,
              9
            ],
            "label": "Jun–Sep"
          }
        }
      },
      "weeklyMidShoulder": 1652,
      "monthlyCostOfLiving": 4638,
      "monthlyRentEquivalent": 2178,
      "breakdown": {
        "budget": {
          "accommodation": 55,
          "food": 19,
          "transport": 7,
          "activities": 14,
          "misc": 8
        },
        "mid": {
          "accommodation": 121,
          "food": 50,
          "transport": 15,
          "activities": 33,
          "misc": 17
        },
        "luxury": {
          "accommodation": 358,
          "food": 132,
          "transport": 39,
          "activities": 88,
          "misc": 44
        }
      },
      "url": "https://travelbudget.co/city/prague"
    },
    {
      "slug": "reykjavik",
      "name": "Reykjavik",
      "country": "Iceland",
      "countrySlug": "iceland",
      "region": "northern-europe",
      "currency": "ISK",
      "language": "Icelandic",
      "vibe": [
        "geothermal",
        "nature",
        "light"
      ],
      "bestTime": "Jun–Aug",
      "tbi": 73,
      "affordability": "Pricey",
      "daily": {
        "budget": {
          "low": 174,
          "shoulder": 245,
          "peak": 353
        },
        "mid": {
          "low": 395,
          "shoulder": 556,
          "peak": 801
        },
        "luxury": {
          "low": 1108,
          "shoulder": 1560,
          "peak": 2246
        }
      },
      "seasonality": {
        "profile": "nordic-light",
        "label": "Short northern summer",
        "driver": "Daylight, not temperature, sets demand: a ten-week summer absorbs most annual arrivals, and the dark months discount steeply outside Christmas.",
        "swingPct": 103,
        "multipliers": {
          "low": 0.71,
          "shoulder": 1,
          "peak": 1.44
        },
        "months": {
          "low": {
            "numbers": [
              1,
              2,
              3,
              11
            ],
            "label": "Jan–Mar, Nov"
          },
          "shoulder": {
            "numbers": [
              4,
              5,
              9,
              10,
              12
            ],
            "label": "Apr–May, Sep–Oct, Dec"
          },
          "peak": {
            "numbers": [
              6,
              7,
              8
            ],
            "label": "Jun–Aug"
          }
        }
      },
      "weeklyMidShoulder": 3892,
      "monthlyCostOfLiving": 10908,
      "monthlyRentEquivalent": 5148,
      "breakdown": {
        "budget": {
          "accommodation": 130,
          "food": 46,
          "transport": 16,
          "activities": 33,
          "misc": 20
        },
        "mid": {
          "accommodation": 286,
          "food": 117,
          "transport": 36,
          "activities": 78,
          "misc": 39
        },
        "luxury": {
          "accommodation": 845,
          "food": 312,
          "transport": 91,
          "activities": 208,
          "misc": 104
        }
      },
      "url": "https://travelbudget.co/city/reykjavik"
    },
    {
      "slug": "rio-de-janeiro",
      "name": "Rio de Janeiro",
      "country": "Brazil",
      "countrySlug": "brazil",
      "region": "south-america",
      "currency": "BRL",
      "language": "Portuguese",
      "vibe": [
        "beach",
        "samba",
        "mountains"
      ],
      "bestTime": "Dec–Mar",
      "tbi": 26,
      "affordability": "Cheap",
      "daily": {
        "budget": {
          "low": 87,
          "shoulder": 112,
          "peak": 193
        },
        "mid": {
          "low": 200,
          "shoulder": 257,
          "peak": 442
        },
        "luxury": {
          "low": 562,
          "shoulder": 720,
          "peak": 1238
        }
      },
      "seasonality": {
        "profile": "carnival-spike",
        "label": "Single-festival spike",
        "driver": "One festival week distorts the entire year: carnival-window lodging is routinely quoted at two to three times the annual average, with minimum-stay rules attached.",
        "swingPct": 121,
        "multipliers": {
          "low": 0.78,
          "shoulder": 1,
          "peak": 1.72
        },
        "months": {
          "low": {
            "numbers": [
              5,
              6,
              7,
              8
            ],
            "label": "May–Aug"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              9,
              10,
              11
            ],
            "label": "Mar–Apr, Sep–Nov"
          },
          "peak": {
            "numbers": [
              12,
              1,
              2
            ],
            "label": "Jan–Feb, Dec"
          }
        }
      },
      "weeklyMidShoulder": 1799,
      "monthlyCostOfLiving": 5046,
      "monthlyRentEquivalent": 2376,
      "breakdown": {
        "budget": {
          "accommodation": 60,
          "food": 21,
          "transport": 7,
          "activities": 15,
          "misc": 9
        },
        "mid": {
          "accommodation": 132,
          "food": 54,
          "transport": 17,
          "activities": 36,
          "misc": 18
        },
        "luxury": {
          "accommodation": 390,
          "food": 144,
          "transport": 42,
          "activities": 96,
          "misc": 48
        }
      },
      "url": "https://travelbudget.co/city/rio-de-janeiro"
    },
    {
      "slug": "rome",
      "name": "Rome",
      "country": "Italy",
      "countrySlug": "italy",
      "region": "southern-europe",
      "currency": "EUR",
      "language": "Italian",
      "vibe": [
        "ruins",
        "food",
        "piazzas"
      ],
      "bestTime": "Apr–May",
      "tbi": 50,
      "affordability": "Moderate",
      "daily": {
        "budget": {
          "low": 140,
          "shoulder": 177,
          "peak": 227
        },
        "mid": {
          "low": 322,
          "shoulder": 408,
          "peak": 522
        },
        "luxury": {
          "low": 901,
          "shoulder": 1141,
          "peak": 1460
        }
      },
      "seasonality": {
        "profile": "shoulder-heavy",
        "label": "Heat-avoidance shoulder peak",
        "driver": "The hottest months are the cheapest here — demand peaks in spring and autumn, so the conventional 'shoulder is cheaper' rule inverts.",
        "swingPct": 62,
        "multipliers": {
          "low": 0.79,
          "shoulder": 1,
          "peak": 1.28
        },
        "months": {
          "low": {
            "numbers": [
              7,
              8
            ],
            "label": "Jul–Aug"
          },
          "shoulder": {
            "numbers": [
              1,
              2,
              6,
              11,
              12
            ],
            "label": "Jan–Feb, Jun, Nov–Dec"
          },
          "peak": {
            "numbers": [
              3,
              4,
              5,
              9,
              10
            ],
            "label": "Mar–May, Sep–Oct"
          }
        }
      },
      "weeklyMidShoulder": 2856,
      "monthlyCostOfLiving": 8022,
      "monthlyRentEquivalent": 3762,
      "breakdown": {
        "budget": {
          "accommodation": 95,
          "food": 33,
          "transport": 11,
          "activities": 24,
          "misc": 14
        },
        "mid": {
          "accommodation": 209,
          "food": 86,
          "transport": 27,
          "activities": 57,
          "misc": 29
        },
        "luxury": {
          "accommodation": 618,
          "food": 228,
          "transport": 67,
          "activities": 152,
          "misc": 76
        }
      },
      "url": "https://travelbudget.co/city/rome"
    },
    {
      "slug": "san-francisco",
      "name": "San Francisco",
      "country": "United States",
      "countrySlug": "usa",
      "region": "north-america",
      "currency": "USD",
      "language": "English",
      "vibe": [
        "food",
        "Pacific",
        "tech"
      ],
      "bestTime": "Sep–Nov",
      "tbi": 100,
      "affordability": "Very pricey",
      "daily": {
        "budget": {
          "low": 293,
          "shoulder": 318,
          "peak": 359
        },
        "mid": {
          "low": 670,
          "shoulder": 728,
          "peak": 823
        },
        "luxury": {
          "low": 1877,
          "shoulder": 2040,
          "peak": 2305
        }
      },
      "seasonality": {
        "profile": "year-round-hub",
        "label": "Year-round business hub",
        "driver": "Corporate and convention demand fills the calendar, so leisure seasonality is shallow. The cheapest weeks are mid-summer and January, when business travel drops.",
        "swingPct": 23,
        "multipliers": {
          "low": 0.92,
          "shoulder": 1,
          "peak": 1.13
        },
        "months": {
          "low": {
            "numbers": [
              1,
              2,
              8
            ],
            "label": "Jan–Feb, Aug"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              7,
              11,
              12
            ],
            "label": "Mar–Apr, Jul, Nov–Dec"
          },
          "peak": {
            "numbers": [
              5,
              6,
              9,
              10
            ],
            "label": "May–Jun, Sep–Oct"
          }
        }
      },
      "weeklyMidShoulder": 5096,
      "monthlyCostOfLiving": 14292,
      "monthlyRentEquivalent": 6732,
      "breakdown": {
        "budget": {
          "accommodation": 170,
          "food": 59,
          "transport": 20,
          "activities": 43,
          "misc": 26
        },
        "mid": {
          "accommodation": 374,
          "food": 153,
          "transport": 48,
          "activities": 102,
          "misc": 51
        },
        "luxury": {
          "accommodation": 1105,
          "food": 408,
          "transport": 119,
          "activities": 272,
          "misc": 136
        }
      },
      "url": "https://travelbudget.co/city/san-francisco"
    },
    {
      "slug": "costa-rica",
      "name": "San José",
      "country": "Costa Rica",
      "countrySlug": "costa-rica",
      "region": "central-america",
      "currency": "USD",
      "language": "Spanish",
      "vibe": [
        "nature",
        "coffee",
        "wildlife"
      ],
      "bestTime": "Dec–Apr",
      "tbi": 22,
      "affordability": "Cheap",
      "daily": {
        "budget": {
          "low": 78,
          "shoulder": 103,
          "peak": 135
        },
        "mid": {
          "low": 179,
          "shoulder": 236,
          "peak": 309
        },
        "luxury": {
          "low": 502,
          "shoulder": 661,
          "peak": 866
        }
      },
      "seasonality": {
        "profile": "tropical-dry",
        "label": "Tropical dry-season peak",
        "driver": "Demand follows the dry season and the northern winter escape; the wet months discount hard because arrivals fall, not because supply shrinks.",
        "swingPct": 72,
        "multipliers": {
          "low": 0.76,
          "shoulder": 1,
          "peak": 1.31
        },
        "months": {
          "low": {
            "numbers": [
              5,
              6,
              9,
              10
            ],
            "label": "May–Jun, Sep–Oct"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              7,
              8,
              11
            ],
            "label": "Mar–Apr, Jul–Aug, Nov"
          },
          "peak": {
            "numbers": [
              12,
              1,
              2
            ],
            "label": "Jan–Feb, Dec"
          }
        }
      },
      "weeklyMidShoulder": 1652,
      "monthlyCostOfLiving": 4638,
      "monthlyRentEquivalent": 2178,
      "breakdown": {
        "budget": {
          "accommodation": 55,
          "food": 19,
          "transport": 7,
          "activities": 14,
          "misc": 8
        },
        "mid": {
          "accommodation": 121,
          "food": 50,
          "transport": 15,
          "activities": 33,
          "misc": 17
        },
        "luxury": {
          "accommodation": 358,
          "food": 132,
          "transport": 39,
          "activities": 88,
          "misc": 44
        }
      },
      "url": "https://travelbudget.co/city/costa-rica"
    },
    {
      "slug": "santiago",
      "name": "Santiago",
      "country": "Chile",
      "countrySlug": "chile",
      "region": "south-america",
      "currency": "CLP",
      "language": "Spanish",
      "vibe": [
        "Andes",
        "wine",
        "markets"
      ],
      "bestTime": "Sep–Nov",
      "tbi": 22,
      "affordability": "Cheap",
      "daily": {
        "budget": {
          "low": 84,
          "shoulder": 103,
          "peak": 140
        },
        "mid": {
          "low": 194,
          "shoulder": 236,
          "peak": 321
        },
        "luxury": {
          "low": 542,
          "shoulder": 661,
          "peak": 899
        }
      },
      "seasonality": {
        "profile": "southern-summer",
        "label": "Southern-hemisphere summer peak",
        "driver": "Peak sits over the southern summer and local school holidays in December–February; the winter trough is real but mild in coastal cities.",
        "swingPct": 66,
        "multipliers": {
          "low": 0.82,
          "shoulder": 1,
          "peak": 1.36
        },
        "months": {
          "low": {
            "numbers": [
              5,
              6,
              7,
              8
            ],
            "label": "May–Aug"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              9,
              10,
              11
            ],
            "label": "Mar–Apr, Sep–Nov"
          },
          "peak": {
            "numbers": [
              12,
              1,
              2
            ],
            "label": "Jan–Feb, Dec"
          }
        }
      },
      "weeklyMidShoulder": 1652,
      "monthlyCostOfLiving": 4638,
      "monthlyRentEquivalent": 2178,
      "breakdown": {
        "budget": {
          "accommodation": 55,
          "food": 19,
          "transport": 7,
          "activities": 14,
          "misc": 8
        },
        "mid": {
          "accommodation": 121,
          "food": 50,
          "transport": 15,
          "activities": 33,
          "misc": 17
        },
        "luxury": {
          "accommodation": 358,
          "food": 132,
          "transport": 39,
          "activities": 88,
          "misc": 44
        }
      },
      "url": "https://travelbudget.co/city/santiago"
    },
    {
      "slug": "seoul",
      "name": "Seoul",
      "country": "South Korea",
      "countrySlug": "south-korea",
      "region": "east-asia",
      "currency": "KRW",
      "language": "Korean",
      "vibe": [
        "food",
        "design",
        "palaces"
      ],
      "bestTime": "Apr–Jun",
      "tbi": 32,
      "affordability": "Cheap",
      "daily": {
        "budget": {
          "low": 121,
          "shoulder": 132,
          "peak": 149
        },
        "mid": {
          "low": 276,
          "shoulder": 300,
          "peak": 339
        },
        "luxury": {
          "low": 773,
          "shoulder": 840,
          "peak": 949
        }
      },
      "seasonality": {
        "profile": "year-round-hub",
        "label": "Year-round business hub",
        "driver": "Corporate and convention demand fills the calendar, so leisure seasonality is shallow. The cheapest weeks are mid-summer and January, when business travel drops.",
        "swingPct": 23,
        "multipliers": {
          "low": 0.92,
          "shoulder": 1,
          "peak": 1.13
        },
        "months": {
          "low": {
            "numbers": [
              1,
              2,
              8
            ],
            "label": "Jan–Feb, Aug"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              7,
              11,
              12
            ],
            "label": "Mar–Apr, Jul, Nov–Dec"
          },
          "peak": {
            "numbers": [
              5,
              6,
              9,
              10
            ],
            "label": "May–Jun, Sep–Oct"
          }
        }
      },
      "weeklyMidShoulder": 2100,
      "monthlyCostOfLiving": 5892,
      "monthlyRentEquivalent": 2772,
      "breakdown": {
        "budget": {
          "accommodation": 70,
          "food": 25,
          "transport": 8,
          "activities": 18,
          "misc": 11
        },
        "mid": {
          "accommodation": 154,
          "food": 63,
          "transport": 20,
          "activities": 42,
          "misc": 21
        },
        "luxury": {
          "accommodation": 455,
          "food": 168,
          "transport": 49,
          "activities": 112,
          "misc": 56
        }
      },
      "url": "https://travelbudget.co/city/seoul"
    },
    {
      "slug": "siem-reap",
      "name": "Siem Reap",
      "country": "Cambodia",
      "countrySlug": "cambodia",
      "region": "southeast-asia",
      "currency": "KHR",
      "language": "Khmer",
      "vibe": [
        "temples",
        "jungle",
        "markets"
      ],
      "bestTime": "Nov–Feb",
      "tbi": 2,
      "affordability": "Very cheap",
      "daily": {
        "budget": {
          "low": 36,
          "shoulder": 47,
          "peak": 62
        },
        "mid": {
          "low": 82,
          "shoulder": 108,
          "peak": 141
        },
        "luxury": {
          "low": 229,
          "shoulder": 301,
          "peak": 394
        }
      },
      "seasonality": {
        "profile": "tropical-dry",
        "label": "Tropical dry-season peak",
        "driver": "Demand follows the dry season and the northern winter escape; the wet months discount hard because arrivals fall, not because supply shrinks.",
        "swingPct": 72,
        "multipliers": {
          "low": 0.76,
          "shoulder": 1,
          "peak": 1.31
        },
        "months": {
          "low": {
            "numbers": [
              5,
              6,
              9,
              10
            ],
            "label": "May–Jun, Sep–Oct"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              7,
              8,
              11
            ],
            "label": "Mar–Apr, Jul–Aug, Nov"
          },
          "peak": {
            "numbers": [
              12,
              1,
              2
            ],
            "label": "Jan–Feb, Dec"
          }
        }
      },
      "weeklyMidShoulder": 756,
      "monthlyCostOfLiving": 2130,
      "monthlyRentEquivalent": 990,
      "breakdown": {
        "budget": {
          "accommodation": 25,
          "food": 9,
          "transport": 3,
          "activities": 6,
          "misc": 4
        },
        "mid": {
          "accommodation": 55,
          "food": 23,
          "transport": 7,
          "activities": 15,
          "misc": 8
        },
        "luxury": {
          "accommodation": 163,
          "food": 60,
          "transport": 18,
          "activities": 40,
          "misc": 20
        }
      },
      "url": "https://travelbudget.co/city/siem-reap"
    },
    {
      "slug": "singapore",
      "name": "Singapore",
      "country": "Singapore",
      "countrySlug": "singapore",
      "region": "southeast-asia",
      "currency": "SGD",
      "language": "English",
      "vibe": [
        "food",
        "architecture",
        "gardens"
      ],
      "bestTime": "Feb–Apr",
      "tbi": 59,
      "affordability": "Moderate",
      "daily": {
        "budget": {
          "low": 190,
          "shoulder": 207,
          "peak": 234
        },
        "mid": {
          "low": 433,
          "shoulder": 471,
          "peak": 532
        },
        "luxury": {
          "low": 1214,
          "shoulder": 1320,
          "peak": 1492
        }
      },
      "seasonality": {
        "profile": "year-round-hub",
        "label": "Year-round business hub",
        "driver": "Corporate and convention demand fills the calendar, so leisure seasonality is shallow. The cheapest weeks are mid-summer and January, when business travel drops.",
        "swingPct": 23,
        "multipliers": {
          "low": 0.92,
          "shoulder": 1,
          "peak": 1.13
        },
        "months": {
          "low": {
            "numbers": [
              1,
              2,
              8
            ],
            "label": "Jan–Feb, Aug"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              7,
              11,
              12
            ],
            "label": "Mar–Apr, Jul, Nov–Dec"
          },
          "peak": {
            "numbers": [
              5,
              6,
              9,
              10
            ],
            "label": "May–Jun, Sep–Oct"
          }
        }
      },
      "weeklyMidShoulder": 3297,
      "monthlyCostOfLiving": 9246,
      "monthlyRentEquivalent": 4356,
      "breakdown": {
        "budget": {
          "accommodation": 110,
          "food": 39,
          "transport": 13,
          "activities": 28,
          "misc": 17
        },
        "mid": {
          "accommodation": 242,
          "food": 99,
          "transport": 31,
          "activities": 66,
          "misc": 33
        },
        "luxury": {
          "accommodation": 715,
          "food": 264,
          "transport": 77,
          "activities": 176,
          "misc": 88
        }
      },
      "url": "https://travelbudget.co/city/singapore"
    },
    {
      "slug": "stockholm",
      "name": "Stockholm",
      "country": "Sweden",
      "countrySlug": "sweden",
      "region": "northern-europe",
      "currency": "SEK",
      "language": "Swedish",
      "vibe": [
        "design",
        "archipelago",
        "cafés"
      ],
      "bestTime": "May–Sep",
      "tbi": 59,
      "affordability": "Moderate",
      "daily": {
        "budget": {
          "low": 147,
          "shoulder": 207,
          "peak": 298
        },
        "mid": {
          "low": 334,
          "shoulder": 471,
          "peak": 678
        },
        "luxury": {
          "low": 937,
          "shoulder": 1320,
          "peak": 1901
        }
      },
      "seasonality": {
        "profile": "nordic-light",
        "label": "Short northern summer",
        "driver": "Daylight, not temperature, sets demand: a ten-week summer absorbs most annual arrivals, and the dark months discount steeply outside Christmas.",
        "swingPct": 103,
        "multipliers": {
          "low": 0.71,
          "shoulder": 1,
          "peak": 1.44
        },
        "months": {
          "low": {
            "numbers": [
              1,
              2,
              3,
              11
            ],
            "label": "Jan–Mar, Nov"
          },
          "shoulder": {
            "numbers": [
              4,
              5,
              9,
              10,
              12
            ],
            "label": "Apr–May, Sep–Oct, Dec"
          },
          "peak": {
            "numbers": [
              6,
              7,
              8
            ],
            "label": "Jun–Aug"
          }
        }
      },
      "weeklyMidShoulder": 3297,
      "monthlyCostOfLiving": 9246,
      "monthlyRentEquivalent": 4356,
      "breakdown": {
        "budget": {
          "accommodation": 110,
          "food": 39,
          "transport": 13,
          "activities": 28,
          "misc": 17
        },
        "mid": {
          "accommodation": 242,
          "food": 99,
          "transport": 31,
          "activities": 66,
          "misc": 33
        },
        "luxury": {
          "accommodation": 715,
          "food": 264,
          "transport": 77,
          "activities": 176,
          "misc": 88
        }
      },
      "url": "https://travelbudget.co/city/stockholm"
    },
    {
      "slug": "sydney",
      "name": "Sydney",
      "country": "Australia",
      "countrySlug": "australia",
      "region": "oceania",
      "currency": "AUD",
      "language": "English",
      "vibe": [
        "harbour",
        "beach",
        "outdoors"
      ],
      "bestTime": "Sep–Nov",
      "tbi": 66,
      "affordability": "Pricey",
      "daily": {
        "budget": {
          "low": 184,
          "shoulder": 224,
          "peak": 305
        },
        "mid": {
          "low": 421,
          "shoulder": 514,
          "peak": 699
        },
        "luxury": {
          "low": 1181,
          "shoulder": 1440,
          "peak": 1958
        }
      },
      "seasonality": {
        "profile": "southern-summer",
        "label": "Southern-hemisphere summer peak",
        "driver": "Peak sits over the southern summer and local school holidays in December–February; the winter trough is real but mild in coastal cities.",
        "swingPct": 66,
        "multipliers": {
          "low": 0.82,
          "shoulder": 1,
          "peak": 1.36
        },
        "months": {
          "low": {
            "numbers": [
              5,
              6,
              7,
              8
            ],
            "label": "May–Aug"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              9,
              10,
              11
            ],
            "label": "Mar–Apr, Sep–Nov"
          },
          "peak": {
            "numbers": [
              12,
              1,
              2
            ],
            "label": "Jan–Feb, Dec"
          }
        }
      },
      "weeklyMidShoulder": 3598,
      "monthlyCostOfLiving": 10092,
      "monthlyRentEquivalent": 4752,
      "breakdown": {
        "budget": {
          "accommodation": 120,
          "food": 42,
          "transport": 14,
          "activities": 30,
          "misc": 18
        },
        "mid": {
          "accommodation": 264,
          "food": 108,
          "transport": 34,
          "activities": 72,
          "misc": 36
        },
        "luxury": {
          "accommodation": 780,
          "food": 288,
          "transport": 84,
          "activities": 192,
          "misc": 96
        }
      },
      "url": "https://travelbudget.co/city/sydney"
    },
    {
      "slug": "taipei",
      "name": "Taipei",
      "country": "Taiwan",
      "countrySlug": "taiwan",
      "region": "east-asia",
      "currency": "TWD",
      "language": "Mandarin",
      "vibe": [
        "night markets",
        "tea",
        "hikes"
      ],
      "bestTime": "Oct–Dec",
      "tbi": 22,
      "affordability": "Cheap",
      "daily": {
        "budget": {
          "low": 95,
          "shoulder": 103,
          "peak": 116
        },
        "mid": {
          "low": 217,
          "shoulder": 236,
          "peak": 267
        },
        "luxury": {
          "low": 608,
          "shoulder": 661,
          "peak": 747
        }
      },
      "seasonality": {
        "profile": "year-round-hub",
        "label": "Year-round business hub",
        "driver": "Corporate and convention demand fills the calendar, so leisure seasonality is shallow. The cheapest weeks are mid-summer and January, when business travel drops.",
        "swingPct": 23,
        "multipliers": {
          "low": 0.92,
          "shoulder": 1,
          "peak": 1.13
        },
        "months": {
          "low": {
            "numbers": [
              1,
              2,
              8
            ],
            "label": "Jan–Feb, Aug"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              7,
              11,
              12
            ],
            "label": "Mar–Apr, Jul, Nov–Dec"
          },
          "peak": {
            "numbers": [
              5,
              6,
              9,
              10
            ],
            "label": "May–Jun, Sep–Oct"
          }
        }
      },
      "weeklyMidShoulder": 1652,
      "monthlyCostOfLiving": 4638,
      "monthlyRentEquivalent": 2178,
      "breakdown": {
        "budget": {
          "accommodation": 55,
          "food": 19,
          "transport": 7,
          "activities": 14,
          "misc": 8
        },
        "mid": {
          "accommodation": 121,
          "food": 50,
          "transport": 15,
          "activities": 33,
          "misc": 17
        },
        "luxury": {
          "accommodation": 358,
          "food": 132,
          "transport": 39,
          "activities": 88,
          "misc": 44
        }
      },
      "url": "https://travelbudget.co/city/taipei"
    },
    {
      "slug": "tbilisi",
      "name": "Tbilisi",
      "country": "Georgia",
      "countrySlug": "georgia",
      "region": "central-asia",
      "currency": "GEL",
      "language": "Georgian",
      "vibe": [
        "wine",
        "baths",
        "old town"
      ],
      "bestTime": "Apr–Jun",
      "tbi": 12,
      "affordability": "Very cheap",
      "daily": {
        "budget": {
          "low": 59,
          "shoulder": 75,
          "peak": 96
        },
        "mid": {
          "low": 135,
          "shoulder": 171,
          "peak": 219
        },
        "luxury": {
          "low": 379,
          "shoulder": 480,
          "peak": 614
        }
      },
      "seasonality": {
        "profile": "shoulder-heavy",
        "label": "Heat-avoidance shoulder peak",
        "driver": "The hottest months are the cheapest here — demand peaks in spring and autumn, so the conventional 'shoulder is cheaper' rule inverts.",
        "swingPct": 62,
        "multipliers": {
          "low": 0.79,
          "shoulder": 1,
          "peak": 1.28
        },
        "months": {
          "low": {
            "numbers": [
              7,
              8
            ],
            "label": "Jul–Aug"
          },
          "shoulder": {
            "numbers": [
              1,
              2,
              6,
              11,
              12
            ],
            "label": "Jan–Feb, Jun, Nov–Dec"
          },
          "peak": {
            "numbers": [
              3,
              4,
              5,
              9,
              10
            ],
            "label": "Mar–May, Sep–Oct"
          }
        }
      },
      "weeklyMidShoulder": 1197,
      "monthlyCostOfLiving": 3354,
      "monthlyRentEquivalent": 1584,
      "breakdown": {
        "budget": {
          "accommodation": 40,
          "food": 14,
          "transport": 5,
          "activities": 10,
          "misc": 6
        },
        "mid": {
          "accommodation": 88,
          "food": 36,
          "transport": 11,
          "activities": 24,
          "misc": 12
        },
        "luxury": {
          "accommodation": 260,
          "food": 96,
          "transport": 28,
          "activities": 64,
          "misc": 32
        }
      },
      "url": "https://travelbudget.co/city/tbilisi"
    },
    {
      "slug": "tel-aviv",
      "name": "Tel Aviv",
      "country": "Israel",
      "countrySlug": "israel",
      "region": "middle-east",
      "currency": "ILS",
      "language": "Hebrew",
      "vibe": [
        "beach",
        "Bauhaus",
        "nightlife"
      ],
      "bestTime": "Mar–May",
      "tbi": 53,
      "affordability": "Moderate",
      "daily": {
        "budget": {
          "low": 116,
          "shoulder": 187,
          "peak": 295
        },
        "mid": {
          "low": 265,
          "shoulder": 428,
          "peak": 676
        },
        "luxury": {
          "low": 744,
          "shoulder": 1200,
          "peak": 1896
        }
      },
      "seasonality": {
        "profile": "med-coastal",
        "label": "Mediterranean coastal / resort",
        "driver": "Beach-led demand with cruise calls: rooms triple in August and half the inventory simply closes in winter, so the low season is genuinely cheap rather than merely quiet.",
        "swingPct": 155,
        "multipliers": {
          "low": 0.62,
          "shoulder": 1,
          "peak": 1.58
        },
        "months": {
          "low": {
            "numbers": [
              11,
              12,
              1,
              2,
              3
            ],
            "label": "Jan–Mar, Nov–Dec"
          },
          "shoulder": {
            "numbers": [
              4,
              5,
              10
            ],
            "label": "Apr–May, Oct"
          },
          "peak": {
            "numbers": [
              6,
              7,
              8,
              9
            ],
            "label": "Jun–Sep"
          }
        }
      },
      "weeklyMidShoulder": 2996,
      "monthlyCostOfLiving": 8400,
      "monthlyRentEquivalent": 3960,
      "breakdown": {
        "budget": {
          "accommodation": 100,
          "food": 35,
          "transport": 12,
          "activities": 25,
          "misc": 15
        },
        "mid": {
          "accommodation": 220,
          "food": 90,
          "transport": 28,
          "activities": 60,
          "misc": 30
        },
        "luxury": {
          "accommodation": 650,
          "food": 240,
          "transport": 70,
          "activities": 160,
          "misc": 80
        }
      },
      "url": "https://travelbudget.co/city/tel-aviv"
    },
    {
      "slug": "tokyo",
      "name": "Tokyo",
      "country": "Japan",
      "countrySlug": "japan",
      "region": "east-asia",
      "currency": "JPY",
      "language": "Japanese",
      "vibe": [
        "food",
        "design",
        "neon"
      ],
      "bestTime": "Mar–May",
      "tbi": 50,
      "affordability": "Moderate",
      "daily": {
        "budget": {
          "low": 152,
          "shoulder": 177,
          "peak": 258
        },
        "mid": {
          "low": 351,
          "shoulder": 408,
          "peak": 596
        },
        "luxury": {
          "low": 981,
          "shoulder": 1141,
          "peak": 1666
        }
      },
      "seasonality": {
        "profile": "japan-double-peak",
        "label": "Twin-bloom peak (spring and autumn)",
        "driver": "Two sharp, short peaks — cherry blossom and autumn colour — plus domestic Golden Week. Blossom-week lodging is the single most inflated inventory in the dataset; the rest of the year is comparatively flat.",
        "swingPct": 70,
        "multipliers": {
          "low": 0.86,
          "shoulder": 1,
          "peak": 1.46
        },
        "months": {
          "low": {
            "numbers": [
              1,
              2,
              6
            ],
            "label": "Jan–Feb, Jun"
          },
          "shoulder": {
            "numbers": [
              5,
              7,
              8,
              9,
              12
            ],
            "label": "May, Jul–Sep, Dec"
          },
          "peak": {
            "numbers": [
              3,
              4,
              10,
              11
            ],
            "label": "Mar–Apr, Oct–Nov"
          }
        }
      },
      "weeklyMidShoulder": 2856,
      "monthlyCostOfLiving": 8022,
      "monthlyRentEquivalent": 3762,
      "breakdown": {
        "budget": {
          "accommodation": 95,
          "food": 33,
          "transport": 11,
          "activities": 24,
          "misc": 14
        },
        "mid": {
          "accommodation": 209,
          "food": 86,
          "transport": 27,
          "activities": 57,
          "misc": 29
        },
        "luxury": {
          "accommodation": 618,
          "food": 228,
          "transport": 67,
          "activities": 152,
          "misc": 76
        }
      },
      "url": "https://travelbudget.co/city/tokyo"
    },
    {
      "slug": "toronto",
      "name": "Toronto",
      "country": "Canada",
      "countrySlug": "canada",
      "region": "north-america",
      "currency": "CAD",
      "language": "English",
      "vibe": [
        "food",
        "lake",
        "neighbourhoods"
      ],
      "bestTime": "May–Oct",
      "tbi": 59,
      "affordability": "Moderate",
      "daily": {
        "budget": {
          "low": 166,
          "shoulder": 207,
          "peak": 277
        },
        "mid": {
          "low": 377,
          "shoulder": 471,
          "peak": 631
        },
        "luxury": {
          "low": 1056,
          "shoulder": 1320,
          "peak": 1769
        }
      },
      "seasonality": {
        "profile": "euro-summer",
        "label": "Northern-hemisphere summer peak",
        "driver": "European school holidays concentrate demand into July–August; January–February hotel rates collapse with no compensating events.",
        "swingPct": 68,
        "multipliers": {
          "low": 0.8,
          "shoulder": 1,
          "peak": 1.34
        },
        "months": {
          "low": {
            "numbers": [
              1,
              2,
              11
            ],
            "label": "Jan–Feb, Nov"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              5,
              10,
              12
            ],
            "label": "Mar–May, Oct, Dec"
          },
          "peak": {
            "numbers": [
              6,
              7,
              8,
              9
            ],
            "label": "Jun–Sep"
          }
        }
      },
      "weeklyMidShoulder": 3297,
      "monthlyCostOfLiving": 9246,
      "monthlyRentEquivalent": 4356,
      "breakdown": {
        "budget": {
          "accommodation": 110,
          "food": 39,
          "transport": 13,
          "activities": 28,
          "misc": 17
        },
        "mid": {
          "accommodation": 242,
          "food": 99,
          "transport": 31,
          "activities": 66,
          "misc": 33
        },
        "luxury": {
          "accommodation": 715,
          "food": 264,
          "transport": 77,
          "activities": 176,
          "misc": 88
        }
      },
      "url": "https://travelbudget.co/city/toronto"
    },
    {
      "slug": "vienna",
      "name": "Vienna",
      "country": "Austria",
      "countrySlug": "austria",
      "region": "western-europe",
      "currency": "EUR",
      "language": "German",
      "vibe": [
        "coffeehouse",
        "music",
        "palaces"
      ],
      "bestTime": "Apr–Oct",
      "tbi": 50,
      "affordability": "Moderate",
      "daily": {
        "budget": {
          "low": 142,
          "shoulder": 177,
          "peak": 237
        },
        "mid": {
          "low": 326,
          "shoulder": 408,
          "peak": 547
        },
        "luxury": {
          "low": 913,
          "shoulder": 1141,
          "peak": 1529
        }
      },
      "seasonality": {
        "profile": "euro-summer",
        "label": "Northern-hemisphere summer peak",
        "driver": "European school holidays concentrate demand into July–August; January–February hotel rates collapse with no compensating events.",
        "swingPct": 68,
        "multipliers": {
          "low": 0.8,
          "shoulder": 1,
          "peak": 1.34
        },
        "months": {
          "low": {
            "numbers": [
              1,
              2,
              11
            ],
            "label": "Jan–Feb, Nov"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              5,
              10,
              12
            ],
            "label": "Mar–May, Oct, Dec"
          },
          "peak": {
            "numbers": [
              6,
              7,
              8,
              9
            ],
            "label": "Jun–Sep"
          }
        }
      },
      "weeklyMidShoulder": 2856,
      "monthlyCostOfLiving": 8022,
      "monthlyRentEquivalent": 3762,
      "breakdown": {
        "budget": {
          "accommodation": 95,
          "food": 33,
          "transport": 11,
          "activities": 24,
          "misc": 14
        },
        "mid": {
          "accommodation": 209,
          "food": 86,
          "transport": 27,
          "activities": 57,
          "misc": 29
        },
        "luxury": {
          "accommodation": 618,
          "food": 228,
          "transport": 67,
          "activities": 152,
          "misc": 76
        }
      },
      "url": "https://travelbudget.co/city/vienna"
    },
    {
      "slug": "zanzibar",
      "name": "Zanzibar",
      "country": "Tanzania",
      "countrySlug": "tanzania",
      "region": "sub-saharan-africa",
      "currency": "TZS",
      "language": "Swahili",
      "vibe": [
        "beach",
        "spice",
        "stone town"
      ],
      "bestTime": "Jun–Oct",
      "tbi": 22,
      "affordability": "Cheap",
      "daily": {
        "budget": {
          "low": 78,
          "shoulder": 103,
          "peak": 135
        },
        "mid": {
          "low": 179,
          "shoulder": 236,
          "peak": 309
        },
        "luxury": {
          "low": 502,
          "shoulder": 661,
          "peak": 866
        }
      },
      "seasonality": {
        "profile": "tropical-dry",
        "label": "Tropical dry-season peak",
        "driver": "Demand follows the dry season and the northern winter escape; the wet months discount hard because arrivals fall, not because supply shrinks.",
        "swingPct": 72,
        "multipliers": {
          "low": 0.76,
          "shoulder": 1,
          "peak": 1.31
        },
        "months": {
          "low": {
            "numbers": [
              5,
              6,
              9,
              10
            ],
            "label": "May–Jun, Sep–Oct"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              7,
              8,
              11
            ],
            "label": "Mar–Apr, Jul–Aug, Nov"
          },
          "peak": {
            "numbers": [
              12,
              1,
              2
            ],
            "label": "Jan–Feb, Dec"
          }
        }
      },
      "weeklyMidShoulder": 1652,
      "monthlyCostOfLiving": 4638,
      "monthlyRentEquivalent": 2178,
      "breakdown": {
        "budget": {
          "accommodation": 55,
          "food": 19,
          "transport": 7,
          "activities": 14,
          "misc": 8
        },
        "mid": {
          "accommodation": 121,
          "food": 50,
          "transport": 15,
          "activities": 33,
          "misc": 17
        },
        "luxury": {
          "accommodation": 358,
          "food": 132,
          "transport": 39,
          "activities": 88,
          "misc": 44
        }
      },
      "url": "https://travelbudget.co/city/zanzibar"
    },
    {
      "slug": "zurich",
      "name": "Zurich",
      "country": "Switzerland",
      "countrySlug": "switzerland",
      "region": "western-europe",
      "currency": "CHF",
      "language": "German",
      "vibe": [
        "lake",
        "alps",
        "precision"
      ],
      "bestTime": "May–Sep",
      "tbi": 100,
      "affordability": "Very pricey",
      "daily": {
        "budget": {
          "low": 254,
          "shoulder": 318,
          "peak": 426
        },
        "mid": {
          "low": 582,
          "shoulder": 728,
          "peak": 976
        },
        "luxury": {
          "low": 1632,
          "shoulder": 2040,
          "peak": 2734
        }
      },
      "seasonality": {
        "profile": "euro-summer",
        "label": "Northern-hemisphere summer peak",
        "driver": "European school holidays concentrate demand into July–August; January–February hotel rates collapse with no compensating events.",
        "swingPct": 68,
        "multipliers": {
          "low": 0.8,
          "shoulder": 1,
          "peak": 1.34
        },
        "months": {
          "low": {
            "numbers": [
              1,
              2,
              11
            ],
            "label": "Jan–Feb, Nov"
          },
          "shoulder": {
            "numbers": [
              3,
              4,
              5,
              10,
              12
            ],
            "label": "Mar–May, Oct, Dec"
          },
          "peak": {
            "numbers": [
              6,
              7,
              8,
              9
            ],
            "label": "Jun–Sep"
          }
        }
      },
      "weeklyMidShoulder": 5096,
      "monthlyCostOfLiving": 14292,
      "monthlyRentEquivalent": 6732,
      "breakdown": {
        "budget": {
          "accommodation": 170,
          "food": 59,
          "transport": 20,
          "activities": 43,
          "misc": 26
        },
        "mid": {
          "accommodation": 374,
          "food": 153,
          "transport": 48,
          "activities": 102,
          "misc": 51
        },
        "luxury": {
          "accommodation": 1105,
          "food": 408,
          "transport": 119,
          "activities": 272,
          "misc": 136
        }
      },
      "url": "https://travelbudget.co/city/zurich"
    }
  ]
}