IonoFlux API

A free REST API for space weather, ionosphere maps, observed propagation and HF path predictions. JSON everywhere, UTC timestamps, MHz frequencies.

Choose a key for where your code runs

For a website that calls from its backend, choose Server. What matters is where the code using the key runs.

Web: JavaScript on a web page calls the API directly. Set allowed domains; visitors can see this key in their browser.

Server: For Django, Node.js, PHP, serverless functions and batch jobs. Keep the key in server environment variables and never send it to the browser.

Calling from Python? The official Python SDK wraps these endpoints and uses a Server key.

Quick start

Every call needs an API key. Sign in, create a free key on your account page and send it in the X-API-Key header.

Run the curl, Node.js and Python examples below on a server with a Server key.

curl "https://ionoflux.runvia.app/v1/propagation/path?from=Seoul&to=New%20York&frequency=14.074" \
  -H "X-API-Key: ifx_your_key"
// Node.js (server)
const res = await fetch("https://ionoflux.runvia.app/v1/space-weather/current", {
  headers: { "X-API-Key": process.env.IONOFLUX_KEY },
});
const { solar, geomagnetic } = await res.json();
# Python
import os
import requests
r = requests.get("https://ionoflux.runvia.app/v1/propagation/forecast",
                 params={"from": "PM37", "to": "FN20", "hours": 24},
                 headers={"X-API-Key": os.environ["IONOFLUX_KEY"]})
for hour in r.json()["hours"]:
    print(hour["time"], hour["best_band"], hour["best_reliability"])

Main endpoints

GET /v1/propagation/path?from=Seoul&to=New%20York&frequency=14.074Predict a path between two places (coordinates, Maidenhead locator or place name)
GET /v1/propagation/forecast?from=PM37&to=FN20&hours=24Hour-by-hour band reliability for a path (up to 72 h)
GET /v1/space-weather/currentAll current indicators in one call
GET /v1/ionosphere/muf?format=geojsonGlobal MUF / foF2 grid (JSON or GeoJSON)
GET /v1/observations/live?minutes=15&band=20mPaths heard in the last minutes (PSK Reporter + WSPR)
GET /v1/geomagnetic/kpKp history and the 3-day forecast
GET /v1/alertsNOAA alerts and detected sporadic-E openings

The full list of endpoints, parameters and response schemas is in the machine-readable OpenAPI specification. AI assistants can start from llms.txt.

Limits

Free keys: 1,000 requests per UTC day. Every response includes X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.

Attribution

Responses include the upstream source and license. Please credit the original providers (NOAA SWPC, GFZ, SILSO, GIRO, PSK Reporter, WSPRnet, OpenStreetMap) when you publish the data.