Fusion Space

Window

Launch weather for high-power rocketry — surface wind against the limit, winds aloft, ceiling, and a multi-day outlook for any US field. It shows the data and the limits; the go/no-go call is yours.

API

A free, read-only JSON API for the current modeled conditions at every curated US launch field — wind and steadiness, density altitude, storm potential, the moisture read, sky, air quality, and today's peaks. No API key, no rate limits, no cost. CORS-open (Access-Control-Allow-Origin: *) — call it straight from a browser. It's static JSON — no query parameters; fetch a file and filter client-side. Refreshed about hourly; check meta.json for the exact generated_at.

Base URL

https://window.fusionspace.co/api/v1

EndpointReturns
/conditions.jsonThe feed — current conditions at every field: wind, steadiness, density altitude, storm potential, moisture, sky, and today's peaks.
/conditions.geojsonThe same feed as a GeoJSON FeatureCollection — drop it straight into Leaflet, Mapbox, QGIS, or kepler.gl.
/sites.jsonThe curated field roster — name, state, slug, coordinates, board link. Static, no weather data.
/sites/{slug}.jsonOne field on its own — the same conditions for a single site, keyed by its slug (e.g. /sites/sears-samson.json).
/meta.jsonSelf-describing metadata: schema version, generation time, counts, endpoints, docs, license.
/openapi.jsonOpenAPI 3.1 specification for the endpoints above.

Try it

# the calmest field right now
curl -s https://window.fusionspace.co/api/v1/conditions.json \
  | jq '.sites | sort_by(.wind_mph)[0]'

# just one field, by its slug
curl -s https://window.fusionspace.co/api/v1/sites/sears-samson.json | jq '.site.density_altitude_ft'

Response shape

conditions.json is { schema_version, generated_at, model, count, sites[] }. Each entry in sites:

FieldTypeNotes
namestringField name, e.g. "SEARS — Samson".
statestringUSPS two-letter code.
slugstringStable URL-safe id — also the per-site filename (/sites/{slug}.json).
lat / lonnumberApproximate launch-area coordinates (~1 km).
urlstringDeep link to this field's interactive board.
wind_mphnumberSustained surface wind (10 m), mph — rounded.
gust_mphnumber | nullGust, mph (rounded) — null when the model omits it.
dir_degnumberDirection the wind blows FROM, degrees (rounded).
steadiness"steady" | "gusty" | "very-gusty" | nullHow much the gusts overshoot the sustained wind — the turbulence the sustained limit misses.
temp_fnumber | nullTemperature, °F (rounded).
apparent_temp_fnumber | null"Feels like" temperature, °F (rounded).
humidity_pctnumber | nullRelative humidity, % (rounded).
dewpoint_fnumber | nullDew point, °F — a tight spread with temp_f warns of fog/condensation on cold gear.
pressure_hpanumber | nullStation (surface) pressure, hPa (rounded).
density_altitude_ftnumber | nullDensity altitude, ft (to 10) — thin air cuts thrust and speeds descent. The number to watch on a hot, high day.
cape_jkgnumber | nullConvective energy (CAPE), J/kg (rounded).
storm"none" | "marginal" | "moderate" | "strong" | nullStorm-potential band from CAPE (SPC bands).
cloud_cover_pctnumber | nullCloud cover, % (rounded).
weather_codenumber | nullWMO weather-interpretation code.
conditionsstring | nullShort sky/precip label from weather_code — e.g. "Clear", "Overcast", "Thunderstorm".
is_dayboolean | nullDaylight flag (true = day).
aqinumber | nullUS EPA Air Quality Index (0–500). null if the Air-Quality API was unreachable.
aqi_category"good" | "moderate" | "usg" | "unhealthy" | "very-unhealthy" | "hazardous" | nullEPA AQI band — smoke/haze cuts tracking visibility.
pm2_5 / pm10number | nullFine (≈ smoke) and coarse (≈ dust) particulate, µg/m³.
tone"emerald" | "amber" | "red"Against the 20 mph line: emerald < 15, amber 15–20, red ≥ 20 mph.
todayobject | nullToday's peaks + daylight: max_wind_mph, max_gust_mph, dominant_dir_deg, high_f, low_f, precip_in, precip_chance_pct, sunrise, sunset.

generated_at is null, and sitesmay be empty, if the most recent refresh couldn't reach the provider. Fields with no usable wind are omitted.

Terms & honesty

  • Modeled, not observed. This is model surface wind (gfs_seamless), not live station readings. It leans the picture; it is not authoritative — open a field's full board, or confirm at the field, before you fly.
  • Best-effort & provided as-is. Coordinates are approximate launch-area points (~1 km), the feed can be up to an hour stale (or empty on a failed refresh), and it comes with no warranty — verify before relying on it.
  • Free to use; attribution appreciated. A credit to window.fusionspace.co is appreciated. Weather data by Open-Meteo (CC BY 4.0). The code itself is under the repo's MIT license — fork it, deploy your own.

Source and issues on GitHub. Prefer the picker? Back to Window.