HFSIGNALS.LIVE

DEVELOPER API

← Live App

EMBED REAL-TIME HF PROPAGATION IN YOUR SITE

HFSIGNALS.LIVE provides two public APIs that let you bring live HF propagation data directly into your own web pages, blog posts, club sites, or amateur radio dashboards — no API key required.

The Badge API returns a self-contained PNG image updated every 60 seconds. Drop it into any <img> tag — it works in HTML pages, forum signatures, Markdown READMEs, Discord servers, even email clients that render images.

The Audio Report API returns an MP3 file: a spoken propagation briefing generated from live RBN and PSKReporter data, complete with solar conditions. Stream it, embed it in a player, or pipe it to your shack speaker for a hands-free band check.

All endpoints are served over HTTPS. Images are cached for 60 s server-side. Audio reports are cached until underlying data changes. Please be courteous — don't poll faster than once per minute.

BADGE API — PNG SIGNAL METER

Returns a PNG image showing per-band SNR levels across 10 HF bands. The badge updates automatically in the browser because the server sets Cache-Control: public, max-age=60 — refresh the page and the image will pull fresh data within a minute.

GET /badge/region
Shows signal levels received within a named world region as heard from another region. Great for a "how well can I hear Europe right now?" widget.
ParameterTypeDescription
from* string Origin region code — where signals are transmitted from. See region list below.
to* string Destination region code — where signals are heard.
themeopt dark | light | cb Visual theme. Default: dark. cb = colorblind-safe palette.
▶ LIVE EXAMPLES — ENA → EU, ALL THEMES
dark
dark theme
light
light theme
cb
cb theme
HTML EMBED
<!-- Drop this anywhere in your page --> <img src="https://hfsignals.live/badge/region?from=ENA&to=ENA&theme=dark" alt="HF Propagation — ENA" style="border-radius:4px;">
MARKDOWN (GitHub / README)
![HF Propagation](https://hfsignals.live/badge/region?from=ENA&to=ENA&theme=dark)
GET /badge/grid
Shows signal levels heard within a radius of a Maidenhead grid square. Perfect for displaying propagation at your exact QTH — just enter your grid locator.
ParameterTypeDescription
grid* string 4- or 6-character Maidenhead grid locator (e.g. FN30, FN30at).
radiusopt number Radius in miles. Default: 500. Practical range: 100–2000.
themeopt dark | light | cb Visual theme. Default: dark.
▶ LIVE EXAMPLES — FN30, 500 mi radius, ALL THEMES
dark
dark theme
light
light theme
cb
cb theme
HTML EMBED — YOUR QTH
<img src="https://hfsignals.live/badge/grid?grid=FN30&radius=500&theme=dark" alt="HF Propagation at FN30">
AVAILABLE REGION CODES
CodeDescription
ENAEastern North America
CNACentral North America
WNAWestern North America
CARCaribbean
SASouth America
EUEurope
AFAfrica
ASAsia
OCOceania / Pacific
AUDIO REPORT API — SPOKEN PROPAGATION BRIEFING

Returns an MP3 audio file — a synthesized voice report covering current band conditions, active digital and CW modes, solar flux index, K-index, and geomagnetic conditions. Reports are generated fresh when data changes, then cached. Typical length: 30–60 seconds.

GET /audio/region
Spoken propagation report. Specify where you are listening (from) and optionally filter which signal source regions to include (to) and which bands to report on (bands). Embed an <audio> element directly — it streams from the server.
ParameterTypeDescription
from* string Listening region — where the receiver is located. See region codes above.
toopt string Signal source region — where signals originate from. Use a region code or all for all regions. Default: all.
bandsopt string Comma-separated band list: 160m,80m,60m,40m,30m,20m,17m,15m,12m,10m,6m. Default: all bands.
▶ LIVE AUDIO — TEMPORARILY DISABLED

Temporarily disabled. More later...

HTML EMBED — INLINE AUDIO PLAYER
<audio controls src="https://hfsignals.live/audio/region?from=ENA&to=all"> </audio>
GET /audio/grid
Spoken report for signals heard within a radius of a Maidenhead grid square. Ideal for a "what's the band doing at my QTH?" audio widget.
ParameterTypeDescription
grid* string 4- or 6-character Maidenhead grid locator (e.g. FN30).
radiusopt number Listening radius in miles around the grid square. Default: 500.
toopt string Signal source region filter. Use a region code or all. Default: all.
bandsopt string Comma-separated band filter. Default: all bands.
unitopt string mi or km. Default: mi.
▶ LIVE AUDIO — TEMPORARILY DISABLED

Temporarily disabled. More later...

HTML EMBED
<audio controls src="https://hfsignals.live/audio/grid?grid=FN30&radius=500"> </audio>
EMBEDDABLE AUDIO WIDGET

A drop-in JavaScript widget that adds a fully interactive audio propagation report player to any web page. Supports region-to-region and grid-based vantage modes, dark / light / colorblind themes, and streams audio directly from the HFSIGNALS.LIVE server. Just add a <div>, a stylesheet link, and a script tag — no API key, no build step.

WIDGET /embed/audio-widget.js
Self-contained widget. The script creates the player UI inside the target <div>. It calls /audio/region or /audio/grid depending on the selected mode.
AttributeTypeDescription
data-target* string ID of the container <div> where the widget renders.
data-themeopt dark | light | cb Visual theme. Default: dark. cb = colorblind-safe palette.
data-api-originopt string Override the API base URL. Default: same origin as the page. Use https://hfsignals.live when embedding on external sites.
▶ AUDIO WIDGET — TEMPORARILY DISABLED

Temporarily disabled. More later...

EMBED CODE — COPY & PASTE
<!-- 1. Target container --> <div id="hfsignals-audio"></div> <!-- 2. Widget stylesheet --> <link rel="stylesheet" href="https://hfsignals.live/embed/audio-widget.css"> <!-- 3. Widget script (data-theme sets the color scheme) --> <script src="https://hfsignals.live/embed/audio-widget.js" data-target="hfsignals-audio" data-theme="dark"></script>
data-themedark (default), light, or cb (colorblind-safe).
WHO CAN BE HEARD THE BEST? — SIGNAL COMPARISON WIDGET

Compare the signal strength of up to 6 amateur radio callsigns side-by-side on any HF band. The widget polls the Reverse Beacon Network in real time, showing live S-meter readings for each station as heard by RBN skimmers worldwide. Filter by geographic region or individual skimmer stations. Perfect for contest comparisons, antenna testing, or just seeing who's the loudest on the band.

WIDGET /bestSNR
Self-contained widget. Add up to 6 callsigns, select a band, and choose which skimmers or regions to listen from. The widget polls /rbn every 15 seconds and updates the S-meters with EMA-smoothed median SNR values.
▶ LIVE WIDGET EXAMPLE
EMBED CODE — COPY & PASTE
<!-- 1. Target container --> <div id="whoislouder"></div> <!-- 2. Widget stylesheet --> <link rel="stylesheet" href="https://hfsignals.live/embed/whoislouder.css"> <!-- 3. Widget script --> <script src="https://hfsignals.live/embed/whoislouder.js" data-target="whoislouder" data-theme="dark"></script>
data-themedark (default), light, or cb (colorblind-safe). Callsign selections are persisted in the browser's localStorage.
IDEAS & USE CASES
📡 CLUB WEBSITE
Add a live badge to your club's homepage showing current regional propagation. No login, no API key — just an img tag.
🖥️ SHACK DASHBOARD
Embed the audio endpoint in a Raspberry Pi dashboard. Have your shack read you the band conditions when you sit down.
📝 BLOG / README
Paste the Markdown snippet into a GitHub README or WordPress post. The badge auto-refreshes — always current, no maintenance.
📻 NET CONTROL
Trigger the audio API before a net check-in for a quick spoken band report. Pipe the URL to a TTS player or VLC for instant audio.
💬 DISCORD / FORUM
Paste the badge URL directly into a Discord embed or forum post. Many platforms render linked images inline and auto-refresh.
📱 PWA / MOBILE APP
Use the badge as a live widget in your own progressive web app, or call the audio endpoint from a mobile shortcut to speak band conditions.
NOTES & ATTRIBUTION

Signal data is sourced from the Reverse Beacon Network (rbn.rocks) and PSKReporter (pskreporter.info). Solar and geomagnetic data from NOAA Space Weather Prediction Center.

Badges are cached for up to 60 seconds. Audio reports are cached until underlying propagation data changes. Please do not poll faster than once per minute.

Questions, feedback, or custom integration requests: gerry[at]remote.radio