Monitoring

Monitoring API — free, no key required

All Monitoring data is open and free to use.

Read endpoints below. Stable JSON, Vercel-edge cached, no key and no rate limit. Cite us, embed us, build on us.

Quick examples

curl
curl https://monitoringroom.com/api/msi
JavaScript
const res = await fetch("https://monitoringroom.com/api/msi");
const { score, band, trend } = await res.json();
console.log(`MSI ${score} (${band}, ${trend})`);
Python
import requests
data = requests.get("https://monitoringroom.com/api/msi").json()
print(f"MSI {data['score']} ({data['band']}, {data['trend']})")

Index

GET/api/msi

Current MSI score with components, weights, and trend.

{"score":6.4,"trend":"rising","delta":0.6,"band":"escalating","measured":true,"freshness":"fresh","missingInputs":[],"components":{"market":0.62,"seismic":0.3,"velocity":0.55},"weights":{"market":0.4,"seismic":0.35,"velocity":0.25},"sources":[...],"asOf":"2026-05-23T14:32:00.000Z","history":[...60 samples],"persistent":true}

Cache: 60s edge · 24h SWR · 30s browser

GET/api/msi/history

Full 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: 60s edge · 24h SWR · Upstash KV

Situations

GET/api/situations

List of currently active Situations, sorted by level.

[{"id":"seismic-us7000abcd","title":"Seismic event — ...","status":"developing","level":6.9,"tier":3,"category":"seismic","relatedCategories":[...],"signals":[...],"source":"USGS","updatedAt":1747918320000,"href":"https://earthquake.usgs.gov/...","lat":38.1,"lon":-117.9,"country":"US"...(geo optional)}]

Cache: 60s edge · 24h SWR · 30s browser

GET/api/situations/[id]

Single Situation by id. 404 if no longer active.

(same shape as a single array element above)

Cache: 60s edge · 24h SWR · 30s browser

Feeds

GET/api/alerts

Chronological merged feed across all sources (breaking, quakes, cyber, hacks, space launches).

[{"id":"...","source":"QUAKE","title":"...","url":"...(optional)","timestamp":1747918320000,"tag":"M5.4"}]

Cache: 5min edge · 24h SWR

GET/api/map-pins

Geo-located pins for all active flights, recent earthquakes, and the ISS.

{"pins":[{"id":"...","kind":"QUAKE","lat":40.6,"lon":-73.8,"label":"...","tag":"..."}],"counts":{"quakes":5,"iss":1,"vessels":80},"asOf":"..."}

Cache: 30s edge · 24h SWR · 15s browser

Monitoring Pro · early access

The free API stays free. Pro adds higher rate limits, full history, and webhooks — for teams building on the feed.

Leave your email to hear when it opens. One email, no marketing.

MSI embed widget

Drop the live MSI into any blog post, news site, or dashboard. Updates every 60 seconds. Dark and light themes. Keep the credit line — it is the only condition.

Dark theme (default, 240×80)
<iframe src="https://monitoringroom.com/embed/msi"
        width="240" height="80" frameborder="0"></iframe>
<p style="font-size:13px"><a href="https://monitoringroom.com/msi?ref=embed">Monitoring Situation Index</a> by <a href="https://monitoringroom.com?ref=embed">Monitoring Room</a></p>
Light theme, medium size
<iframe src="https://monitoringroom.com/embed/msi?theme=light&size=medium"
        width="280" height="100" frameborder="0"></iframe>
<p style="font-size:13px"><a href="https://monitoringroom.com/msi?ref=embed">Monitoring Situation Index</a> by <a href="https://monitoringroom.com?ref=embed">Monitoring Room</a></p>

Attribution

Citing the data costs nothing and needs no permission. Use "Monitoring Situation Index" on first reference, "MSI"thereafter. The embed widgets above are the one exception: each snippet ships a one-line credit in your own page's markup — keep it, and the widget is yours to use free.

Upstream data

CoinGecko · stooq · USGS · NIST NVD · WhereTheISS · Launch Library 2 · DefiLlama · Polymarket · AIS. Map: OpenFreeMap + OpenStreetMap. Methodology at /msi.