API
All Monitoring data is open and free to use.
Read endpoints below. Stable JSON. Vercel-edge cached. Cite us, embed us, build on us.
Quick examples
curl https://monitoringroom.com/api/msi
const res = await fetch("https://monitoringroom.com/api/msi");
const { score, band, trend } = await res.json();
console.log(`MSI ${score} (${band}, ${trend})`);import requests
data = requests.get("https://monitoringroom.com/api/msi").json()
print(f"MSI {data['score']} ({data['band']}, {data['trend']})")Index
/api/msiCurrent MSI score with components, weights, and trend.
{"score":6.4,"trend":"rising","delta":0.6,"band":"escalating","components":{"volume":0.62,"velocity":0.71,"spread":0.55,"sentiment":0.5,"crossCorr":0.4},"weights":{...},"asOf":"2026-05-23T14:32:00.000Z","history":[...60 samples]}Cache: 60s edge + 120s SWR
/api/msi/historyFull 24h rolling MSI history (1440 samples max).
{"samples":[{"t":1747918320000,"score":6.4},...],"count":1440,"asOf":"2026-05-23T14:32:00.000Z","persistent":true}Cache: no-cache · uses Upstash KV
Situations
/api/situationsList of currently active Situations, sorted by level.
[{"id":"seismic-us7000abcd","title":"Seismic event — ...","status":"developing","level":6.9,"tier":3,"category":"seismic","signals":[...],"source":"USGS","updatedAt":1747918320000,"href":"https://earthquake.usgs.gov/..."}]Cache: 60s edge + 120s SWR
/api/situations/[id]Single Situation by id. 404 if no longer active.
(same shape as a single array element above)
Cache: 60s edge
/api/situations/[id]/narrationAI-generated context paragraph + historical comparison + watch-next.
Tier 3 (sober) narration uses stricter editorial guardrails — no metaphors, no 'dramatic'/'wild'.
{"whatWeKnow":"...","historicalComparison":"...","watchNext":"...","model":"claude-sonnet-4-5","tier":3,"generatedAt":"..."}Cache: 5min edge + 10min SWR · 1h Upstash key
/api/situations/[id]/marketsPolymarket questions the Situation could plausibly move (confidence ≥ 0.6).
{"matches":[{"question":"...","probability":0.41,"volume24hr":124000,"slug":"...","category":"Geopolitics","polymarketUrl":"...","confidence":0.78,"reasoning":"..."}],"model":"claude-haiku-4-5","candidateCount":25,"generatedAt":"..."}Cache: 5min edge · 30min Upstash key for matches, 60s for odds
/api/situations/[id]/forecastEditorial direction + horizon + confidence. Not financial advice.
{"horizon":"6h","direction":"escalating","confidencePct":68,"reasoning":"...","model":"claude-sonnet-4-5","tier":3,"generatedAt":"..."}Cache: 5min edge · 30min Upstash key
/api/situations/[id]/biasSource tone distribution for headline-cluster Situations only.
Returns 422 if the Situation is not a headline cluster (categories other than 'headlines' don't have a corpus to audit).
{"distribution":{"concerned":0.68,"neutral":0.22,"celebratory":0.10},"articles":[{"domain":"...","title":"...","tone":"concerned"}],"totalSampled":20,"model":"claude-sonnet-4-5","generatedAt":"..."}Cache: 10min edge · 1h Upstash key
Feeds
/api/alertsChronological merged feed across all sources (breaking, quakes, cyber, hacks, space launches).
[{"id":"...","source":"QUAKE","title":"...","url":"...","timestamp":1747918320000,"tag":"M5.4"}]Cache: 60s edge + 180s SWR
/api/map-pinsGeo-located pins for all active flights, recent earthquakes, and the ISS.
{"pins":[{"id":"...","kind":"FLIGHT","lat":40.6,"lon":-73.8,"label":"...","tag":"..."}],"counts":{"flights":80,"quakes":5,"iss":1},"asOf":"..."}Cache: 30s edge + 60s SWR
MSI embed widget
Drop the live MSI into any blog post, news site, or dashboard. Updates every 60 seconds. Dark and light themes.
<iframe src="https://monitoringroom.com/embed/msi"
width="240" height="80" frameborder="0"></iframe><iframe src="https://monitoringroom.com/embed/msi?theme=light&size=medium"
width="280" height="100" frameborder="0"></iframe>Attribution
No attribution required, but linking back to monitoringroom.com keeps the brand asset honest. Cite as "Monitoring Situation Index" on first reference and "MSI" thereafter.
Upstream data
Built on free, commercial-OK feeds: GDELT 2.0, CoinGecko, stooq, USGS, NIST NVD, WhereTheISS, Launch Library 2, DefiLlama, Polymarket, AIS. Map basemap by OpenFreeMap + OpenStreetMap contributors. We don't paywall anyone else's data — see /msi for the full methodology.