Ensemble Weather AIGet API access

Documentation

The Ensemble API

One versioned surface under /v1, authenticated with a bearer token. JSON by default; GeoJSON and NetCDF on the grid endpoints.

Quickstart

Every response carries the ensemble spread. There is no flag to enable it and no tier that withholds it.

  1. 01Request a key — the free tier needs no card.
  2. 02Send it as Authorization: Bearer.
  3. 03Read spread, not just p50.
Point forecast
curl https://api.ensemblegains.com/v1/forecast \
  -H "Authorization: Bearer $EG_API_KEY" \
  -G \
  -d lat=29.76 \
  -d lon=-95.37 \
  -d vars=temperature_2m,wind_gust_10m \
  -d horizon=72h

Endpoints

MethodPathDescriptionFrom tier
GET/v1/forecastPoint forecast. Returns p10/p50/p90 per step.Developer
GET/v1/forecast/gridBounding-box grid at 0.25° or finer. NetCDF or GeoJSON.Builder
GET/v1/nowcastMinute-resolution precipitation, 0–120 min horizon.Builder
GET/v1/severeActive severe risk: tornado, hail, wind, cyclone tracks.Professional
GET/v1/severe/cyclonesActive tropical cyclones with per-member track ensemble.Professional
GET/v1/air-qualityPM2.5, PM10, ozone, NO₂, AQI, pollen by species.Builder
GET/v1/climate/seasonal1–12 month outlooks, ENSO state, drought probability.Enterprise
GET/v1/historicalERA5-backed reanalysis, 1940–present.Professional
GET/v1/ensemble/membersPer-model member values and weights.Professional
GET/v1/skillLive verification scores. Public, unauthenticated.Developer
POST/v1/alertsCreate a threshold alert with a webhook target.Professional
GET/v1/alertsList, inspect and delete active subscriptions.Professional

Response envelope

Present on every endpoint, so a response is always self-describing and a bad forecast is always auditable.

init_time
Model run timestamp, UTC ISO 8601
valid_time
The time being forecast
members
Count of contributing models
models
Names and weights of contributors
spread
p10 / p50 / p90 per variable
units
Explicit unit declaration
resolution_deg
Grid resolution used

Rate limits & reliability

  • X-RateLimit-*Limit, remaining and reset returned on every response.
  • 429 + Retry-AfterNever a bare failure — you always know when to come back.
  • p95 < 200 msCached point forecasts. Under 800 ms uncached.
  • p95 < 150 msNowcasting. A late nowcast is not a nowcast.
  • OpenAPI 3.1Generated from source, never hand-maintained.
  • SDKsTypeScript and Python at launch.

Full reference is in progress

Per-endpoint parameters, error codes and the interactive playground land with the Phase 1 API release. Ask us for early access and we will wire you up against a staging key.

Request early access