all providers operational

One API. Every weather model.

Best forecast.
For your
location.

Every model considered. The right forecast returned.

$ pip install meteorouter  ·  $ npx meteorouter-mcp

[ How we route the weather ]
17
Models routed
09
Providers, one key
0.94
Blend skill, 30 days
120ms
Fastest answer

One request

Ask for weather,
not for a model.

Point, area or place. Any variable, any horizon. model: auto does the rest.

API reference→
curlmcppythonresponse
api.meteorouter.com
# one request, any model · area on your grid
curl https://api.meteorouter.com/v1/forecast \
  -H "Authorization: Bearer $METEOROUTER_KEY" \
  -d '{
    "bbox": [13.9, 46.4, 14.7, 46.9],
    "output_resolution": "5km",
    "variables": ["t2m", "ghi", "wind10m"],
    "horizon": "72h",
    "model": "auto"
  }'
routed to ecmwf/aifs-singlebest skill · 212 ms · $0.00031

01 / Integrate

Plug it in.

Discover

Self-describing

/v1/describe, /llms.txt, /openapi.json. Learn the whole API in one request.

Connect

MCP, tool call or REST

One tool, get_weather. Forecasts, nowcasts and history.

Start

No key needed

1 000 point-hours a day without signing up. Keys add volume and paid models.

Ask

Loose inputs

"place": "Klagenfurt", "when": "tomorrow afternoon". The response echoes what was understood.

Read

Answers that explain themselves

Units, source model, confidence, next update and a one-line summary.

Recover

Errors with a fix

Typed JSON with suggested_fix, retry_after and a budget cap per call.

02 / Routing

Stop choosing
models by hand.

Every model is scored against observations, daily, per region and lead time. The request goes to the one that is winning.

Routing
POST /v1/forecast 46.62, 14.31 · 72h router skill · latency · price health · freshness ecmwf/aifs-single 0.91 ✓ dwd/icon-eu0.88 noaa/gfs0.79 google/graphcast0.84 200
Route

Pick by what matters

skill, latency, cost or auto.

Fallback

Never a missing forecast

Late run or outage, the next ranked model answers. The response says which.

Normalize

One schema, one set of units

t2m is °C at 2 m, whichever model it came from.

03 / Models

Every model
behind one key.

Physics and AI, global and regional. Price per 1 000 point-hours, skill over the last 30 days.

ecmwf / aifs-single
AIFS

ECMWF's AI forecast. Currently the most routed-to global model on meteorouter.

All 17 models↓
Classification
ProviderECMWF
TypeAI, deterministic
Grid28 km, global
Horizon360 h
Updateevery 6 h
Licenseopen
Routing stats
Skill0.91 overall
T2M0.93
GHI0.88
Wind0.90
Latency210 ms
Price$0.22 / 1k
ModelTypeGridHorizonUpdateLatencySkillPrice
ECMWF IFS (open feed)ecmwf/ifs-opennwp non-hourly0.25°240 h6 h180 ms0.90$0.40
ECMWF AIFSecmwf/aifs-singleai28 km360 h6 h210 ms0.91$0.22
ECMWF ENSecmwf/ensnwp 51 mem9 km360 h6 h640 ms0.89$1.60
NOAA GFSnoaa/gfsnwp13 km384 h6 h150 ms0.79$0.05
NOAA HRRRnoaa/hrrrnwp CONUS3 km48 h1 h160 ms0.86$0.12
DWD ICON-EUdwd/icon-eunwp Europe7 km120 h3 h170 ms0.88$0.08
DWD ICON-D2dwd/icon-d2nwp DACH2 km48 h3 h170 ms0.89$0.10
Météo-France AROMEmeteofrance/aromenwp France1.3 km51 h3 h190 ms0.90$0.14
UKMO Globalukmo/globalnwp10 km168 h6 h200 ms0.85$0.30
GraphCastgoogle/graphcastai28 km240 h6 h190 ms0.84$0.06
GenCastgoogle/gencastai 50 mem28 km360 h12 h420 ms0.90$0.45
FourCastNetnvidia/fourcastnetai28 km240 h6 h160 ms0.80$0.04
Auroramicrosoft/auroraai11 km240 h6 h230 ms0.87$0.12
FuXifudan/fuxiai28 km360 h6 h200 ms0.83$0.05
Satellite nowcastmeteorouter/sat-nowcastnowcast Europe3 km6 h15 min120 ms0.93$0.18
Blend ensemblemeteorouter/blendblendnative360 h1 h350 ms0.94$0.35

Skill = 1 − normalized RMSE vs observations, rolling 30 d, all regions. Per-region and per-variable scores are in the model page.

04 / Modes

Tell it what
you care about.

model takes a provider ID or one of these.

01

auto

Best balance of skill, latency and cost. The default.

most requests
02

skill

Most accurate here, now. Price ignored.

energy trading, aviation
03

latency

Fastest healthy provider.

consumer apps
04

cost

Cheapest model above a skill bar you set.

bulk backfills
05

ensemble

Top models blended, with spread.

risk, PV forecasting

05 / Pricing

Pay per point-hour.
Nothing else.

You pay for what you ask for, not for what the model computes.

Free

$0
50k point-hours / month
  • All open models
  • auto, latency and cost routing
  • Community support
Create key→

Pay as you go

from $0.04 / 1k
billed monthly, no minimum
  • Every model, including ECMWF and ensembles
  • skill and ensemble routing
  • Fallback chains, custom skill bars
  • Usage and skill dashboards
Start for free→

Enterprise

Custom
volume pricing, SLA
  • Private models and your own observations
  • Dedicated routing weights
  • On-prem or VPC deployment
Talk to us→
Points

One location, one variable, one output hour = 1 point-hour, whatever grid the model runs on.

Areas

Billed on the output_resolution you choose, 1 km to 0.25°, whichever model answered.

Time

Billed on the output hours you ask for, not the model's native step.

06 / Principles

The last weather API.

Every model that exists and every model that ships next, behind one endpoint you never replace.

Every model, forever

New models are added the week they ship, scored, and routed to when they win.

No lock-in

Model IDs are the providers’ own names. Leave any time.

Transparent

Every response says which model answered, why, and what it cost.

Observations in the loop

Skill is measured against stations and satellites, never against another model.

Native grids kept

Interpolated to your point, never to a coarser common grid.

Stable contract

v1 never changes shape. Fields are added, never removed.