Playing conditions for 65 golf courses across Luzon. Read-only, no key required.
Same scoring as golf.climate-guard.io — literally the same code, checked at build time — so the API and the site never disagree about the same round.
?province=Rizal.?days=1..7 (default 7).curl https://api.golf.climate-guard.io/v1/courses/villamor-air-base-golf-course?days=1
{
"course": { "slug": "villamor-air-base-golf-course",
"name": "Villamor Air Base Golf Course",
"province": "Metro Manila", "lat": 14.52493, "lon": 121.02088 },
"round_length_hours": 4.5,
"days": [{
"date": "2026-09-28",
"tees": {
"07:00": { "verdict": "Playable", "score": 31,
"meaning": "Play, but take a brolly and expect a wet grip.",
"thunder": true, "rain_mm": 0.6, "rain_band": "Drizzle",
"chance_of_rain_pct": 58, "feels_c": 34, "gust_kph": 28,
"toughest_hole": "12th",
"why": "Toughest around the 12th — Drizzle · 0.6 mm, 58% chance of rain." }
}
}],
"source": "UKMO via Open-Meteo"
}
Perfect · Good · Playable · Tough · Wash-out, driven by
rain first, then heat, with wind as a nuisance only. Every rating ships with a
meaning string so you never have to hard-code the ladder.
thunder is a separate flag, not a rating. A forecast storm is a chance,
not a certainty, and golfers play through the chance — show it as an icon, not a red light.
Every whole hour from 05:00 to 15:00 comes back in one response. There is deliberately
no tee parameter: one response per course is far kinder to the upstream
forecast quota than twenty near-identical ones.
Conditions are cached 30 minutes at the edge, the catalogue for a day. Forecasts do not move faster than that, so please don't bypass it.