Read thewind.
Global wind, pressure and temperature on a 1 km grid, refreshed every ten minutes. One API.Wind, pressure and temperature on a 1 km grid. One API.
Isobar is fictional. The field is synthetic.
[ + ] Point to probeScroll to run the forecast ↓Scroll ↓
[ LAYER 01 / 03 · WIND · T+18H ]
Cyclone
Wind arrives as two numbers per cell — speed and bearing — at 10 m and 100 m above ground. Ask for a point, a line or a box. Storm cores are resolved, not smoothed away.
- Grid
- 1 km
- Cadence
- 10 min
[ LAYER 03 / 03 · TEMPERATURE · T+42H ]
Thermal
Air temperature at two metres, plus the dew point and the freezing level. The model is checked against itself every hour; the bias column tells you how far to trust it.
- Height
- 2 m
- Bias
- ±0.4 °C
[ ALOFT · 250 HPA · T+54H ]
Jet stream
Above the weather is the wind that moves it. Isobar serves 14 pressure levels up to 100 hPa, so a route at cruise altitude reads the same field as a turbine at hub height.
- Level
- 250 hPa
- Peak
- 92 m/s
[ ONE CELL · T+72H ]
Endpoint
GET /v1/wind?lat=-31.20&lon=-142.60&at=T+72h
"speed_ms": 12.4,"bearing_deg": 271,"gust_ms": 17.9,"pressure_hpa": 1008.2,"model": "isobar-synthetic-01"
[ 01 / 04 · Docs ]
One call.
Every layer answers the same request shape: a place, a time, a level. Pick a layer to see the call and the reply.
Request
curl api.isobar.example/v1/wind \
-G -d lat=-31.20 -d lon=-142.60 \
-d at=T+72h -d level=100m \
-H "Authorization: Bearer $ISOBAR_KEY"
Response · 200
{
"cell": "S31.20 W142.60",
"at": "T+72h",
"level": "100m",
"speed_ms": 12.4,
"bearing_deg": 271,
"gust_ms": 17.9,
"model": "isobar-synthetic-01"
}
Request
curl api.isobar.example/v1/pressure \
-G -d bbox=-150,-40,-130,-20 \
-d at=T+30h -d contours=4 \
-H "Authorization: Bearer $ISOBAR_KEY"
Response · 200
{
"at": "T+30h",
"interval_hpa": 4,
"lowest_hpa": 968,
"pressure_hpa": 1008.2,
"contours": "FeatureCollection · 17 lines",
"model": "isobar-synthetic-01"
}
Request
curl api.isobar.example/v1/temperature \
-G -d lat=-31.20 -d lon=-142.60 \
-d at=T+42h -d height=2m \
-H "Authorization: Bearer $ISOBAR_KEY"
Response · 200
{
"at": "T+42h",
"temp_c": 18.6,
"dew_point_c": 11.2,
"freezing_level_m": 3420,
"bias_c": 0.4,
"model": "isobar-synthetic-01"
}
- Grid
- 1 km
- Cadence
- 10 min
- Horizon
- 72 h
- Latency
- p95 120 ms (fictional)
- Stations
- ISB-0417 12.4 m/s 271° · ISB-0903 17.9 m/s 302° · ISB-1102 3.3 m/s 145° (fictional)
[ 02 / 04 · Cases ]
Who reads it.
-
[ Route ]
Logistics
Reroute a fleet around tomorrow's gale, not today's.
−6.2 %Fuel
-
[ Yield ]
Wind farms
Forecast hub-height wind for every turbine, ten minutes ahead.
±0.9 m/sError
-
[ Warn ]
App builders
Push a gust alert to the people under it, nobody else.
40 kmRadius
All figures are fictional.
[ 03 / 04 · Pricing ]
Pricing.
-
[ Breeze ]
$0/ mo
- 10k calls
- Wind only
- 1 h cadence
-
[ Gale · Most read ]
$290/ mo
- 2M calls
- All layers
- 10 min cadence
- 14 levels
-
[ Storm ]
$1,900/ mo
- Unlimited calls
- SLA
- Contours as GeoJSON
- Priority support
Prices are fictional. Isobar is a design template.
[ 04 / 04 · FAQ ]
FAQ.
Is this real weather data?
No. Isobar and its field are fictional; the wind on this page is a synthetic model built for a design template.
Why particles instead of a map?
Because wind is a motion, not a colour. Each line is one parcel of air moving for a few seconds.
Can I stop the motion?
Yes. Hold in the top strip freezes the wind and the ticker; reduced-motion settings show still frames.
What does T+72h mean?
Hours ahead of the model run. Scrolling the page plays the forecast forward.
Does it work without WebGL?
You get the same six frames as still images, in order.