Live EMF dashboard
Poll /api/v1/sensors every 3s. Plot EMF/EF/RF on a single chart with downsampled history.
Developer docs · v1
Public, read-only, edge-cached API. Three sensor axes (EMF, EF, RF), live transmission feed, entropy analysis, AI chat, newsletter, and reproducible random numbers derived from electromagnetic phenomena.
Base URL
https://ghost.megabyte.space
sensor.gq_emf390_emf_mg
sensor.gq_emf390_ef_v_m
sensor.gq_emf390_rf_total_density_mw_m2
GQ EMF-390 tri-axis meter. Cron storage: one D1 snapshot per minute per sensor.
Earliest retained reading: 2026-04-03T02:47:58.394637+00:00.
What you can build
Four real projects worth shipping with this signal.
Poll /api/v1/sensors every 3s. Plot EMF/EF/RF on a single chart with downsampled history.
Hash a window of EMF snapshots into a deterministic uint32. Use it for art, lotteries, or test fixtures.
Random & exports →One =IMPORTDATA() cell pulls every reading. Auto-refreshes hourly. No code, no auth.
Stream every hotline call and chat message into your app via /api/v1/transmissions/live.
Endpoint map
Skim the surface here, then jump into the live reference for schemas and try-it-out.
/api/v1/sensors/api/v1/ghost-emf/current/api/v1/ghost-emf/history/api/v1/ghost-emf/entropy/api/v1/ghost-emf/meta/api/v1/ghost-emf/timeline/api/v1/ghost-emf/snapshot/api/v1/ghost-emf/export/api/v1/ghost-emf/google-sheets/api/v1/ghost-emf/random/api/v1/transmissions/live/api/v1/transmission-count/api/v1/chat/api/v1/newsletter/subscribe/healthCaching
Edge-cached at Cloudflare to protect the upstream sensor. Cache behavior varies by data center.
Rate limits & tracing
Read-only and rate-limited per IP via KV counters. Every response carries tracing headers.
X-Request-ID — unique request identifierX-RateLimit-Limit — total budget per windowX-RateLimit-Remaining — remaining callsQuickstart
curl https://ghost.megabyte.space/api/v1/sensors
const sensors = await fetch(
"https://ghost.megabyte.space/api/v1/sensors"
).then(r => r.json())
console.log(sensors.emf.numericValue) // 0.8 mG
console.log(sensors.ef.numericValue) // 2.1 V/m
console.log(sensors.rf.numericValue) // 0.003 mW/m²
import requests
sensors = requests.get(
"https://ghost.megabyte.space/api/v1/sensors",
timeout=10,
).json()
print(f"EMF: {sensors['emf']['numericValue']} mG")
=IMPORTDATA("https://ghost.megabyte.space/api/v1/ghost-emf/export?format=csv")
let latest = null
setInterval(async () => {
const params = latest ? `?since=${latest}` : ""
const res = await fetch(`/api/v1/transmissions/live${params}`)
const data = await res.json()
if (data.latestAt) latest = data.latestAt
data.entries.forEach(e => console.log(e.type, e.content || e.transcript))
}, 5000)
Ready to ship
Schemas, parameters, response examples, and one-click try-it-out for every endpoint.