{
    "ok": true,
    "feed_type": "compact_surf_forecast_summary",
    "spot": {
        "key": "la-source",
        "name": "La Source",
        "area": "Between Taghazout and Killer Point",
        "route": "/weather/la-source/",
        "guide_route": "/surf-spots/la-source/"
    },
    "updated_at": "2026-10-13T23:00",
    "tz_offset": 0,
    "source_status": "live",
    "source_note": "Open weather and marine model data. Swell height and period are the decomposed swell components, separate from the total sea state. Tide times and heights are harmonic predictions from the EOT20 tide model (DGFI-TUM, CC BY 4.0), heights above lowest astronomical tide (LAT): a model, not a harbour-gauge measurement. Use local judgement before entering the water.",
    "air_temp_c": 21.2,
    "water_temp_c": 20.2,
    "wind_kmh": 15.2,
    "gust_kmh": 23.8,
    "swell_m": 0.7,
    "period_s": 7.65,
    "swell_direction_deg": 327,
    "sea_state_m": 0.9,
    "wind_wave_ratio": 0.08888888888888889,
    "sunrise": "2026-10-13T06:39",
    "sunset": "2026-10-13T18:10",
    "uv_index_max": 6.5,
    "moon": {
        "age_days": 2.58,
        "illumination": 0.074,
        "phase": "waxing_crescent",
        "tide_range": "spring"
    },
    "air_quality": {
        "available": true,
        "pm2_5": 9.2,
        "pm10": 14.7,
        "dust": 3,
        "dust_peak_24h": 4,
        "dust_level": "clear",
        "pm_level": "good",
        "chergui": false,
        "updated": "2026-10-10T10:00",
        "stale": true,
        "source": "Open-Meteo Air Quality (CAMS)"
    },
    "tide": {
        "label": "Rising tide",
        "trend": "rising",
        "height_m": 1.22,
        "time": "23:00",
        "datum": "height above lowest astronomical tide (LAT), EOT20 tide model"
    },
    "surf_potential_percent": 81,
    "best_window": {
        "label": "Wed 08:00",
        "score_percent": 81,
        "reason": "lighter wind · softer size · more push"
    },
    "beginner_verdict": "Check coaching zone and tide first; conditions may be useful if size is manageable.",
    "advanced_verdict": "Worth checking if wind, period, tide and crowd fit the spot.",
    "routes": {
        "weather": "/weather/la-source/",
        "surf_spot": "/surf-spots/la-source/",
        "book": "/build/#intent=surf&spot=la-source"
    }
}