climatememory developers

Weather API · 1.3 km to 28 km · 15 days

The finest model covering your point. Chosen per request.

Most weather APIs run one global model everywhere. This one holds 8, and resolves which of them answers a given coordinate at a given lead time — so a village in the Alps is not served the same 28 km cell as the open Atlantic.

28 km ECMWF IFS · world 13 km DWD ICON · world 6.5 km DWD ICON-EU · Europe 1.3 km Météo-France AROME · France

The same 120 km of coast, as each model sees it 28 km the bay is gone 1.3 km the island exists

Resolution is not a specification detail. It decides whether a bay, a valley or an island is in the model at all — and a cell that averages sea and land gives you the temperature of neither.

8 models, resolved automatically

You never choose a model. You send a coordinate; the API picks the finest one covering it, blends across domain edges so the value does not jump, and tells you in the response which model answered.

Weather models, resolution, coverage, runs and horizon
ModelResolutionCoverageRunsHorizonAvailable after
Météo-France AROME 1.3 km France and near neighbours 8 ×/day 51 h 4 h
DWD ICON-D2 2.2 km Central Europe 4 ×/day 48 h 2 h
NOAA HRRR 3 km Continental United States 4 ×/day 48 h 1.5 h
DWD ICON-EU 6.5 km Europe, North Africa, Near East 2 ×/day 120 h 3 h
DWD ICON 13 km World 2 ×/day 180 h 4 h
ECMWF IFS 28 km World — always present 2 ×/day 240 h 7 h
ECMWF AIFS 28 km World, days 11–15 2 ×/day 360 h 7 h
ECMWF wave 28 km Oceans and seas only 2 ×/day 240 h 7 h

Domain edges

No seam where one model stops

Switching model abruptly at a boundary makes two neighbouring towns disagree for no physical reason. Each domain carries a blend margin: near the edge the fine model's weight decays and the remainder spills to the next model down. Inside the domain you get the fine model outright.

Lead time

Fine early, global later

AROME stops at 51 hours and HRRR at 48. Past that the resolver falls back through ICON-EU and ICON to ECMWF, on the same request. Your seven-day series is stitched from whichever model was best at each step, and the response records the mix.

What comes back

45 hourly fields — 27 stored, 18 computed on the fly. 21 come back by default; name any of the others in hourly=, or name fewer and shrink the payload.

Temperature & humidity

temperature_2m, daily max and min, dewpoint_2m, relative humidity, apparent temperature, heat index, wind chill, skin temperature.

Wind

u/v components at 10 m and 100 m for wind energy, speed, direction, compass point, Beaufort force, and wind_gust_10m.

Precipitation

Total precipitation de-cumulated per interval, snowfall as water equivalent, and a WMO precipitation_type code that separates rain, snow and freezing rain.

Cloud & visibility

Total cover plus low, mid and high separately — low cloud is what makes a day grey, cirrus barely dims the sun. Oktas for aviation, and visibility for fog.

Radiation & sun

Shortwave irradiance, split into direct beam and diffuse for solar yield. Sun elevation and azimuth, daylight flag, sunrise and sunset, and an estimated UV index.

Pressure & instability

Mean sea level and surface pressure, three-hour pressure tendency, cape for convective potential, and total column water vapour.

Soil

Soil temperature at the surface and through the 7–28 cm root zone — the layer agriculture cares about — from ICON. soil_temperature_0cm and soil_temperature_8cm.

Snow

Depth, water equivalent, freezing level, and snow_line_altitude — the altitude above which precipitation falls as snow, which is a decision a road authority can act on.

Summary

A single WMO weather_code per timestep, so the client draws one icon instead of reimplementing the logic that turns seven fields into “light rain”.

Two corrections most APIs skip

Elevation

The model's mountain is not your mountain

A numerical model smooths terrain to its grid. A valley village can sit 400 m below the elevation the model thinks it has, and the raw temperature is wrong by the lapse rate over that difference.

Send elevation with your request and the value is corrected against the model's own orography. In hills that is typically worth 1–3 °C. The response reports the model elevation, your elevation and the offset applied — so you can audit it, or ignore it.

Freshness

Stale beats absent, and stale says so

If our newest run is older than expected, you still get data, with "stale": true and data_age_hours in the source block. A forecast eight hours old is more useful to your users than a 500.

What you never get is a stale number that looks fresh. Decide in your own code whether to show it, warn, or fall back.

{
  "grid": { "distance_km": 8.04, "resolution_km": 28.0 },
  "elevation": {
    "applied": true,
    "model_elevation_m": 91.0,
    "location_elevation_m": 113,
    "temperature_offset_c": -0.14
  },
  "source": {
    "model": "ecmwf_ifs",
    "model_run": "20260725T00Z",
    "data_age_hours": 8.95,
    "stale": false,
    "attribution": "Data: ECMWF (CC-BY-4.0)"
  }
}

On the same key, not the same invoice again

Four things that are usually separate products elsewhere. Here they are endpoints on the plan you already bought.

/v1/probability

How sure is the forecast?

A single value says 22 °C on Thursday — a guess presented as a fact. This returns p10, p50, p90 and the spread from ECMWF's 50-member ensemble, plus rain probabilities at 0.1, 1, 5 and 10 mm.

A spread of 0.4 °C is a settled situation. A spread of 3 °C means the atmosphere itself is uncertain, and your users deserve to be told.

/v1/air-quality

PM, ozone, NO₂ — and Saharan dust

From Copernicus CAMS, with WHO guideline values riding along in every response so a number can be placed without looking it up.

Dust matters across North Africa and the Mediterranean: an episode takes PM10 past a thousand µg/m³ for days, and free consumer services cover it poorly.

/v1/marine

Sea state worldwide

Significant wave height, direction and period from the ECMWF wave model, out to ten days. A point on land returns 404 not_at_sea rather than a column of nulls that reads like a failure.

/v1/hydrology

How much water arrives here

River discharge from Copernicus GloFAS on a 0.05° river network — not how much rain falls upstream, but how much water reaches this point, which a catchment and a day of travel time separate.

Information only. Issuing flood warnings is reserved to national and regional authorities.

Where it goes to work

Weather products

City pages, apps and widgets. One WMO code per step for the icon, daily aggregates cut in the user's own time zone, and a city catalogue with search and nearest-point lookup.

Energy

100 m wind for turbine hub height, direct and diffuse irradiance for PV yield, and ensemble spread for the risk side of a position.

Agriculture

Soil temperature and moisture at four depths, evapotranspiration inputs, frost risk from minimum temperature, and gusts for spray windows.

Logistics & roads

Snow line altitude, freezing level, precipitation type and visibility — the four fields that decide whether a pass closes.

Marine & outdoor

Wave height, period and direction, wind gusts, UV index and daylight for planning that has to happen a week ahead.

Resellers

You may redistribute. Build a product on top and sell it, with a footer line of attribution as the only obligation that follows you.

What it does badly

We would rather you knew the limits now than found them in production.

Strong

Temperature, pressure, synoptic wind, humidity, sunshine. Typical 2 m temperature error at 24 hours is around 1–1.5 °C. ECMWF is the best global deterministic model in the world and it is what you are getting.

Weak

Convective storms — a 28 km cell cannot resolve a thunderstorm, and even 3 km only hints at one. Exact placement and timing of showers. Coastal and mountain microclimate below the model's resolution. Sea breezes and valley cold pools, which the terrain correction does not model.

Geographically honest

In France, Germany, the United States and Canada we serve 1.3–3 km national models and a small village genuinely gets its own grid cell. Overseas territories, Alaska, Hawaii and northern Canada lie outside those domains and fall back to 13 km. Elsewhere in Europe you get 6.5 km. Across Africa, the Middle East and most of Asia the best available public model is 13–28 km, so you get the weather of the area rather than of the street. The terrain correction narrows that gap; it does not close it.

Not a warning service

No alerts, no severity colours, no instruction to act. Those belong to the authorities who can also close a road and evacuate a village.

Common questions

Which model will serve my location?

The finest one covering it: AROME at 1.3 km in France, ICON-D2 at 2.2 km in central Europe, HRRR at 3 km in the United States, ICON-EU at 6.5 km across Europe and North Africa, ICON at 13 km worldwide, and ECMWF IFS at 28 km as the baseline that is always present.

Call /v1/models to see the current registry and each model's domain, or read source.model in any response.

How often is it updated?

Global models twice a day at 00 and 12 UTC; the high-resolution national models four times a day at 00, 06, 12 and 18 UTC. Data becomes usable between 90 minutes and 7 hours after run time depending on the provider — the table above gives each one.

Forecast responses are cached for five minutes at the edge, which absorbs repeated city-page traffic without ever serving a run behind the one we hold.

Can I request many locations at once?

One coordinate per request. The storage is chunked so that the whole time series of a small area sits in one chunk — one point across every step is the cheap query, and it is the one almost every product actually makes.

For city-shaped traffic, /v1/forecast/city/{country}/{slug} carries the city's time zone and elevation, so you do not have to.

Is there a bulk download?

No, on any plan. The archive is what you are paying for, and an unbounded export is how a competitor acquires it in an afternoon. Degree-day CSV export exists and is deliberately bounded.

What does it cost?

Free for 10,000 credits a month with no card. €19 a month for 50,000 credits including the Degree Days API, history and CSV. €79 for 400,000 credits and everything else. A forecast request is one credit.

Full pricing →

Try it against your own coordinates

The free tier returns the same data the paid tiers do. Point it at somewhere you know well and judge the numbers yourself.