Public API — v1
The same data the public console shows you, available read-only for your own dashboards and integrations. No cost, no approval queue -- just a Kestrel Listen operator account.
Send your key as a standard bearer token on every request:
curl -H "Authorization: Bearer YOUR_KEY_HERE" \ https://listen.madrock.net:8443/join/api/v1/stats
One active key per account -- generating a new one from My Fleet immediately revokes the old one. If your account's approval is ever revoked, your key stops working automatically.
Fleet-size counters and which nodes carry ADS-B/AIS. No parameters.
{
"nodes_registered": 12,
"operators_registered": 9,
"adsb_node_slugs": ["vk5tcp-node-2", "..."],
"adsb_borrowed": {"some-node": "source-node"},
"ais_node_slugs": ["vk5wi-ptmoo"]
}
Active GNSS interference/spoofing incidents detected across the network. No station identity -- already public/aggregate. No parameters.
{
"interference": [],
"spoofing": [
{
"event_id": "...", "detected_at": "2026-08-21T12:29:12Z",
"latitude_deg": -34.93, "longitude_deg": 138.26,
"affected_signal": "003-1X", "constellation": "Galileo",
"severity": "weak", "confidence": "multi-site-raim", "region": "AU-S"
}
],
"ts": "2026-08-22T01:02:59Z"
}
Current geomagnetic K-index and any active alerts. No parameters.
{
"snapshot": {"source": "bom-sws", "k_index": 1.0, "valid_time": "..."},
"alerts": [],
"ts": "..."
}
Recent FT8/FT4 spots decoded by the network. Query params:
hours (default 6, max 168) and mode
(FT8 or FT4).
{
"spots": [
{
"mode": "FT8", "freq_hz": 14074000, "snr_db": -12,
"sender_call": "VK5XYZ", "sender_grid": "PF95",
"receiver_grid": "PF95he", "message": "CQ VK5XYZ PF95",
"spotted_at": "...", "node_slug": "vk5tcp-node-3", "site_name": "..."
}
]
}
Questions or building something interesting with this? Contact Derek VK5TCP -- we'd like to hear about it. Back to the live console.