Climate API · ERA5 28 km · 1940 →
Is this normal? Here is the reference.
The forecast says what the weather will do. Degree days say what it cost. Climate says whether it was normal — eighty-seven years of daily climate for every land point on earth, and the WMO normals computed from it. Not a station's history: a reanalysis, with no relocations, no instrument changes and no gaps.
1940 →
87 years of daily climate, every land point on earth.
28 km
The ERA5 grid at 0.25°, 398,528 cells.
13 fields
Derived at ingestion from the full hourly series.
2 periods
1961–1990 and 1991–2020, and the change between them.
What you are actually buying
Three things a station record cannot give you, and one a GROUP BY over hourly data cannot either.
Homogeneity
A record with no history of its own
A weather station carries every move, every instrument change and every gap it ever had, so a thirty-year trend computed from one is partly a trend in the instrumentation. A reanalysis has none of that. The same model produced 1940 and last week.
Derivation
Computed from the hours, not from the extremes
Apparent temperature, sunshine duration and mean humidity are derived once at ingestion from the full hourly series. Averaging a daily maximum and minimum instead is cheaper and is not the same number.
Normals
The question is how much normal has moved
A normal is a thirty-year mean over a window the WMO fixes, so that two people quoting one are quoting the same thing. Ask for both periods in a single call and the two halves cannot come from different runs.
Two choices you will notice, stated before you find them
Both are measurable against another provider in five minutes. Neither is an accident.
Day boundary
Days are cut at solar midnight
Not at the political time zone. Aggregating on UTC biases the daily minimum by 2.1 °C at Alice Springs, because the minimum falls just before dawn. A political zone is worse: two neighbouring cells across a border would be cut at different moments, and a map of daily maxima would show the outline of the time zones.
Elevation
We serve the cell, not a lapse rate
We do not adjust temperature to your point's exact elevation. A provider that does will differ from us by up to 0.4 °C at the same coordinate — measured. Neither figure is wrong; ours is what the reanalysis says for that cell. cells/resolve publishes which cell answered and how far away it is, so you always know which you have.
One request, and you have eighty-seven years
Any valid key resolves a place name. The climate scope reads the archive.
# Daily climate for Paris, one summer
curl -H "X-API-Key: $KEY" \
"https://api.climatememory.com/v1/climate/daily?lat=48.85&lon=2.35&start=2025-06-01&end=2025-08-31"
# Both WMO periods, and how much normal has moved
curl -H "X-API-Key: $KEY" \
"https://api.climatememory.com/v1/climate/normals/compare?lat=48.85&lon=2.35"
Who buys this
Climate risk
Baselines that stay comparable
Physical risk assessment, insurance pricing and portfolio screening, where the same site has to be measured the same way for years.
Agronomy
Growing degree days and water balance
Variety selection, irrigation planning and yield modelling, anywhere on land rather than only near a station.
Siting
Choosing where, before building there
Solar and wind prospecting, cold-chain logistics and tourism seasonality — questions a forecast cannot answer and a normal can.
Before you buy
Is this the same as the hourly history?
No. The hourly archive is ERA5-Land at 9 km back to 1950, and you aggregate it yourself. This is ERA5 at 28 km back to 1940, with 14 daily fields already derived from the hours at ingestion.
If you need raw hours, buy the historical API. If you need the daily climate and the normals, this costs one request instead of a year of them.
How current is it?
Within about a week. Copernicus publishes ERA5 with roughly five days of lag and we top up daily, so the archive ends where the source ends and never pretends otherwise.
/v1/climate/coverage reports the exact last day the run holds.
Can I resell the values?
Yes, with attribution. ERA5 comes from the Copernicus Climate Change Service, redistributed by Open-Meteo under CC-BY-4.0, and that licence permits commercial use and redistribution.
/v1/attribution returns the exact wording to display.
Why 28 km and not finer?
Because that is the resolution at which ERA5 is actually consistent across eighty-seven years. A finer grid would be an interpolation presented as a measurement.
cells/resolve tells you how far your point is from the cell that answered, so the approximation is visible rather than implied.
Take a key and ask for a normal
The free tier answers with the same archive the paid tiers do.