MAVERICK WX

API

There is no application server. The API is a small set of static JSON objects, served straight from object storage (Cloudflare R2) behind a CDN. Fetch them with a plain GET. A machine-readable schema is at /schema/api-v1.json.

Endpoints

PathWhat it isCache
/api/v1/active.json The global list of active storms — the entry point. Written last each run, so it never references a storm whose objects don't yet exist. Carries degraded (bool) and sources_down (array) so this one object distinguishes an upstream outage from a genuine no-storms result. no-cache
/api/v1/storms/<storm_id>.json Per-storm manifest: the current issuance and the URLs of its three graphics plus the canonical snapshot. Carries a compact summary object (current wind/gust/pressure, movement, position, forecast peak, cone availability) so a client can show intensity without fetching the full snapshot. no-cache
/api/v1/status.json Pipeline-health mirror (generated time, active count, degraded flag). no-cache
/storms/<storm_id>/<issue_ts>/<product>.{png,webp,json} Immutable products: the graphic (PNG master + WebP) and its provenance sidecar. Keyed by issuance time and never overwritten. immutable, 1 year

How to consume it

  1. Fetch /api/v1/active.json.
  2. For each storm, follow its manifest_url to the per-storm manifest.
  3. Use the product png_url / webp_url directly — they are absolute, immutable, and cache forever. There is no latest/ alias; the manifest is the pointer, so an image URL is never stale.

The summary object

Each per-storm manifest carries a summary denormalized from the canonical snapshot, so a reader can show intensity and motion without downloading the full snapshot (which includes the entire forecast and model guidance). Values are raw canonical units; presentation (mph, Saffir-Simpson category, compass points) is the reader's job. Any field is null when the source omits it.

FieldMeaning
max_sustained_wind_ktCurrent max sustained wind (knots).
gust_ktCurrent gust (knots), if reported.
min_pressure_hpaMinimum central pressure (hectopascals).
movement_bearing_deg / movement_speed_ktMotion: bearing (° from north) and speed (knots). A stationary storm has speed 0 and a null bearing.
position_lat / position_lonCurrent center, signed decimal degrees (N+/S−, E+/W−).
peak_forecast_wind_ktHighest max-sustained wind across the official forecast.
has_coneWhether an official NHC cone of uncertainty is available for this storm.

Notes