Every panel on this site is fed by open JSON endpoints, refreshed every 1–5 minutes from an independent monitoring platform (own AIS receiver + archived BC Ferries operating data). You're welcome to build on them. Please cache for ≥60 s (responses carry CDN cache headers), credit Salish Ops, and note that AIS-derived values are observations, not official BC Ferries data.
| Endpoint | Contents |
|---|---|
| /api/latest | Latest position per tracked vessel (49 ships: BC Ferries fleet, Hullo, Black Ball, FRS Clipper) |
| /api/tracks?hours=6|24|72 | Position tracks per vessel: [time, lat, lon, speed kn] |
| /api/sailings | Today's sailings: scheduled/actual departure & arrival, booking fill, delays (capacity routes) |
| /api/summary · /api/ops | Live KPIs: on-time %, average delay, utilization, sailing health scores |
| /api/punctuality?days=1|3|7 | Per-route arrival punctuality (median, p90, on-time %) |
| /api/drill | Per-sailing booking-fill curves, per-vessel recent crossings (with modelled fuel/CO₂) |
| /api/extras | AIS-detected missed sailings, berth turnarounds, weather impact, sellout forecasts + calibration, vessel drift |
| /api/experience | X-meets-O: daily rider sentiment (public Reddit posts) joined to on-time %, sellouts and weather |
| /api/retro | Predictions-vs-reality backtest for a given day (default yesterday) |
| /api/intel | Intelligence bundle: health score, executive brief, cascade delay predictions, passenger delay cost, recommendations, patterns, bottleneck attribution, vessel/terminal profiles, simulator parameters |
| /api/impact · /api/report | Estimated passenger-delay minutes, sellout stats, collection counters |
| /api/weather · /api/notices | Hourly wind (Open-Meteo), marine warnings, service notices (archived), road events |
| /api/digest_index · /api/digest_YYYY-MM-DD | Auto-generated daily summaries |
curl -s https://salish-ops.ca/api/summary | jq .
Provenance is labelled throughout: AIS · observed means measured by radio; BC Ferries · published means archived from the operator's public feeds; estimates state their assumptions inline. The public mirror carries 72 h of track history; data updates roughly every minute. No key required. Independent project; not affiliated with British Columbia Ferry Services Inc.