Weather forecast
Temperature Forecast
Predict temperature for a date far in the future, based on a weighted blend of three historical windows — instead of the usual 10-14 day forecast horizon.
Goal
Regular weather forecasts become unreliable past a week or two. For longer-term planning (an event three months out, say) there's little better than guessing — even though historical climate data actually holds useful signal.
Temperature Forecast combines three non-overlapping periods — everything older than 40 years, 10 to 40 years back, and the last 10 years — into one weighted forecast per region and calendar day (default 20/35/45%, adjustable). The three individual components are also shown, so you can spot a warming trend yourself.
Status: data is still being filled in
336 regions across 30 countries, added gradually by a long-running background job. Querying a region that isn't computed yet returns a clear status instead of an error.
Try it yourself
Testing tip: addresses in the Netherlands and Germany currently have the best chance of already being available.
Temperature forecast for any date, anywhere in the world
Looking for a reliable long-range weather forecast for a holiday, event or wedding a few months out? Temperature Forecast blends historical climate normals into a grounded temperature prediction — not a guess, but a transparent calculation from decades of weather data. Available as a free, open source weather API for anyone who wants to use it in their own app, dashboard or Home Assistant setup.
Using the API
This page runs on a free, open API — no key, no signup. One GET request, JSON back.
Parameters
- address — address (or use lat and lon for coordinates)
- date — target date (YYYY-MM-DD)
- w_long / w_30 / w_10 — optional: your own weighting (must sum to 1)
Example
https://climatenormals.vercel.app/api/normal?address=Jena&date=2027-03-15&w_long=0.2&w_30=0.35&w_10=0.45
Example response
{
"region": "DE-TH",
"region_meta": { "country": "GM", "admin1": "Thüringen", ... },
"distance_to_reference_station_km": 0.2,
"date": "2027-03-15",
"weights_used": { "p_long": 0.2, "p30": 0.35, "p10": 0.45 },
"temp": { "p_long": 8.1, "p30": 8.9, "p10": 9.6, "blend": 8.9 }
}Want to check data-build progress? /api/status